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;
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;
}
}
+ /**
+ * 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);
}