X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=plugins%2Forg.argeo.slc.client.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fviews%2FJcrExecutionModulesView.java;h=a3b7537edea7d45a0b60f84fd7e4331173eaff2a;hb=0dcc341dafa9c72011b01491bfa8631b4e71ede2;hp=dca7fc79988fa4bb003b3547befca357344c6916;hpb=b38be5eddf82923307efcc2440a98e8c85a3754a;p=gpl%2Fargeo-slc.git diff --git a/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrExecutionModulesView.java b/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrExecutionModulesView.java index dca7fc799..a3b7537ed 100644 --- a/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrExecutionModulesView.java +++ b/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrExecutionModulesView.java @@ -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