diff options
| author | Dhandapani <dhandapani@gluster.com> | 2011-06-10 12:04:06 +0530 |
|---|---|---|
| committer | Dhandapani <dhandapani@gluster.com> | 2011-06-10 12:27:54 +0530 |
| commit | 136fddd058fb8f7c6e98e27f17f7379b96760a2e (patch) | |
| tree | 0ca7148304aed2e58089f0613ce62675f00418f8 /src/com.gluster.storage.management.gui | |
| parent | 3c5b8b46c2f64e36efb6df938bd2d02c7475ecfc (diff) | |
Checkbox selection enabled on Bricks page, Volumes page and Disk page
Diffstat (limited to 'src/com.gluster.storage.management.gui')
4 files changed, 40 insertions, 22 deletions
diff --git a/src/com.gluster.storage.management.gui/plugin.xml b/src/com.gluster.storage.management.gui/plugin.xml index f4c3c8f6..76d36d5c 100644 --- a/src/com.gluster.storage.management.gui/plugin.xml +++ b/src/com.gluster.storage.management.gui/plugin.xml @@ -912,6 +912,18 @@ </view> <view closeable="false" + id="com.gluster.storage.management.gui.views.VolumeBricksView" + minimized="false" + moveable="false" + ratio="0.30f" + relationship="stack" + relative="com.gluster.storage.management.gui.views.ClusterSummaryView" + showTitle="true" + standalone="false" + visible="false"> + </view> + <view + closeable="false" id="com.gluster.storage.management.gui.views.VolumeOptionsView" minimized="false" moveable="false" diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/AbstractBricksPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/AbstractBricksPage.java index c752a488..412a1ef2 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/AbstractBricksPage.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/AbstractBricksPage.java @@ -55,7 +55,7 @@ import com.gluster.storage.management.gui.utils.GUIHelper; public abstract class AbstractBricksPage extends Composite implements IEntityListener { protected final FormToolkit toolkit = new FormToolkit(Display.getCurrent()); - protected TableViewer tableViewer; + protected CheckboxTableViewer tableViewer; private IWorkbenchSite site; protected static final GUIHelper guiHelper = GUIHelper.getInstance(); @@ -134,13 +134,16 @@ public abstract class AbstractBricksPage extends Composite implements IEntityLis return tableViewerComposite; } - private TableViewer createBrickTableViewer(Composite parent) { + private CheckboxTableViewer createBrickTableViewer(Composite parent) { tableViewer = CheckboxTableViewer.newCheckList(parent, SWT.FLAT | SWT.FULL_SELECTION | SWT.MULTI ); tableViewer.setLabelProvider(getTableLabelProvider()); tableViewer.setContentProvider(new ArrayContentProvider()); setupDiskTable(parent, tableViewer.getTable()); + + // make sure that table selection is driven by checkbox selection + guiHelper.configureCheckboxTableViewer(tableViewer); return tableViewer; } diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/AbstractDisksPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/AbstractDisksPage.java index 6b516019..105fa824 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/AbstractDisksPage.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/AbstractDisksPage.java @@ -39,26 +39,22 @@ import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.IWorkbenchSite; -import org.eclipse.ui.PartInitException; import org.eclipse.ui.forms.events.HyperlinkAdapter; import org.eclipse.ui.forms.events.HyperlinkEvent; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.ImageHyperlink; -import org.eclipse.ui.progress.IProgressConstants; -import com.gluster.storage.management.core.exceptions.GlusterRuntimeException; import com.gluster.storage.management.core.model.Disk; -import com.gluster.storage.management.core.model.Entity; import com.gluster.storage.management.core.model.Disk.DISK_STATUS; +import com.gluster.storage.management.core.model.Entity; import com.gluster.storage.management.gui.Application; import com.gluster.storage.management.gui.IEntityListener; -import com.gluster.storage.management.gui.IImageKeys; import com.gluster.storage.management.gui.jobs.InitializeDiskJob; import com.gluster.storage.management.gui.utils.GUIHelper; public abstract class AbstractDisksPage extends Composite implements IEntityListener { protected final FormToolkit toolkit = new FormToolkit(Display.getCurrent()); - protected TableViewer tableViewer; + protected CheckboxTableViewer tableViewer; private IWorkbenchSite site; protected static final GUIHelper guiHelper = GUIHelper.getInstance(); @@ -231,13 +227,16 @@ public abstract class AbstractDisksPage extends Composite implements IEntityList return tableViewerComposite; } - private TableViewer createDiskTableViewer(Composite parent) { + private CheckboxTableViewer createDiskTableViewer(Composite parent) { tableViewer = CheckboxTableViewer.newCheckList(parent, SWT.FLAT | SWT.FULL_SELECTION | SWT.MULTI ); tableViewer.setLabelProvider(getTableLabelProvider()); tableViewer.setContentProvider(new ArrayContentProvider()); setupDiskTable(parent, tableViewer.getTable()); + + // make sure that table selection is driven by checkbox selection + guiHelper.configureCheckboxTableViewer(tableViewer); return tableViewer; } diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumesPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumesPage.java index 680dc391..38fa2d41 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumesPage.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumesPage.java @@ -54,9 +54,9 @@ public class VolumesPage extends Composite { public enum VOLUME_TABLE_COLUMN_INDICES { NAME, VOLUME_TYPE, NUM_OF_DISKS, TRANSPORT_TYPE, VOLUME_STATUS }; - - private static final String[] VOLUME_TABLE_COLUMN_NAMES = new String[] { "Name", - "Volume Type", "Number of\nBricks", "Transport Type", "Status" }; + + private static final String[] VOLUME_TABLE_COLUMN_NAMES = new String[] { "Name", "Volume Type", + "Number of\nBricks", "Transport Type", "Status" }; public VolumesPage(final Composite parent, IWorkbenchSite site, EntityGroup<Volume> volumes) { super(parent, SWT.NONE); @@ -74,7 +74,7 @@ public class VolumesPage extends Composite { setupVolumeTableViewer(site, volumes); parent.layout(); // Important - this actually paints the table - + /** * Ideally not required. However the table viewer is not getting laid out properly on performing * "maximize + restore" So this is a hack to make sure that the table is laid out again on re-size of the window @@ -85,9 +85,9 @@ public class VolumesPage extends Composite { public void paintControl(PaintEvent e) { parent.layout(); } - }); + }); } - + public void addDoubleClickListener(IDoubleClickListener listener) { tableViewer.addDoubleClickListener(listener); } @@ -102,7 +102,7 @@ public class VolumesPage extends Composite { private void setupVolumeTable(Composite parent, Table table) { table.setHeaderVisible(true); table.setLinesVisible(true); - + TableColumnLayout columnLayout = guiHelper.createTableColumnLayout(table, VOLUME_TABLE_COLUMN_NAMES); parent.setLayout(columnLayout); @@ -110,14 +110,18 @@ public class VolumesPage extends Composite { setColumnProperties(table, VOLUME_TABLE_COLUMN_INDICES.NUM_OF_DISKS, SWT.CENTER, 50); setColumnProperties(table, VOLUME_TABLE_COLUMN_INDICES.TRANSPORT_TYPE, SWT.CENTER, 70); } - - private TableViewer createVolumeTableViewer(Composite parent) { - TableViewer tableViewer = CheckboxTableViewer.newCheckList(parent, SWT.FLAT | SWT.FULL_SELECTION | SWT.MULTI); + + private CheckboxTableViewer createVolumeTableViewer(Composite parent) { + CheckboxTableViewer tableViewer = CheckboxTableViewer.newCheckList(parent, SWT.FLAT | SWT.FULL_SELECTION + | SWT.MULTI); tableViewer.setLabelProvider(new VolumeTableLabelProvider()); tableViewer.setContentProvider(new EntityGroupContentProvider<Volume>()); setupVolumeTable(parent, tableViewer.getTable()); + // make sure that table selection is driven by checkbox selection + guiHelper.configureCheckboxTableViewer(tableViewer); + return tableViewer; } @@ -134,10 +138,10 @@ public class VolumesPage extends Composite { Composite tableViewerComposite = createTableViewerComposite(); tableViewer = createVolumeTableViewer(tableViewerComposite); site.setSelectionProvider(tableViewer); - + // Create a case insensitive filter for the table viewer using the filter text field guiHelper.createFilter(tableViewer, filterText, false); - tableViewer.setInput(volumes); + tableViewer.setInput(volumes); } /** @@ -155,7 +159,7 @@ public class VolumesPage extends Composite { TableColumnLayout tableColumnLayout = (TableColumnLayout) table.getParent().getLayout(); tableColumnLayout.setColumnData(column, new ColumnWeightData(weight)); } - + public void setInput(EntityGroup<Volume> volumes) { tableViewer.setInput(volumes); tableViewer.refresh(); |
