summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views
diff options
context:
space:
mode:
Diffstat (limited to 'src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views')
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/ClusterSummaryView.java17
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/AbstractTableViewerPage.java29
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/BricksPage.java6
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/GlusterServersPage.java7
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/ServersPage.java7
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/TasksPage.java7
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumesPage.java7
7 files changed, 74 insertions, 6 deletions
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/ClusterSummaryView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/ClusterSummaryView.java
index b459c361..6be9f8d9 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/ClusterSummaryView.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/ClusterSummaryView.java
@@ -22,6 +22,7 @@ package com.gluster.storage.management.console.views;
import java.util.List;
+import org.eclipse.jface.fieldassist.ControlDecoration;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
@@ -64,7 +65,6 @@ import com.gluster.storage.management.core.model.Server.SERVER_STATUS;
import com.gluster.storage.management.core.model.ServerStats;
import com.gluster.storage.management.core.model.Status;
import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.core.utils.NumberUtil;
/**
*
@@ -229,18 +229,17 @@ public class ClusterSummaryView extends ViewPart {
double totalDiskSpace = cluster.getTotalDiskSpace();
double diskSpaceInUse = cluster.getDiskSpaceInUse();
- Double[] values = new Double[] { diskSpaceInUse, totalDiskSpace - diskSpaceInUse };
+ Double[] values = new Double[] { diskSpaceInUse / 1024, (totalDiskSpace - diskSpaceInUse) / 1024 };
createDiskSpaceChart(section, values);
}
private void createDiskSpaceChart(Composite section, Double[] values) {
- String[] categories = new String[] { "Used Space: " + NumberUtil.formatNumber((values[0] / 1024)) + " GB",
- "Free Space: " + NumberUtil.formatNumber((values[1] / 1024)) + " GB" };
+ String[] categories = new String[] { "Used Space (GB)", "Free Space (GB)" };
ChartViewerComposite chartViewerComposite = new ChartViewerComposite(section, SWT.NONE, categories, values);
GridData data = new GridData(SWT.FILL, SWT.FILL, false, false);
data.widthHint = 400;
- data.heightHint = 170;
+ data.heightHint = 180;
data.verticalAlignment = SWT.CENTER;
chartViewerComposite.setLayoutData(data);
}
@@ -261,6 +260,11 @@ public class ClusterSummaryView extends ViewPart {
private void addAlertLabel(Composite section, Alert alert) {
CLabel lblAlert = new CLabel(section, SWT.FLAT);
+ GridData layoutData = new GridData();
+ layoutData.widthHint = 400;
+ layoutData.horizontalIndent = 20;
+ lblAlert.setLayoutData(layoutData);
+
Image alertImage = null;
switch (alert.getType()) {
case OFFLINE_VOLUME_BRICKS_ALERT:
@@ -282,8 +286,9 @@ public class ClusterSummaryView extends ViewPart {
alertImage = guiHelper.getImage(IImageKeys.VOLUME_OFFLINE_22x22);
break;
}
- lblAlert.setImage(alertImage);
lblAlert.setText(alert.getMessage());
+ ControlDecoration dec = new ControlDecoration(lblAlert, SWT.LEFT);
+ dec.setImage(alertImage);
lblAlert.redraw();
}
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/AbstractTableViewerPage.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/AbstractTableViewerPage.java
index 06b9ed95..c80740f3 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/AbstractTableViewerPage.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/AbstractTableViewerPage.java
@@ -28,17 +28,21 @@ import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.ISelectionListener;
import org.eclipse.ui.IWorkbenchPart;
@@ -49,6 +53,7 @@ import org.eclipse.ui.forms.widgets.Hyperlink;
import com.gluster.storage.management.console.GlusterDataModelManager;
import com.gluster.storage.management.console.utils.GUIHelper;
+import com.gluster.storage.management.console.utils.TableViewerComparator;
import com.gluster.storage.management.core.model.ClusterListener;
public abstract class AbstractTableViewerPage<T> extends Composite implements ISelectionListener {
@@ -223,8 +228,32 @@ public abstract class AbstractTableViewerPage<T> extends Composite implements IS
// Create a case insensitive filter for the table viewer using the filter text field
guiHelper.createFilter(tableViewer, filterText, false);
+
+ tableViewer.setComparator(createViewerComparator());
+ for (int columnIndex = 0; columnIndex < tableViewer.getTable().getColumnCount(); columnIndex++) {
+ TableColumn column = tableViewer.getTable().getColumn(columnIndex);
+ column.addSelectionListener(getColumnSelectionAdapter(column, columnIndex));
+ }
+ }
+
+ private SelectionAdapter getColumnSelectionAdapter(final TableColumn column, final int columnIndex) {
+ return new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ ViewerComparator viewerComparator = tableViewer.getComparator();
+ if(viewerComparator instanceof TableViewerComparator) {
+ TableViewerComparator comparator = (TableViewerComparator)viewerComparator;
+ comparator.setColumn(columnIndex);
+ tableViewer.getTable().setSortDirection(comparator.getDirection());
+ tableViewer.getTable().setSortColumn(column);
+ tableViewer.refresh();
+ }
+ }
+ };
}
+ protected abstract ViewerComparator createViewerComparator();
+
/* (non-Javadoc)
* @see org.eclipse.ui.ISelectionListener#selectionChanged(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
*/
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/BricksPage.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/BricksPage.java
index 5d526c32..674074c3 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/BricksPage.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/BricksPage.java
@@ -25,6 +25,7 @@ import java.util.Map;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.IContentProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
@@ -114,4 +115,9 @@ public class BricksPage extends AbstractTableViewerPage<Brick> {
protected List<Brick> getAllEntities() {
return bricks;
}
+
+ @Override
+ protected ViewerComparator createViewerComparator() {
+ return null;
+ }
} \ No newline at end of file
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/GlusterServersPage.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/GlusterServersPage.java
index 8be17b24..3ef05a2a 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/GlusterServersPage.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/GlusterServersPage.java
@@ -24,6 +24,7 @@ import org.eclipse.jface.layout.TableColumnLayout;
import org.eclipse.jface.viewers.ColumnWeightData;
import org.eclipse.jface.viewers.IBaseLabelProvider;
import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
@@ -32,6 +33,7 @@ import org.eclipse.ui.IWorkbenchSite;
import com.gluster.storage.management.console.EntityGroupContentProvider;
import com.gluster.storage.management.console.GlusterServerTableLabelProvider;
+import com.gluster.storage.management.console.utils.TableViewerComparator;
import com.gluster.storage.management.core.constants.CoreConstants;
import com.gluster.storage.management.core.model.ClusterListener;
import com.gluster.storage.management.core.model.DefaultClusterListener;
@@ -54,6 +56,11 @@ public class GlusterServersPage extends AbstractTableViewerPage<GlusterServer> {
super(site, parent, style, true, true, servers);
this.glusterServers = servers.getEntities();
}
+
+ @Override
+ protected ViewerComparator createViewerComparator() {
+ return new TableViewerComparator();
+ }
@Override
protected ClusterListener createClusterListener() {
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/ServersPage.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/ServersPage.java
index 99945b31..d97827c6 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/ServersPage.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/ServersPage.java
@@ -24,6 +24,7 @@ import org.eclipse.jface.layout.TableColumnLayout;
import org.eclipse.jface.viewers.ColumnWeightData;
import org.eclipse.jface.viewers.IBaseLabelProvider;
import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
@@ -128,4 +129,10 @@ public class ServersPage extends AbstractTableViewerPage<Server> {
TableColumnLayout tableColumnLayout = (TableColumnLayout) table.getParent().getLayout();
tableColumnLayout.setColumnData(column, new ColumnWeightData(weight));
}
+
+ @Override
+ protected ViewerComparator createViewerComparator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/TasksPage.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/TasksPage.java
index d54b501d..c166af0f 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/TasksPage.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/TasksPage.java
@@ -27,6 +27,7 @@ import org.eclipse.jface.viewers.IBaseLabelProvider;
import org.eclipse.jface.viewers.IContentProvider;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
@@ -141,4 +142,10 @@ public class TasksPage extends AbstractTableViewerPage<TaskInfo> {
}
}
}
+
+ @Override
+ protected ViewerComparator createViewerComparator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumesPage.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumesPage.java
index 01d3e7b0..484f91b0 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumesPage.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumesPage.java
@@ -24,6 +24,7 @@ import org.eclipse.jface.layout.TableColumnLayout;
import org.eclipse.jface.viewers.ColumnWeightData;
import org.eclipse.jface.viewers.IBaseLabelProvider;
import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
@@ -125,4 +126,10 @@ public class VolumesPage extends AbstractTableViewerPage<Volume> {
protected List<Volume> getAllEntities() {
return volumes;
}
+
+ @Override
+ protected ViewerComparator createViewerComparator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
}