summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--com.gluster.storage.management.gui/icons/logs.pngbin0 -> 900 bytes
-rw-r--r--com.gluster.storage.management.gui/plugin.xml4
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java32
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java18
-rw-r--r--com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/NavigationView.java7
5 files changed, 47 insertions, 14 deletions
diff --git a/com.gluster.storage.management.gui/icons/logs.png b/com.gluster.storage.management.gui/icons/logs.png
new file mode 100644
index 00000000..c8449f98
--- /dev/null
+++ b/com.gluster.storage.management.gui/icons/logs.png
Binary files differ
diff --git a/com.gluster.storage.management.gui/plugin.xml b/com.gluster.storage.management.gui/plugin.xml
index 1b14c6f2..f5ab3db7 100644
--- a/com.gluster.storage.management.gui/plugin.xml
+++ b/com.gluster.storage.management.gui/plugin.xml
@@ -125,7 +125,7 @@
allowMultiple="false"
category="com.gluster.storage.management.gui.category"
class="com.gluster.storage.management.gui.views.VolumeLogsView"
- icon="icons/gluster_icon.png"
+ icon="icons/logs.png"
id="com.gluster.storage.management.gui.views.VolumeLogsView"
name="Volume Logs"
restorable="true">
@@ -179,7 +179,7 @@
allowMultiple="false"
category="com.gluster.storage.management.gui.category"
class="com.gluster.storage.management.gui.views.GlusterServerLogsView"
- icon="icons/gluster_icon.png"
+ icon="icons/logs.png"
id="com.gluster.storage.management.gui.views.GlusterServerLogsView"
name="Server Logs"
restorable="true">
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java
index dc8ee77b..6dbe6315 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java
@@ -19,25 +19,37 @@
package com.gluster.storage.management.gui.actions;
import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.PlatformUI;
+import org.eclipse.jface.viewers.ISelection;
-import com.gluster.storage.management.gui.views.DiscoveredServersView;
+import com.gluster.storage.management.core.model.Volume;
+import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
public class StartVolumeAction extends AbstractActionDelegate {
+
@Override
public void run(IAction action) {
- PlatformUI
- .getWorkbench()
- .getActiveWorkbenchWindow()
- .getActivePage()
- .hideView(
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
- .findViewReference(DiscoveredServersView.ID));
- System.out.println("After closing the view!");
+ System.out.println("Running [" + this.getClass().getSimpleName() + "]");
}
@Override
public void dispose() {
System.out.println("Disposing [" + this.getClass().getSimpleName() + "]");
}
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * com.gluster.storage.management.gui.actions.AbstractActionDelegate#selectionChanged(org.eclipse.jface.action.IAction
+ * , org.eclipse.jface.viewers.ISelection)
+ */
+ @Override
+ public void selectionChanged(IAction action, ISelection selection) {
+ super.selectionChanged(action, selection);
+
+ if (selectedEntity instanceof Volume) {
+ Volume volume = (Volume) selectedEntity;
+ action.setEnabled(volume.getStatus() == VOLUME_STATUS.OFFLINE);
+ }
+ }
}
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java
index 7011f677..8e0e7f50 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java
@@ -19,6 +19,10 @@
package com.gluster.storage.management.gui.actions;
import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+
+import com.gluster.storage.management.core.model.Volume;
+import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
public class StopVolumeAction extends AbstractActionDelegate {
@Override
@@ -30,4 +34,18 @@ public class StopVolumeAction extends AbstractActionDelegate {
public void dispose() {
System.out.println("Disposing [" + this.getClass().getSimpleName() + "]");
}
+
+ /* (non-Javadoc)
+ * @see com.gluster.storage.management.gui.actions.AbstractActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+ */
+ @Override
+ public void selectionChanged(IAction action, ISelection selection) {
+ // TODO Auto-generated method stub
+ super.selectionChanged(action, selection);
+
+ if (selectedEntity instanceof Volume) {
+ Volume volume = (Volume) selectedEntity;
+ action.setEnabled(volume.getStatus() == VOLUME_STATUS.ONLINE);
+ }
+ }
}
diff --git a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/NavigationView.java b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/NavigationView.java
index 21378db8..8618c1da 100644
--- a/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/NavigationView.java
+++ b/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/NavigationView.java
@@ -58,9 +58,9 @@ public class NavigationView extends ViewPart implements ISelectionListener {
// Create the views and toolbar managers
toolbarManager = new GlusterToolbarManager(getSite().getWorkbenchWindow());
viewsManager = new GlusterViewsManager(getSite().getPage());
-
+
// listen to selection events to update views/toolbar accordingly
- getSite().getPage().addSelectionListener(this);
+ getSite().getPage().addSelectionListener(this);
}
private void createNavigationTree(Composite parent) {
@@ -127,6 +127,9 @@ public class NavigationView extends ViewPart implements ISelectionListener {
// update views and toolbar buttons visibility based on selected entity
viewsManager.updateViews(entity);
toolbarManager.updateToolbar(entity);
+
+ // Opening of other views may cause navigation tree to lose focus; get it back.
+ setFocus();
}
}
}