]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.route.ui/src/org/simantics/district/route/ui/RouteView.java
Improved Routes view functionality
[simantics/district.git] / org.simantics.district.route.ui / src / org / simantics / district / route / ui / RouteView.java
index 77725b7c0d6f6c874f738e95e468e0d318c9c4d6..4499782d100860411da25f878a6ee1c9da8074be 100644 (file)
@@ -13,8 +13,11 @@ import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.model.application.ui.menu.MMenuContribution;
 import org.eclipse.e4.ui.model.application.ui.menu.MMenuFactory;
 import org.eclipse.e4.ui.model.application.ui.menu.MPopupMenu;
+import org.eclipse.e4.ui.services.EMenuService;
 import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
 import org.eclipse.swt.widgets.Composite;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * @author Tuukka Lehtonen
@@ -22,6 +25,8 @@ import org.eclipse.swt.widgets.Composite;
  */
 public class RouteView {
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(RouteView.class);
+
     private static final String POPUP_CONTRIBUTION_ID = "org.simantics.district.route.ui.contextMenu";
     public static final String POPUP_ELEMENT_ID = "org.simantics.district.route.ui.popup";
 
@@ -50,8 +55,10 @@ public class RouteView {
     }
 
     @PostConstruct
-    public void postConstruct(Composite parent) {
+    public void postConstruct(Composite parent, EMenuService menuService) {
         this.ui = new RouteTree(parent, 0, selectionService);
+        if (!(menuService.registerContextMenu(this.ui.getTree(), POPUP_ELEMENT_ID)))
+            LOGGER.warn("Could not register context menu {}", POPUP_ELEMENT_ID);
     }
 
     @PreDestroy
@@ -64,4 +71,8 @@ public class RouteView {
         ui.setFocus();
     }
 
+    public void editCurrentSelection() {
+        ui.editCurrentSelection();
+    }
+
 }
\ No newline at end of file