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%2Feditors%2FProcessBuilderPage.java;h=a18fecd318e5b6edb9aec8bfb92536c80c4c9b99;hb=2fd714f3b2c3bf3168e8a2a9b9d8e5e999e0af65;hp=f1caa542439b69bd7699e586435c7727aa7ee035;hpb=6867e7eef2de759cf14fabe575fcba0bea29d6fc;p=gpl%2Fargeo-slc.git diff --git a/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/editors/ProcessBuilderPage.java b/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/editors/ProcessBuilderPage.java index f1caa5424..a18fecd31 100644 --- a/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/editors/ProcessBuilderPage.java +++ b/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/editors/ProcessBuilderPage.java @@ -32,8 +32,6 @@ import javax.jcr.observation.ObservationManager; import javax.jcr.query.Query; import javax.jcr.query.QueryManager; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.argeo.ArgeoException; import org.argeo.eclipse.ui.jcr.AsyncUiEventListener; import org.argeo.jcr.JcrUtils; @@ -45,10 +43,6 @@ import org.argeo.slc.execution.ExecutionProcess; import org.argeo.slc.jcr.SlcJcrUtils; import org.argeo.slc.jcr.SlcNames; import org.argeo.slc.jcr.SlcTypes; -import org.eclipse.jface.action.IMenuListener; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.action.Separator; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.jface.viewers.ColumnViewer; @@ -86,7 +80,6 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.Table; -import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.forms.AbstractFormPart; import org.eclipse.ui.forms.IManagedForm; import org.eclipse.ui.forms.editor.FormPage; @@ -95,7 +88,8 @@ import org.eclipse.ui.forms.widgets.ScrolledForm; /** Definition of the process. */ public class ProcessBuilderPage extends FormPage implements SlcNames { - private final static Log log = LogFactory.getLog(ProcessBuilderPage.class); + // private final static Log log = + // LogFactory.getLog(ProcessBuilderPage.class); public final static String ID = "processBuilderPage"; @@ -620,44 +614,36 @@ public class ProcessBuilderPage extends FormPage implements SlcNames { } } + /** + * Add a context menu that call private methods. It only relies on selected + * item(s) not on parameter that are passed in the menuAboutToShow method + **/ private void addContextMenu() { - // Create the popup menu - final MenuManager menuMgr = new MenuManager(); - final Menu menu = menuMgr.createContextMenu(flowsViewer.getTree()); - menuMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); - menuMgr.addMenuListener(new IMenuListener() { - - public void menuAboutToShow(IMenuManager manager) { - if (flowsViewer.getSelection().isEmpty()) { - log.debug("empty selection"); - return; - } + Menu menu = new Menu(flowsViewer.getControl()); - if (flowsViewer.getSelection() instanceof IStructuredSelection) { - IStructuredSelection selection = (IStructuredSelection) flowsViewer - .getSelection(); - log.debug("got a selection"); - Node currNode = (Node) selection.getFirstElement(); - if (true) { - MenuItem renameItem = new MenuItem(menu, SWT.PUSH); - renameItem - .addSelectionListener(new SelectionListener() { - - public void widgetSelected(SelectionEvent e) { - removeSelectedFlows(); - } - - public void widgetDefaultSelected( - SelectionEvent e) { - } - }); - renameItem.setText("Remove selected"); - } - } + MenuItem removeItems = new MenuItem(menu, SWT.PUSH); + removeItems.addSelectionListener(new SelectionListener() { + + public void widgetSelected(SelectionEvent e) { + removeSelectedFlows(); + } + + public void widgetDefaultSelected(SelectionEvent e) { + } + }); + removeItems.setText("Remove selected flow(s)"); + + MenuItem removeAllItems = new MenuItem(menu, SWT.PUSH); + removeAllItems.addSelectionListener(new SelectionListener() { + + public void widgetSelected(SelectionEvent e) { + removeAllFlows(); + } + + public void widgetDefaultSelected(SelectionEvent e) { } }); - // menuMgr.setRemoveAllWhenShown(true); - getSite().registerContextMenu(menuMgr, flowsViewer); + removeAllItems.setText("Remove all flows"); flowsViewer.getTree().setMenu(menu); }