diff options
Diffstat (limited to 'src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views')
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; + } } |