summaryrefslogtreecommitdiffstats
path: root/com.gluster.storage.management.gui/src/com
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-03-19 22:10:11 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-03-19 22:10:11 +0530
commit8ed9d4b9984bde08cd0761c1fd398c546cbb1e37 (patch)
tree71c56f394b6db5c8c3e8f63d429b5b999e61648c /com.gluster.storage.management.gui/src/com
parent8ca8e7a98590b142268fe35062ebf11d03970c40 (diff)
Converting tabs to views.. continued.
Diffstat (limited to 'com.gluster.storage.management.gui/src/com')
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/Perspective.java2
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/GUIHelper.java2
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DetailsView.java1
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DiscoveredServersView.java1
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/NavigationView.java (renamed from com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/navigator/NavigationView.java)32
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeDisksView.java39
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeLogsView.java35
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeOptionsView.java36
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java237
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesSummaryView.java18
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesView.java1
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupGlusterServerTabCreator.java2
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupServerTabCreator.java2
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupVolumeTabCreator.java2
14 files changed, 376 insertions, 34 deletions
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/Perspective.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/Perspective.java
index a8eb836b..3f8702ce 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/Perspective.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/Perspective.java
@@ -22,7 +22,7 @@ import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;
import com.gluster.storage.management.gui.views.DetailsView;
-import com.gluster.storage.management.gui.views.navigator.NavigationView;
+import com.gluster.storage.management.gui.views.NavigationView;
public class Perspective implements IPerspectiveFactory {
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/GUIHelper.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/GUIHelper.java
index e77e3a65..ccd5d8ec 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/GUIHelper.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/GUIHelper.java
@@ -68,7 +68,7 @@ import org.eclipse.ui.forms.widgets.Section;
import com.gluster.storage.management.core.model.Entity;
import com.gluster.storage.management.core.model.EntityGroup;
import com.gluster.storage.management.gui.IImageKeys;
-import com.gluster.storage.management.gui.views.navigator.NavigationView;
+import com.gluster.storage.management.gui.views.NavigationView;
public class GUIHelper {
private static final GUIHelper instance = new GUIHelper();
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DetailsView.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DetailsView.java
index a19621dd..df2f495e 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DetailsView.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DetailsView.java
@@ -38,7 +38,6 @@ import com.gluster.storage.management.core.model.Entity;
import com.gluster.storage.management.gui.toolbar.ToolbarManager;
import com.gluster.storage.management.gui.views.details.TabCreatorFactory;
import com.gluster.storage.management.gui.views.details.TabCreatorFactoryImpl;
-import com.gluster.storage.management.gui.views.navigator.NavigationView;
/**
* This view is displayed on the right hand side of the platform UI. It updates itself with appropriate tabs
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DiscoveredServersView.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DiscoveredServersView.java
index 5fa6771b..69c506f4 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DiscoveredServersView.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DiscoveredServersView.java
@@ -34,7 +34,6 @@ import com.gluster.storage.management.core.model.Entity;
import com.gluster.storage.management.core.model.EntityGroup;
import com.gluster.storage.management.core.model.Server;
import com.gluster.storage.management.gui.utils.GUIHelper;
-import com.gluster.storage.management.gui.views.navigator.NavigationView;
import com.gluster.storage.management.gui.views.pages.ServersPage;
/**
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/navigator/NavigationView.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/NavigationView.java
index 49102e6c..65c1d3ea 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/navigator/NavigationView.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/NavigationView.java
@@ -16,7 +16,7 @@
* along with this program. If not, see
* <http://www.gnu.org/licenses/>.
*******************************************************************************/
-package com.gluster.storage.management.gui.views.navigator;
+package com.gluster.storage.management.gui.views;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.core.runtime.Platform;
@@ -31,6 +31,7 @@ import org.eclipse.swt.widgets.Menu;
import org.eclipse.ui.ISelectionListener;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IViewReference;
+import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.model.BaseWorkbenchContentProvider;
@@ -47,11 +48,7 @@ import com.gluster.storage.management.core.model.GlusterServer;
import com.gluster.storage.management.core.model.Server;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.gui.toolbar.ToolbarManager;
-import com.gluster.storage.management.gui.views.ClusterSummaryView;
-import com.gluster.storage.management.gui.views.DiscoveredServerView;
-import com.gluster.storage.management.gui.views.DiscoveredServersView;
-import com.gluster.storage.management.gui.views.VolumesSummaryView;
-import com.gluster.storage.management.gui.views.VolumesView;
+import com.gluster.storage.management.gui.views.navigator.ClusterAdapterFactory;
public class NavigationView extends ViewPart implements ISelectionListener {
public static final String ID = NavigationView.class.getName();
@@ -133,28 +130,29 @@ public class NavigationView extends ViewPart implements ISelectionListener {
}
entity = selectedEntity;
+ IWorkbenchPage page = getSite().getPage();
try {
if (entity instanceof EntityGroup) {
if ((((EntityGroup) entity).getEntityType()) == Server.class) {
- getSite().getPage().showView(DiscoveredServersView.ID);
+ page.showView(DiscoveredServersView.ID);
} else if ((((EntityGroup) entity).getEntityType()) == Volume.class) {
- IViewPart summaryView = getSite().getPage().showView(VolumesSummaryView.ID);
- getSite().getPage().showView(VolumesView.ID);
- getSite().getPage().bringToTop(summaryView);
+ page.showView(VolumesSummaryView.ID);
+ page.showView(VolumesView.ID, null, IWorkbenchPage.VIEW_CREATE);
}
} else if (entity.getClass() == Server.class) {
- getSite().getPage().showView(DiscoveredServerView.ID);
+ page.showView(DiscoveredServerView.ID);
+ } else if (entity instanceof Volume) {
+ page.showView(VolumeSummaryView.ID);
+ page.showView(VolumeDisksView.ID, null, IWorkbenchPage.VIEW_CREATE);
+ page.showView(VolumeOptionsView.ID, null, IWorkbenchPage.VIEW_CREATE);
+ page.showView(VolumeLogsView.ID, null, IWorkbenchPage.VIEW_CREATE);
} else if (entity instanceof Cluster) {
- try {
- getSite().getPage().showView(ClusterSummaryView.ID);
- } catch (RuntimeException e) {
- // happens when navigation view is opening for the first time. just ignore it!
- }
+ page.showView(ClusterSummaryView.ID);
}
} catch (PartInitException e) {
e.printStackTrace();
}
-
+
// update toolbar buttons visibility based on selected entity
toolbarManager.updateToolbar(entity);
}
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeDisksView.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeDisksView.java
new file mode 100644
index 00000000..cbf6736b
--- /dev/null
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeDisksView.java
@@ -0,0 +1,39 @@
+package com.gluster.storage.management.gui.views;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.part.ViewPart;
+
+import com.gluster.storage.management.core.model.Volume;
+import com.gluster.storage.management.gui.utils.GUIHelper;
+import com.gluster.storage.management.gui.views.details.DisksPage;
+
+public class VolumeDisksView extends ViewPart {
+ public static final String ID = VolumeDisksView.class.getName();
+ private static final GUIHelper guiHelper = GUIHelper.getInstance();
+ private DisksPage page;
+ private Volume volume;
+
+ @Override
+ public void createPartControl(Composite parent) {
+ if (volume == null) {
+ volume = (Volume) guiHelper.getSelectedEntity(getSite(), Volume.class);
+ }
+
+ createPage(parent);
+ }
+
+ /**
+ * @param parent
+ */
+ private void createPage(Composite parent) {
+ page = new DisksPage(parent, SWT.NONE, getSite(), volume.getDisks());
+ parent.layout(); // IMP: lays out the form properly
+ }
+
+ @Override
+ public void setFocus() {
+ page.setFocus();
+ }
+}
+
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeLogsView.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeLogsView.java
new file mode 100644
index 00000000..b6c98ad3
--- /dev/null
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeLogsView.java
@@ -0,0 +1,35 @@
+package com.gluster.storage.management.gui.views;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.part.ViewPart;
+
+import com.gluster.storage.management.core.model.Volume;
+import com.gluster.storage.management.gui.utils.GUIHelper;
+import com.gluster.storage.management.gui.views.details.VolumeLogsPage;
+
+public class VolumeLogsView extends ViewPart {
+ VolumeLogsPage logsPage;
+ public static final String ID = VolumeLogsView.class.getName();
+ private static final GUIHelper guiHelper = GUIHelper.getInstance();
+ private Volume volume;
+
+ @Override
+ public void createPartControl(Composite parent) {
+ if (volume == null) {
+ volume = (Volume) guiHelper.getSelectedEntity(getSite(), Volume.class);
+ }
+
+ createPage(parent);
+ }
+
+ private void createPage(Composite parent) {
+ logsPage = new VolumeLogsPage(parent, SWT.NONE, volume);
+ parent.layout(); // IMP: lays out the form properly
+ }
+
+ @Override
+ public void setFocus() {
+ logsPage.setFocus();
+ }
+} \ No newline at end of file
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeOptionsView.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeOptionsView.java
new file mode 100644
index 00000000..e8695737
--- /dev/null
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeOptionsView.java
@@ -0,0 +1,36 @@
+package com.gluster.storage.management.gui.views;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.part.ViewPart;
+
+import com.gluster.storage.management.core.model.Volume;
+import com.gluster.storage.management.gui.utils.GUIHelper;
+import com.gluster.storage.management.gui.views.details.VolumeOptionsPage;
+
+public class VolumeOptionsView extends ViewPart {
+ public static final String ID = VolumeOptionsView.class.getName();
+ private static final GUIHelper guiHelper = GUIHelper.getInstance();
+ private VolumeOptionsPage page;
+ private Volume volume;
+
+ @Override
+ public void createPartControl(Composite parent) {
+ if (volume == null) {
+ volume = (Volume) guiHelper.getSelectedEntity(getSite(), Volume.class);
+ }
+
+ createPage(parent);
+ }
+
+ private void createPage(Composite parent) {
+ page = new VolumeOptionsPage(parent, SWT.NONE, volume);
+ parent.layout(); // IMP: lays out the form properly
+ }
+
+ @Override
+ public void setFocus() {
+ page.setFocus();
+ }
+}
+
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java
new file mode 100644
index 00000000..99ac0e0b
--- /dev/null
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java
@@ -0,0 +1,237 @@
+package com.gluster.storage.management.gui.views;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CLabel;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+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.Hyperlink;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
+import org.eclipse.ui.part.ViewPart;
+
+import com.gluster.storage.management.core.model.Volume;
+import com.gluster.storage.management.core.model.Volume.NAS_PROTOCOL;
+import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE;
+import com.gluster.storage.management.core.utils.NumberUtil;
+import com.gluster.storage.management.gui.IImageKeys;
+import com.gluster.storage.management.gui.utils.GUIHelper;
+
+public class VolumeSummaryView extends ViewPart {
+ public static final String ID = VolumeSummaryView.class.getName();
+ private static final GUIHelper guiHelper = GUIHelper.getInstance();
+ private final FormToolkit toolkit = new FormToolkit(Display.getCurrent());
+ private ScrolledForm form;
+ private Volume volume;
+
+ @Override
+ public void createPartControl(Composite parent) {
+ if (volume == null) {
+ volume = (Volume) guiHelper.getSelectedEntity(getSite(), Volume.class);
+ }
+
+ createSections(parent);
+ }
+
+ private void createSections(Composite parent) {
+ form = guiHelper.setupForm(parent, toolkit, "Volume Properties [" + volume.getName() + "]");
+
+ createVolumePropertiesSection();
+ createVolumeMountingInfoSection();
+ createVolumeAlertsSection();
+
+ parent.layout(); // IMP: lays out the form properly
+ }
+
+ private void createVolumeAlertsSection() {
+ Composite section = guiHelper.createSection(form, toolkit, "Alerts", null, 3, false);
+ toolkit.createLabel(section, "Volume related alerts will be displayed here");
+ }
+
+ private void createVolumeMountingInfoSection() {
+ Composite section = guiHelper.createSection(form, toolkit, "Mounting Information", null, 3, false);
+ toolkit.createLabel(section, "Information about mounting the\nvolume will be printed here");
+ }
+
+ /**
+ *
+ */
+ private void createVolumePropertiesSection() {
+ Composite section = guiHelper.createSection(form, toolkit, "Properties", null, 3, false);
+
+ createVolumeTypeField(section);
+
+ VOLUME_TYPE volumeType = volume.getVolumeType();
+ if (volumeType == VOLUME_TYPE.DISTRIBUTED_MIRROR) {
+ createReplicaCountField(section);
+ }
+
+ if (volumeType == VOLUME_TYPE.DISTRIBUTED_STRIPE) {
+ createStripeCountField(section);
+ }
+
+ createNumOfDisksField(section);
+ createDiskSpaceField(section);
+ createTransportTypeField(section);
+ createNASProtocolField(section);
+ createAccessControlField(section);
+ createStatusField(section);
+ }
+
+ private GridData createDefaultLayoutData() {
+ GridData layoutData = new GridData();
+ layoutData.minimumWidth = 150;
+ layoutData.widthHint = 150;
+ return layoutData;
+ }
+
+ private void createAccessControlField(Composite section) {
+ toolkit.createLabel(section, "Access Control: ", SWT.NONE);
+ Text accessControlText = toolkit.createText(section, volume.getAccessControlList());
+ accessControlText.setLayoutData(createDefaultLayoutData());
+ accessControlText.setEnabled(false);
+ createChangeLinkForAccessControl(section, accessControlText);
+ }
+
+ private void createChangeLinkForAccessControl(Composite section, final Text accessControlText) {
+ final Hyperlink changeLink = toolkit.createHyperlink(section, "change", SWT.NONE);
+ changeLink.addHyperlinkListener(new HyperlinkAdapter() {
+
+ private void finishEdit() {
+ // TODO: Update value to back-end
+ // TODO: Validation of entered text
+ volume.setAccessControlList(accessControlText.getText());
+ accessControlText.setEnabled(false);
+ changeLink.setText("change");
+ }
+
+ private void startEdit() {
+ accessControlText.setEnabled(true);
+ changeLink.setText("update");
+ }
+
+ @Override
+ public void linkActivated(HyperlinkEvent e) {
+ if (accessControlText.isEnabled()) {
+ // we were already in edit mode.
+ finishEdit();
+ } else {
+ // Get in to edit mode
+ startEdit();
+ }
+ }
+ });
+ }
+
+ private void createNASProtocolField(Composite section) {
+ toolkit.createLabel(section, "NAS Protocols: ", SWT.NONE);
+
+ Composite nasProtocolsComposite = toolkit.createComposite(section);
+ nasProtocolsComposite.setLayout(new FillLayout());
+
+ createCheckbox(nasProtocolsComposite, "Gluster", true);
+ final Button nfsCheckBox = createCheckbox(nasProtocolsComposite, "NFS",
+ volume.getNASProtocols().contains(NAS_PROTOCOL.NFS));
+
+ createChangeLinkForNASProtocol(section, nfsCheckBox);
+ }
+
+ private Button createCheckbox(Composite parent, String label, boolean selected) {
+ final Button checkBox = toolkit.createButton(parent, label, SWT.CHECK);
+ checkBox.setEnabled(false);
+ checkBox.setSelection(selected);
+ return checkBox;
+ }
+
+ private void createChangeLinkForNASProtocol(Composite section, final Button nfsCheckBox) {
+ final Hyperlink changeLink = toolkit.createHyperlink(section, "change", SWT.NONE);
+ changeLink.addHyperlinkListener(new HyperlinkAdapter() {
+
+ private void finishEdit() {
+ // TODO: Update value to back-end
+ if (nfsCheckBox.getSelection()) {
+ volume.enableNFS();
+ } else {
+ volume.disableNFS();
+ }
+ nfsCheckBox.setEnabled(false);
+ changeLink.setText("change");
+ }
+
+ private void startEdit() {
+ nfsCheckBox.setEnabled(true);
+ changeLink.setText("update");
+ }
+
+ @Override
+ public void linkActivated(HyperlinkEvent e) {
+ if (nfsCheckBox.isEnabled()) {
+ // we were already in edit mode.
+ finishEdit();
+ } else {
+ // Get in to edit mode
+ startEdit();
+ }
+ }
+ });
+ }
+
+ private void createDiskSpaceField(Composite section) {
+ Label diskSpaceLabel = toolkit.createLabel(section, "Total Disk Space (GB): ", SWT.NONE);
+ diskSpaceLabel.setToolTipText("<b>bold</b>normal");
+ toolkit.createLabel(section, "" + NumberUtil.formatNumber(volume.getTotalDiskSpace()), SWT.NONE);
+ toolkit.createLabel(section, "", SWT.NONE); // dummy
+ }
+
+ private void createStatusField(Composite section) {
+ toolkit.createLabel(section, "Status: ", SWT.NONE);
+
+ CLabel lblStatusValue = new CLabel(section, SWT.NONE);
+ lblStatusValue.setText(volume.getStatusStr());
+ lblStatusValue.setImage(volume.getStatus() == Volume.VOLUME_STATUS.ONLINE ? guiHelper
+ .getImage(IImageKeys.STATUS_ONLINE) : guiHelper.getImage(IImageKeys.STATUS_OFFLINE));
+
+ toolkit.createLabel(section, "", SWT.NONE); // dummy
+ }
+
+ private void createTransportTypeField(Composite section) {
+ toolkit.createLabel(section, "Transport Type: ", SWT.NONE);
+ toolkit.createLabel(section, "" + volume.getTransportTypeStr(), SWT.NONE);
+ toolkit.createLabel(section, "", SWT.NONE); // dummy
+ }
+
+ private void createNumOfDisksField(Composite section) {
+ toolkit.createLabel(section, "Number of Disks: ", SWT.NONE);
+ toolkit.createLabel(section, "" + volume.getNumOfDisks(), SWT.NONE);
+ toolkit.createLabel(section, "", SWT.NONE); // dummy
+ }
+
+ private void createStripeCountField(Composite section) {
+ toolkit.createLabel(section, "Stripe Count: ", SWT.NONE);
+ toolkit.createLabel(section, "" + volume.getStripeCount(), SWT.NONE);
+ toolkit.createLabel(section, "", SWT.NONE); // dummy
+ }
+
+ private void createReplicaCountField(Composite section) {
+ toolkit.createLabel(section, "Replica Count: ", SWT.NONE);
+ toolkit.createLabel(section, "" + volume.getReplicaCount(), SWT.NONE);
+ toolkit.createLabel(section, "", SWT.NONE); // dummy
+ }
+
+ private void createVolumeTypeField(Composite section) {
+ toolkit.createLabel(section, "Volume Type: ", SWT.NONE);
+ toolkit.createLabel(section, volume.getVolumeTypeStr(), SWT.NONE);
+ toolkit.createLabel(section, "", SWT.NONE);
+ }
+
+ @Override
+ public void setFocus() {
+ form.setFocus();
+ }
+}
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesSummaryView.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesSummaryView.java
index 7686ed38..8b790181 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesSummaryView.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesSummaryView.java
@@ -61,31 +61,31 @@ public class VolumesSummaryView extends ViewPart {
}
}
- createSections(parent, volumes, toolkit);
+ createSections(parent);
}
- private void createSections(Composite parent, final EntityGroup<Volume> volumes, FormToolkit toolkit) {
- final ScrolledForm form = guiHelper.setupForm(parent, toolkit, "Volumes - Summary");
- createSummarySection(volumes, toolkit, form);
- createRunningTasksSection(volumes, toolkit, form);
- createAlertsSection(volumes, toolkit, form);
+ private void createSections(Composite parent) {
+ form = guiHelper.setupForm(parent, toolkit, "Volumes - Summary");
+ createSummarySection();
+ createRunningTasksSection();
+ createAlertsSection();
parent.layout(); // IMP: lays out the form properly
}
- private void createAlertsSection(final EntityGroup<Volume> volumes, FormToolkit toolkit, final ScrolledForm form) {
+ private void createAlertsSection() {
Composite section = guiHelper.createSection(form, toolkit, "Alerts", null, 2, false);
toolkit.createLabel(section, "Any alerts related to volumes\nwill be displayed here.");
}
- private void createRunningTasksSection(final EntityGroup<Volume> volumes, FormToolkit toolkit, final ScrolledForm form) {
+ private void createRunningTasksSection() {
Composite section = guiHelper.createSection(form, toolkit, "Running Tasks", null, 2, false);
toolkit.createLabel(section, "List of running tasks related to\nvolumes will be displayed here.");
}
- private void createSummarySection(final EntityGroup<Volume> volumes, FormToolkit toolkit, final ScrolledForm form) {
+ private void createSummarySection() {
Composite section = guiHelper.createSection(form, toolkit, "Availability", null, 2, false);
Double[] values = new Double[] { Double.valueOf(getVolumeCountByStatus(volumes, VOLUME_STATUS.ONLINE)),
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesView.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesView.java
index 4768d2de..4ccf5325 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesView.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesView.java
@@ -35,7 +35,6 @@ import com.gluster.storage.management.core.model.EntityGroup;
import com.gluster.storage.management.core.model.Server;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.gui.utils.GUIHelper;
-import com.gluster.storage.management.gui.views.navigator.NavigationView;
import com.gluster.storage.management.gui.views.pages.ServersPage;
import com.gluster.storage.management.gui.views.pages.VolumesPage;
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupGlusterServerTabCreator.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupGlusterServerTabCreator.java
index 89191f1a..3c94c3cc 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupGlusterServerTabCreator.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupGlusterServerTabCreator.java
@@ -39,10 +39,10 @@ import com.gluster.storage.management.core.model.GlusterServer;
import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS;
import com.gluster.storage.management.gui.IImageKeys;
import com.gluster.storage.management.gui.utils.GUIHelper;
+import com.gluster.storage.management.gui.views.NavigationView;
import com.gluster.storage.management.gui.views.details.DisksPage;
import com.gluster.storage.management.gui.views.details.GlusterServersPage;
import com.gluster.storage.management.gui.views.details.TabCreator;
-import com.gluster.storage.management.gui.views.navigator.NavigationView;
public class EntityGroupGlusterServerTabCreator implements TabCreator, IDoubleClickListener {
private static final GUIHelper guiHelper = GUIHelper.getInstance();
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupServerTabCreator.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupServerTabCreator.java
index d7b78198..3f49ba6b 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupServerTabCreator.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupServerTabCreator.java
@@ -32,8 +32,8 @@ import com.gluster.storage.management.core.model.EntityGroup;
import com.gluster.storage.management.core.model.Server;
import com.gluster.storage.management.gui.IImageKeys;
import com.gluster.storage.management.gui.utils.GUIHelper;
+import com.gluster.storage.management.gui.views.NavigationView;
import com.gluster.storage.management.gui.views.details.TabCreator;
-import com.gluster.storage.management.gui.views.navigator.NavigationView;
import com.gluster.storage.management.gui.views.pages.ServersPage;
public class EntityGroupServerTabCreator implements TabCreator, IDoubleClickListener {
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupVolumeTabCreator.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupVolumeTabCreator.java
index 9ffea7af..22ffd94d 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupVolumeTabCreator.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/tabcreators/EntityGroupVolumeTabCreator.java
@@ -37,8 +37,8 @@ import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
import com.gluster.storage.management.gui.IImageKeys;
import com.gluster.storage.management.gui.utils.GUIHelper;
+import com.gluster.storage.management.gui.views.NavigationView;
import com.gluster.storage.management.gui.views.details.TabCreator;
-import com.gluster.storage.management.gui.views.navigator.NavigationView;
import com.gluster.storage.management.gui.views.pages.VolumesPage;
public class EntityGroupVolumeTabCreator implements TabCreator, IDoubleClickListener {