From 37b46d681e47ea56b5ef6b9bfa9dc52e62d54e57 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 18 Mar 2018 12:44:52 +0100 Subject: [PATCH] JCR browser context menu --- org.argeo.cms.e4/cms-admin.e4xmi | 49 ++++++++++--------- .../org/argeo/cms/e4/jcr/JcrBrowserView.java | 10 ++-- .../cms/e4/jcr/commands/AddFolderNode.java | 1 + 3 files changed, 32 insertions(+), 28 deletions(-) diff --git a/org.argeo.cms.e4/cms-admin.e4xmi b/org.argeo.cms.e4/cms-admin.e4xmi index d4a86ae31..d5d5eb62d 100644 --- a/org.argeo.cms.e4/cms-admin.e4xmi +++ b/org.argeo.cms.e4/cms-admin.e4xmi @@ -3,40 +3,43 @@ shellMaximized - - - - - - - + + + + + + + + + + - + ViewMenu - - - - + + + + - + - - - - - - + + + + + + - - - - + + + + diff --git a/org.argeo.cms.e4/src/org/argeo/cms/e4/jcr/JcrBrowserView.java b/org.argeo.cms.e4/src/org/argeo/cms/e4/jcr/JcrBrowserView.java index dd5bcb184..29037983b 100644 --- a/org.argeo.cms.e4/src/org/argeo/cms/e4/jcr/JcrBrowserView.java +++ b/org.argeo.cms.e4/src/org/argeo/cms/e4/jcr/JcrBrowserView.java @@ -45,6 +45,7 @@ import org.argeo.eclipse.ui.TreeParent; import org.argeo.eclipse.ui.jcr.AsyncUiEventListener; import org.argeo.eclipse.ui.jcr.utils.NodeViewerComparer; import org.argeo.node.security.CryptoKeyring; +import org.eclipse.e4.ui.services.EMenuService; import org.eclipse.e4.ui.workbench.modeling.ESelectionService; import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.jface.viewers.IBaseLabelProvider; @@ -68,10 +69,8 @@ import org.eclipse.swt.widgets.Display; * repository environment */ public class JcrBrowserView { - public final static String ID = "org.argeo.cms.e4.jcrbrowser"; - - @Inject - private ESelectionService selectionService; + final static String ID = "org.argeo.cms.e4.jcrbrowser"; + final static String NODE_VIEWER_POPUP_MENU_ID = "org.argeo.cms.e4.popupmenu.nodeViewer"; private boolean sortChildNodes = true; @@ -94,7 +93,7 @@ public class JcrBrowserView { private EventListener resultsObserver; @PostConstruct - public void createPartControl(Composite parent) { + public void createPartControl(Composite parent, ESelectionService selectionService, EMenuService menuService) { repositoryRegister.init(); parent.setLayout(new FillLayout()); @@ -140,6 +139,7 @@ public class JcrBrowserView { selectionService.setSelection(selection.toList()); } }); + menuService.registerContextMenu(nodesViewer.getControl(), NODE_VIEWER_POPUP_MENU_ID); // getSite().registerContextMenu(menuManager, nodesViewer); // getSite().setSelectionProvider(nodesViewer); } diff --git a/org.argeo.cms.e4/src/org/argeo/cms/e4/jcr/commands/AddFolderNode.java b/org.argeo.cms.e4/src/org/argeo/cms/e4/jcr/commands/AddFolderNode.java index 7c97817c0..7a7318c5d 100644 --- a/org.argeo.cms.e4/src/org/argeo/cms/e4/jcr/commands/AddFolderNode.java +++ b/org.argeo.cms.e4/src/org/argeo/cms/e4/jcr/commands/AddFolderNode.java @@ -78,4 +78,5 @@ public class AddFolderNode { ErrorFeedback.show("Invalid NT folder node type"); } } + } -- 2.30.2