]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrExecutionModulesView.java
Update decorators to show more explicitly PASSED / FAILED / ERROR status in the Resul...
[gpl/argeo-slc.git] / plugins / org.argeo.slc.client.ui / src / main / java / org / argeo / slc / client / ui / views / JcrExecutionModulesView.java
index dca7fc79988fa4bb003b3547befca357344c6916..a3b7537edea7d45a0b60f84fd7e4331173eaff2a 100644 (file)
@@ -50,6 +50,10 @@ import org.argeo.slc.execution.ExecutionModulesManager;
 import org.argeo.slc.jcr.SlcJcrConstants;
 import org.argeo.slc.jcr.SlcNames;
 import org.argeo.slc.jcr.SlcTypes;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.viewers.DoubleClickEvent;
 import org.eclipse.jface.viewers.IDoubleClickListener;
 import org.eclipse.jface.viewers.IStructuredSelection;
@@ -64,6 +68,7 @@ import org.eclipse.swt.dnd.Transfer;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Menu;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.part.ViewPart;
@@ -79,14 +84,13 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes,
 
        private TreeViewer viewer;
 
+       /* DEPENDENCY INJECTION */
        private Session session;
-
        private ExecutionModulesManager modulesManager;
 
        public void createPartControl(Composite parent) {
                viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
                EclipseUiSpecificUtils.enableToolTipSupport(viewer);
-
                ViewContentProvider contentProvider = new ViewContentProvider(session);
                viewer.setContentProvider(contentProvider);
                viewer.setComparer(new NodeElementComparer());
@@ -94,6 +98,9 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes,
                viewer.setLabelProvider(viewLabelProvider);
                viewer.setInput(getViewSite());
                viewer.addDoubleClickListener(new ViewDoubleClickListener());
+               // context menu
+               addContextMenu(viewer);
+
                getViewSite().setSelectionProvider(viewer);
 
                Transfer[] tt = new Transfer[] { TextTransfer.getInstance() };
@@ -129,6 +136,7 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes,
                viewer.setInput(getViewSite());
        }
 
+       // Controllers
        class ViewContentProvider extends SimpleNodeContentProvider {
 
                public ViewContentProvider(Session session) {
@@ -211,6 +219,25 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes,
 
        }
 
+       private void addContextMenu(TreeViewer flowsViewer) {
+
+               final MenuManager menuMgr = new MenuManager();
+               menuMgr.setRemoveAllWhenShown(true);
+               menuMgr.addMenuListener(new IMenuListener() {
+
+                       public void menuAboutToShow(IMenuManager manager) {
+                               menuMgr.add(new Action("Test") {
+                                       public void run() {
+                                               log.debug("do something");
+                                       }
+                               });
+                       }
+               });
+               Menu menu = menuMgr.createContextMenu(flowsViewer.getControl());
+               flowsViewer.getTree().setMenu(menu);
+               getSite().registerContextMenu(menuMgr, flowsViewer);
+       }
+
        class VmAgentObserver extends AsyncUiEventListener {
 
                public VmAgentObserver(Display display) {
@@ -402,19 +429,10 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes,
                                event.data = buf.toString();
                                log.debug("data set to : " + buf.toString());
                        }
-                       // if (selection.getFirstElement() instanceof Node) {
-                       // Node node = (Node) selection.getFirstElement();
-                       // if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
-                       // try {
-                       // event.data = node.getPath();
-                       // } catch (RepositoryException e) {
-                       // throw new SlcException("Cannot read node", e);
-                       // }
-                       // }
-                       // }
                }
        }
 
+       // DEPENDENCY INJECTION
        public void setSession(Session session) {
                this.session = session;
        }
@@ -422,5 +440,4 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes,
        public void setModulesManager(ExecutionModulesManager modulesManager) {
                this.modulesManager = modulesManager;
        }
-
 }
\ No newline at end of file