]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.district.route.ui/src/org/simantics/district/route/ui/handlers/DeactivateCreateRoute.java
Add UI controls for route view to activate/deactivate route mode
[simantics/district.git] / org.simantics.district.route.ui / src / org / simantics / district / route / ui / handlers / DeactivateCreateRoute.java
1 package org.simantics.district.route.ui.handlers;
2
3 import javax.inject.Named;
4
5 import org.eclipse.e4.core.di.annotations.CanExecute;
6 import org.eclipse.e4.core.di.annotations.Execute;
7 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
8 import org.eclipse.e4.ui.services.IServiceConstants;
9 import org.eclipse.jface.viewers.ISelection;
10 import org.eclipse.swt.widgets.Shell;
11 import org.eclipse.ui.IEditorPart;
12 import org.simantics.district.network.ui.DistrictDiagramEditor;
13 import org.simantics.district.network.ui.participants.RoutingMode;
14 import org.simantics.g2d.canvas.ICanvasContext;
15 import org.simantics.modeling.ui.diagramEditor.DiagramViewer;
16 import org.simantics.utils.ui.workbench.WorkbenchUtils;
17
18 /**
19  * @author Jani Simomaa
20  */
21 public class DeactivateCreateRoute {
22
23     @CanExecute
24     public boolean canExecute(@Named(IServiceConstants.ACTIVE_SELECTION) ISelection selection) {
25         IEditorPart activeEditor = WorkbenchUtils.getActiveEditor();
26         if (activeEditor != null && activeEditor instanceof DistrictDiagramEditor) {
27             DistrictDiagramEditor editor = (DistrictDiagramEditor) activeEditor;
28             DiagramViewer viewer = editor.getAdapter(DiagramViewer.class);
29             ICanvasContext context = viewer.getAdapter(ICanvasContext.class);
30             RoutingMode routingMode = context.getAtMostOneItemOfClass(RoutingMode.class);
31             return routingMode != null;
32         }
33         return false;
34     }
35
36     @Execute
37     public void execute(@Named(IServiceConstants.ACTIVE_SHELL) Shell activeShell,
38             @Named(IServiceConstants.ACTIVE_PART) MPart part,
39             @Named(IServiceConstants.ACTIVE_SELECTION) ISelection selection) {
40         
41         IEditorPart activeEditor = WorkbenchUtils.getActiveEditor();
42         if (activeEditor != null && activeEditor instanceof DistrictDiagramEditor) {
43             DistrictDiagramEditor editor = (DistrictDiagramEditor) activeEditor;
44             DiagramViewer viewer = editor.getAdapter(DiagramViewer.class);
45             ICanvasContext context = viewer.getAdapter(ICanvasContext.class);
46             
47 //            context.getSceneGraph
48 //            
49 //            RoutingMode routingMode = context.getAtMostOneItemOfClass(RoutingMode.class);
50 //            if (routingMode == null || routingMode.isRemoved()) {
51 //                routingMode = new RoutingMode(0);
52 //                context.add(routingMode);
53 //            }
54         }
55     }
56 }