]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms.e4/src/org/argeo/cms/e4/jcr/JcrBrowserView.java
Migrate user admin to Eclipse 4
[lgpl/argeo-commons.git] / org.argeo.cms.e4 / src / org / argeo / cms / e4 / jcr / JcrBrowserView.java
index dd5bcb184fe4457ca6796d4a4af3ff4280222d93..28dee610354fa65fd8e15ae415758756d7fa3326 100644 (file)
@@ -33,7 +33,6 @@ import javax.jcr.observation.ObservationManager;
 
 import org.argeo.cms.CmsException;
 import org.argeo.cms.ui.jcr.JcrBrowserUtils;
-import org.argeo.cms.ui.jcr.JcrDClickListener;
 import org.argeo.cms.ui.jcr.NodeContentProvider;
 import org.argeo.cms.ui.jcr.NodeLabelProvider;
 import org.argeo.cms.ui.jcr.OsgiRepositoryRegister;
@@ -45,6 +44,9 @@ 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.core.contexts.IEclipseContext;
+import org.eclipse.e4.ui.services.EMenuService;
+import org.eclipse.e4.ui.workbench.modeling.EPartService;
 import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
 import org.eclipse.jface.viewers.ColumnLabelProvider;
 import org.eclipse.jface.viewers.IBaseLabelProvider;
@@ -68,10 +70,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;
 
@@ -82,7 +82,7 @@ public class JcrBrowserView {
        @Inject
        private Repository nodeRepository;
 
-       // Current user session on the "Argeo node" default workspace
+       // Current user session on the home repository default workspace
        private Session userSession;
 
        private OsgiRepositoryRegister repositoryRegister = new OsgiRepositoryRegister();
@@ -94,7 +94,8 @@ public class JcrBrowserView {
        private EventListener resultsObserver;
 
        @PostConstruct
-       public void createPartControl(Composite parent) {
+       public void createPartControl(Composite parent, IEclipseContext context, EPartService partService,
+                       ESelectionService selectionService, EMenuService menuService) {
                repositoryRegister.init();
 
                parent.setLayout(new FillLayout());
@@ -140,6 +141,8 @@ public class JcrBrowserView {
                                selectionService.setSelection(selection.toList());
                        }
                });
+               nodesViewer.addDoubleClickListener(new JcrE4DClickListener(nodesViewer, partService));
+               menuService.registerContextMenu(nodesViewer.getControl(), NODE_VIEWER_POPUP_MENU_ID);
                // getSite().registerContextMenu(menuManager, nodesViewer);
                // getSite().setSelectionProvider(nodesViewer);
        }
@@ -201,7 +204,7 @@ public class JcrBrowserView {
                                throw new EclipseUiException("Cannot register listeners", e);
                        }
 
-               tmpNodeViewer.addDoubleClickListener(new JcrDClickListener(tmpNodeViewer));
+               // tmpNodeViewer.addDoubleClickListener(new JcrDClickListener(tmpNodeViewer));
                return tmpNodeViewer;
        }