diff options
author | Henrik Rentz-Reichert | 2011-03-11 10:50:28 +0000 |
---|---|---|
committer | Henrik Rentz-Reichert | 2011-03-11 10:50:28 +0000 |
commit | 7bb98c82170b7ae43f8e85f9c46fd98a81e018d2 (patch) | |
tree | 9928e6b66b8e28223b8cc366b19a0f49c3c929ac | |
parent | 6193ee5eb387570a110c7ea6a25e31ba17b00e04 (diff) | |
download | org.eclipse.etrice-7bb98c82170b7ae43f8e85f9c46fd98a81e018d2.tar.gz org.eclipse.etrice-7bb98c82170b7ae43f8e85f9c46fd98a81e018d2.tar.xz org.eclipse.etrice-7bb98c82170b7ae43f8e85f9c46fd98a81e018d2.zip |
ui.structure: replaced drill down by custom feature
-rw-r--r-- | plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java | 65 |
1 files changed, 28 insertions, 37 deletions
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java index b7774bf3e..8b07bc00f 100644 --- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java +++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java @@ -12,12 +12,19 @@ package org.eclipse.etrice.ui.structure.support;
-import java.util.ArrayList;
-import java.util.Collection;
-
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.etrice.core.naming.RoomNameProvider;
+import org.eclipse.etrice.core.room.ActorClass;
+import org.eclipse.etrice.core.room.ActorContainerClass;
+import org.eclipse.etrice.core.room.ActorContainerRef;
+import org.eclipse.etrice.core.room.ActorRef;
+import org.eclipse.etrice.core.room.InterfaceItem;
+import org.eclipse.etrice.core.room.LogicalSystem;
+import org.eclipse.etrice.core.room.RoomFactory;
+import org.eclipse.etrice.core.room.StructureClass;
+import org.eclipse.etrice.core.room.SubSystemRef;
import org.eclipse.etrice.ui.structure.DiagramAccess;
import org.eclipse.etrice.ui.structure.ImageProvider;
import org.eclipse.etrice.ui.structure.dialogs.ActorContainerRefPropertyDialog;
@@ -65,7 +72,6 @@ import org.eclipse.graphiti.mm.pictograms.Anchor; import org.eclipse.graphiti.mm.pictograms.AnchorContainer;
import org.eclipse.graphiti.mm.pictograms.ChopboxAnchor;
import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
import org.eclipse.graphiti.mm.pictograms.PictogramElement;
import org.eclipse.graphiti.mm.pictograms.Shape;
import org.eclipse.graphiti.services.Graphiti;
@@ -75,7 +81,6 @@ import org.eclipse.graphiti.tb.ContextButtonEntry; import org.eclipse.graphiti.tb.DefaultToolBehaviorProvider;
import org.eclipse.graphiti.tb.IContextButtonPadData;
import org.eclipse.graphiti.tb.IToolBehaviorProvider;
-import org.eclipse.graphiti.ui.features.AbstractDrillDownFeature;
import org.eclipse.graphiti.ui.features.DefaultDeleteFeature;
import org.eclipse.graphiti.ui.features.DefaultFeatureProvider;
import org.eclipse.graphiti.util.ColorConstant;
@@ -84,17 +89,6 @@ import org.eclipse.jface.window.Window; import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
-import org.eclipse.etrice.core.naming.RoomNameProvider;
-import org.eclipse.etrice.core.room.ActorClass;
-import org.eclipse.etrice.core.room.ActorContainerClass;
-import org.eclipse.etrice.core.room.ActorContainerRef;
-import org.eclipse.etrice.core.room.ActorRef;
-import org.eclipse.etrice.core.room.InterfaceItem;
-import org.eclipse.etrice.core.room.LogicalSystem;
-import org.eclipse.etrice.core.room.RoomFactory;
-import org.eclipse.etrice.core.room.StructureClass;
-import org.eclipse.etrice.core.room.SubSystemRef;
-
public class ActorContainerRefSupport {
private static final int LINE_WIDTH = 1;
@@ -392,9 +386,7 @@ public class ActorContainerRefSupport { }
- private static class DrillDownFeature extends AbstractDrillDownFeature {
-
- private ActorContainerRef ref = null;
+ private static class DrillDownFeature extends AbstractCustomFeature {
public DrillDownFeature(IFeatureProvider fp) {
super(fp);
@@ -411,32 +403,31 @@ public class ActorContainerRefSupport { if (pes != null && pes.length == 1) {
Object bo = getBusinessObjectForPictogramElement(pes[0]);
if (bo instanceof ActorContainerRef) {
- ref = (ActorContainerRef) bo;
return true;
}
}
return false;
}
-
+
+ /* (non-Javadoc)
+ * @see org.eclipse.graphiti.features.custom.ICustomFeature#execute(org.eclipse.graphiti.features.context.ICustomContext)
+ */
@Override
- protected Collection<Diagram> getDiagrams() {
- ArrayList<Diagram> result = new ArrayList<Diagram>();
- if (ref!=null) {
- DiagramAccess diagramAccess = new DiagramAccess();
- if (ref instanceof ActorRef) {
- Diagram diagram = diagramAccess.getDiagram(((ActorRef) ref).getType());
- result.add(diagram);
- }
- else if (ref instanceof SubSystemRef) {
- Diagram diagram = diagramAccess.getDiagram(((SubSystemRef) ref).getType());
- result.add(diagram);
+ public void execute(ICustomContext context) {
+ PictogramElement[] pes = context.getPictogramElements();
+ if (pes != null && pes.length == 1) {
+ Object bo = getBusinessObjectForPictogramElement(pes[0]);
+ if (bo instanceof ActorContainerRef) {
+ ActorContainerRef ref = (ActorContainerRef) bo;
+ DiagramAccess diagramAccess = new DiagramAccess();
+ if (ref instanceof ActorRef) {
+ diagramAccess.openDiagramEditor(((ActorRef) ref).getType());
+ }
+ else if (ref instanceof SubSystemRef) {
+ diagramAccess.openDiagramEditor(((SubSystemRef) ref).getType());
+ }
}
}
- return result;
- }
- @Override
- protected Collection<Diagram> getLinkedDiagrams(PictogramElement pe) {
- return getDiagrams();
}
}
|