summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.gui
diff options
context:
space:
mode:
authorDhandapani <dhandapani@gluster.com>2011-06-10 12:04:06 +0530
committerDhandapani <dhandapani@gluster.com>2011-06-10 12:27:54 +0530
commit136fddd058fb8f7c6e98e27f17f7379b96760a2e (patch)
tree0ca7148304aed2e58089f0613ce62675f00418f8 /src/com.gluster.storage.management.gui
parent3c5b8b46c2f64e36efb6df938bd2d02c7475ecfc (diff)
Checkbox selection enabled on Bricks page, Volumes page and Disk page
Diffstat (limited to 'src/com.gluster.storage.management.gui')
-rw-r--r--src/com.gluster.storage.management.gui/plugin.xml12
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/AbstractBricksPage.java7
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/AbstractDisksPage.java13
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumesPage.java30
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();