diff options
author | rschnekenbu | 2013-06-10 10:05:03 +0000 |
---|---|---|
committer | rschnekenbu | 2013-06-10 10:05:03 +0000 |
commit | a69b0445f8d08bbac803e298cd4ef32a9ebc3f42 (patch) | |
tree | e848af0eb1efa56a43bd3ca5a24d09eb39889a27 /incoming | |
parent | bb94ae8b692abf99b6e8889bd790dc8b38e8f836 (diff) | |
download | org.eclipse.papyrus-a69b0445f8d08bbac803e298cd4ef32a9ebc3f42.tar.gz org.eclipse.papyrus-a69b0445f8d08bbac803e298cd4ef32a9ebc3f42.tar.xz org.eclipse.papyrus-a69b0445f8d08bbac803e298cd4ef32a9ebc3f42.zip |
407049: [Interaction Overview] Papyrus shall support UML2 interaction overview diagram
https://bugs.eclipse.org/bugs/show_bug.cgi?id=407049
=> second version of the diagram, with support of the screenshots of the behavioral diagrams inside the interaction overview diagram
Diffstat (limited to 'incoming')
57 files changed, 3238 insertions, 1742 deletions
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/META-INF/MANIFEST.MF b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/META-INF/MANIFEST.MF index 9c2c2c9ed43..39906c39e4e 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/META-INF/MANIFEST.MF +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/META-INF/MANIFEST.MF @@ -29,20 +29,22 @@ Require-Bundle: org.eclipse.ui, org.eclipse.ui.navigator;bundle-version="3.5.200", org.eclipse.papyrus.infra.extendedtypes;bundle-version="0.10.0", com.google.guava;bundle-version="10.0.1", - org.eclipse.gmf.tooling.runtime;bundle-version="3.1.0" + org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="0.10.0", + org.eclipse.papyrus.sysml.diagram.common;bundle-version="0.10.0", + org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="0.10.0", + org.eclipse.gmf.runtime.diagram.ui.render;bundle-version="1.6.0", + org.eclipse.papyrus.uml.diagram.sequence;bundle-version="0.10.0";resolution:=optional, + org.eclipse.papyrus.uml.diagram.stereotype.edition;bundle-version="0.10.0", + org.eclipse.gmf.tooling.runtime;bundle-version="3.1.0", + org.eclipse.gmf.runtime.draw2d.ui.render;bundle-version="1.4.1", + org.eclipse.papyrus.uml.tools.utils;bundle-version="0.10.0", + org.eclipse.papyrus.infra.emf;bundle-version="0.10.0", + org.eclipse.papyrus.uml.diagram.modelexplorer;bundle-version="0.10.0", + org.eclipse.emf.facet.infra.browser.uicore;bundle-version="0.3.0", + org.eclipse.papyrus.infra.services.labelprovider;bundle-version="0.10.0", + org.eclipse.papyrus.uml.diagram.communication;bundle-version="0.10.0" Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-ActivationPolicy: lazy Bundle-Vendor: %providerName Export-Package: org.eclipse.papyrus.uml.diagram.interactionoverview, - org.eclipse.papyrus.uml.diagram.interactionoverview.edit.commands, - org.eclipse.papyrus.uml.diagram.interactionoverview.edit.dialogs, - org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part, - org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies, - org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policy, - org.eclipse.papyrus.uml.diagram.interactionoverview.factory, - org.eclipse.papyrus.uml.diagram.interactionoverview.figures, - org.eclipse.papyrus.uml.diagram.interactionoverview.parser, - org.eclipse.papyrus.uml.diagram.interactionoverview.part, - org.eclipse.papyrus.uml.diagram.interactionoverview.preferences, - org.eclipse.papyrus.uml.diagram.interactionoverview.provider -Bundle-Localization: plugin + org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/build.properties b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/build.properties index 917db3bf688..42ded34702d 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/build.properties +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/build.properties @@ -7,7 +7,4 @@ bin.includes = META-INF/,\ palettes/,\
icons/,\
about.html,\
- plugin.properties,\
- messages.properties
-src.includes = about.html
-
+ plugin.properties
\ No newline at end of file diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/messages.properties b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/messages.properties index 0edd3525a82..49a633cdf92 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/messages.properties +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/messages.properties @@ -1,7 +1,19 @@ -CustomInteractionOverviewDiagramCreationEditPolicy_CreateActivity
+CustomInteractionOverviewDiagramCreationEditPolicy_CreateActivity=Create Activity
CreateCallActionDialog_BehaviorInvocationCreationTitle=Create a new InteractionUse
CreateCallActionDialog_BehaviorInvocationCreationHelp=<form><p>InteractionUse is a call action that invokes an interaction</p></form>
CreateCallActionDialog_BehaviorInvocationSelectionTitle=Or assign an existing one
CreateCallActionDialog_BehaviorTitle=Create a new InteractionUse
CreateCallActionDialog_SelectBehavior=Select InteractionUse
-CreateCallActionDialog_CreateBehavior=Create InteractionUse
\ No newline at end of file +CreateCallActionDialog_CreateBehavior=Create InteractionUse
+CallBehaviorActionAsInteractionEditHelperAdvice_ConfigureCreatedInteraction=Configure created Interaction
+CallBehaviorActionAsInteractionUseEditHelperAdvice_ConfigureCreatedInteraction=Configure created InteractionUse
+CreateSnapshotForInteractionFromRefreshCommand_CreateSnapshotForRefresh=Create Snapshot from a refresh
+CreateSnapshotForInteractionFromViewDescriptorCommand_CreateSnapshotForRefresh=Create Snapshot from a view constructor
+CreateInteractionUseDialog_InteractionUsePrefix=InteractionUse_
+ActivityContentCompartmentCreationEditPolicy_CreateCallBehaviorActionAsInteractionCommand=Create CallBehaviorAction As Interaction
+CustomIODPaletteFactory_createCallBehaviorActionAsInteractionCreationTool=Create CallBehaviorAction As Interaction Creation Tool
+CreateDiagramImage_LifelineDialogTitle=Select Lifelines
+CreateDiagramImage_LifelineDialogMessage=Select Lifelines
+CreateDiagramImage_MultipleValueSelectorDialog=Lifeline Dialog
+CreateSnapshotForInteractionFromViewDescriptorCommand_DiagramSelectorTitle=Select diagram
+CreateSnapshotForInteractionFromViewDescriptorCommand_DiagramSelectorMessage=Select diagram
\ No newline at end of file diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/model/UML.InteractionOverview.idgen b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/model/UML.InteractionOverview.idgen index 16bc2b352be..9193e78576c 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/model/UML.InteractionOverview.idgen +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/model/UML.InteractionOverview.idgen @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?>
-<idgen:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gmfgen="http://www.eclipse.org/gmf/2009/GenModel" xmlns:idgen="http://www.eclipse.org/papyrus/0.7.0/idgen" name="InteractionOverviewDiagram" type="InteractionOverviewDiagram" icon="" label="Interaction Overview Diagram" language="uml" javaPackagePrefix="org.eclipse.papyrus.uml.diagram.interactionoverview" javaClassPrefix="InteractionOverviewDiagram" createCommandLabel="Create a new Interaction Overview Diagram">
+<idgen:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gmfgen="http://www.eclipse.org/gmf/2009/GenModel" xmlns:idgen="http://www.eclipse.org/papyrus/0.7.0/idgen" name="InteractionOverviewDiagram" type="PapyrusUMLInteractionOverviewDiagram" icon="" label="Interaction Overview Diagram" language="uml" javaPackagePrefix="org.eclipse.papyrus.uml.diagram.interactionoverview" javaClassPrefix="InteractionOverviewDiagram" createCommandLabel="Create a new Interaction Overview Diagram">
<diagramEditPart name="InteractionOverviewDiagramEditPart">
<behaviors javaClassQualifiedName="org.eclipse.papyrus.uml.diagram.common.editpolicies.DuplicatePasteEditPolicy" key="DuplicatePasteEditPolicy.PASTE_ROLE"/>
<behaviors javaClassQualifiedName="org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies.CustomInteractionOverviewDiagramCreationEditPolicy" key="org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.CREATION_ROLE"/>
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/palettes/interactionoverviewdiagram.palette.xml b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/palettes/interactionoverviewdiagram.palette.xml index a777629bca7..857a1c1984a 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/palettes/interactionoverviewdiagram.palette.xml +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/palettes/interactionoverviewdiagram.palette.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <paletteDefinition> <content> - <drawer id="internalblock.drawer.nodes" name="Nodes" iconpath="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <drawer id="interactionoverview.drawer.nodes" name="Nodes" iconpath="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> <aspectTool description="Create a new Activity" id="interactionoverviewdiagram.tool.activity" @@ -87,7 +87,7 @@ refToolId="createConstraint6CreationTool"> </aspectTool> </drawer> - <drawer id="internalblock.drawer.edges" name="Edges" iconpath="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <drawer id="interactionoverview.drawer.edges" name="Edges" iconpath="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> <aspectTool description="Create a new CommentAnnotatedElement" id="interactionoverviewdiagram.tool.commentannotatedelement" diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/plugin.gen.xml b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/plugin.gen.xml index b6f09eb2a4a..544dec3e9dd 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/plugin.gen.xml +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/plugin.gen.xml @@ -512,7 +512,7 @@ </object> <context - views="ACTIVITY_FINAL_NODE_CN, CALL_BEHAVIOR_ACTION_CN, COMMENT_CN, CONDITIONAL_NODE_CN, DECISION_NODE_CN, FLOW_FINAL_NODE_CN, FORK_NODE_CN, INITIAL_NODE_CN, JOIN_NODE_CN, LOOP_NODE_CN, MERGE_NODE_CN, NAMED_ELEMENT_CN, ACTIVITY, SEQUENCE_NODE_CN, CONSTRAINT_CN"/> + views="ACTIVITY_FINAL_NODE_CN, CALL_BEHAVIOR_ACTION_CN, COMMENT_CN, CONDITIONAL_NODE_CN, DECISION_NODE_CN, FLOW_FINAL_NODE_CN, FORK_NODE_CN, INITIAL_NODE_CN, JOIN_NODE_CN, LOOP_NODE_CN, MERGE_NODE_CN, SHAPE_NAMED_ELEMENT_CN, ACTIVITY, SEQUENCE_NODE_CN, CONSTRAINT_CN"/> <context views="ACTIVITY_PARAMETER_CLN, ACTIVITY_CONSTRAINT_CLN, ACTIVITY_CONSTRAINT_CLN"/> <context views="COMMENT_ANNOTATED_ELEMENT, CONTROL_FLOW"/> diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/plugin.xml b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/plugin.xml index 828fa484dd1..b346663dcc2 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/plugin.xml +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/plugin.xml @@ -106,18 +106,21 @@ <Priority name="Low"/>
<!-- Specify diagram this palette tools relate to -->
- <editor id="org.eclipse.papyrus.uml.diagram.interactionoverview"/>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.interactionoverview"/>
</paletteDefinition>
</extension>
<!-- Diagram view providers declaration -->
<extension point="org.eclipse.gmf.runtime.diagram.core.viewProviders">
<!-- Diagram view provider -->
- <viewProvider class="org.eclipse.papyrus.uml.diagram.interactionoverview.provider.CustomViewProvider">
- <Priority name="Low"/>
+ <viewProvider class="org.eclipse.papyrus.uml.diagram.interactionoverview.provider.InteractionOverviewDiagramViewProvider">
+ <Priority name="Medium"/>
<context
viewClass="org.eclipse.gmf.runtime.notation.Diagram"
semanticHints=""/>
+
+
</viewProvider>
<!-- ViewProvider for inherited elements (from ActivityDiagram ViewProvider) -->
@@ -334,6 +337,31 @@ elements="uml.ControlFlow"/>
</viewProvider>
+ <viewProvider
+ class="org.eclipse.papyrus.uml.diagram.interactionoverview.provider.CustomViewProvider">
+ <Priority
+ name="High">
+ </Priority>
+ <context
+ viewClass="org.eclipse.gmf.runtime.notation.Node"
+ semanticHints="5000"/>
+
+ <!-- "4006" = COMMENT_ANNOTATED_ELEMENT "4004" = CONTROL_FLOW -->
+
+ <object
+ id="elementtype.node"
+ class="org.eclipse.papyrus.gmf.diagram.common.commands.ISemanticHintAdapter(org.eclipse.papyrus.sysml.diagram.common)">
+
+ <method
+ name="getSemanticHint()"
+ value="5000">
+ </method>
+ </object>
+ <context
+ viewClass="org.eclipse.gmf.runtime.notation.Node"
+ elements="elementtype.node"/>
+
+ </viewProvider>
</extension>
<!-- Diagram edit part providers declaration -->
@@ -455,7 +483,7 @@ class="org.eclipse.gmf.runtime.notation.Node">
<method
name="getType()"
- value="5001, 5002, 7001, 7002, 7003, 7004, 2001"/>
+ value="5001, 5002, 7001, 7002, 7003, 7004"/>
</object>
<object
id="SEQUENCE_NODE_CN"
@@ -513,7 +541,7 @@ </object>
<context
- views="ACTIVITY_FINAL_NODE_CN, CALL_BEHAVIOR_ACTION_CN, COMMENT_CN, CONDITIONAL_NODE_CN, DECISION_NODE_CN, FLOW_FINAL_NODE_CN, FORK_NODE_CN, INITIAL_NODE_CN, JOIN_NODE_CN, LOOP_NODE_CN, MERGE_NODE_CN, SEQUENCE_NODE_CN, CONSTRAINT_CN, ACTIVITY"/> + views="ACTIVITY_FINAL_NODE_CN, CALL_BEHAVIOR_ACTION_CN, COMMENT_CN, CONDITIONAL_NODE_CN, DECISION_NODE_CN, FLOW_FINAL_NODE_CN, FORK_NODE_CN, INITIAL_NODE_CN, JOIN_NODE_CN, LOOP_NODE_CN, MERGE_NODE_CN, SHAPE_NAMED_ELEMENT_CN, SEQUENCE_NODE_CN, CONSTRAINT_CN"/>
<context views="ACTIVITY_PARAMETER_CLN, ACTIVITY_CONSTRAINT_CLN, ACTIVITY_CONSTRAINT_CLN"/>
<context views="COMMENT_ANNOTATED_ELEMENT, CONTROL_FLOW"/>
@@ -527,12 +555,12 @@ class="org.eclipse.papyrus.uml.diagram.interactionoverview.provider.CustomEditPartProvider">
<Priority name="Medium"/>
<object
- class="org.eclipse.gmf.runtime.notation.Node(org.eclipse.gmf.runtime.notation)"
- id="customized-edit-parts">
+ class="org.eclipse.gmf.runtime.notation.Node"
+ id="ACTIVITY">
<!-- 2001 = ActivityEditPartTN -->
<method name="getType()" value="2001"/>
</object>
- <context views="customized-edit-parts"/>
+ <context views="ACTIVITY"/>
</editpartProvider>
</extension>
@@ -718,6 +746,78 @@ <Priority name="Low"/>
</ParserProvider>
</extension>
+ <extension
+ id="org.eclipse.papyrus.uml.diagram.timing.palettedefinition"
+ name="Papyrus Interaction Overview Diagram (Incubation) Predefined Entries"
+ point="org.eclipse.gmf.runtime.diagram.ui.paletteProviders">
+ <paletteProvider
+ class="org.eclipse.gmf.runtime.diagram.ui.providers.DefaultPaletteProvider">
+ <Priority
+ name="Medium">
+ </Priority>
+ <contribution
+ factoryClass="org.eclipse.papyrus.uml.diagram.interactionoverview.part.CustomIODPaletteFactory">
+ <entry
+ defineOnly="false"
+ description="Create a new Interaction with snapshot"
+ id="createCallBehaviorActionAsInteractionCreationTool"
+ kind="tool"
+ label="Interaction"
+ large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Interaction.gif"
+ path="/interactionoverview.drawer.nodes/"
+ small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Interaction.gif">
+ path="/InteractionSnapshotGroup">
+ </entry>
+ </contribution>
+ <editor
+ id="org.eclipse.papyrus.uml.diagram.interactionoverview">
+ </editor>
+ </paletteProvider>
+ </extension>
+ <extension
+ point="org.eclipse.gmf.runtime.emf.type.core.elementTypes">
+ <metamodel
+ nsURI="http://www.eclipse.org/uml2/4.0.0/UML">
+ <specializationType
+ edithelperadvice="org.eclipse.papyrus.uml.diagram.interactionoverview.edit.advices.CallBehaviorActionAsInteractionEditHelperAdvice"
+ id="org.eclipse.papyrus.uml.diagram.interactionoverview.CallBehaviorAction_5000"
+ kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType"
+ name="%metatype.name.CallBehaviorAction_5000">
+ <specializes
+ id="org.eclipse.papyrus.uml.diagram.activity.CallBehaviorAction_3008">
+ </specializes>
+ <param
+ name="semanticHint"
+ value="5000">
+ </param>
+ </specializationType>
+ <adviceBinding
+ class="org.eclipse.papyrus.uml.diagram.interactionoverview.edit.advices.CallBehaviorActionAsInteractionUseEditHelperAdvice"
+ id="org.eclipse.papyrus.uml.diagram.interactionoverview.edit.advices.CallBehaviorActionAsInteractionUseEditHelperAdvice"
+ inheritance="none"
+ typeId="org.eclipse.papyrus.uml.diagram.activity.CallBehaviorAction_3008">
+ </adviceBinding>
+ </metamodel>
+ </extension>
+ <extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings" id="element-types-bindings">
+ <?gmfgen generated="true"?>
+ <clientContext id="org.eclipse.papyrus.uml.diagram.activity.TypeContext">
+ <enablement>
+ <test
+ property="org.eclipse.gmf.runtime.emf.core.editingDomain"
+ value="org.eclipse.papyrus.uml.diagram.activity.EditingDomain"/>
+ </enablement>
+ </clientContext>
+ <binding context="org.eclipse.papyrus.infra.services.edit.TypeContext">
+ <elementType ref="org.eclipse.papyrus.uml.diagram.interactionoverview.CallBehaviorAction_5000"/>
+ <advice
+ ref="org.eclipse.papyrus.uml.diagram.interactionoverview.edit.advices.CallBehaviorActionAsInteractionEditHelperAdvice">
+ </advice>
+ <advice
+ ref="org.eclipse.papyrus.uml.diagram.interactionoverview.edit.advices.CallBehaviorActionAsInteractionUseEditHelperAdvice">
+ </advice>
+ </binding>
+ </extension>
<!-- Insert custom extensions here. -->
<!-- // End of user code -->
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/Activator.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/Activator.java index e91c104d089..3f1691343ce 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/Activator.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/Activator.java @@ -15,6 +15,7 @@ import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.papyrus.infra.core.log.LogHelper; import org.eclipse.papyrus.uml.diagram.interactionoverview.preferences.InteractionOverviewDiagramPreferenceInitializer; +import org.eclipse.papyrus.uml.diagram.interactionoverview.provider.ElementInitializers; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; @@ -107,4 +108,10 @@ public class Activator extends AbstractUIPlugin { final IPreferenceStore store = org.eclipse.papyrus.infra.gmfdiag.preferences.Activator.getDefault().getPreferenceStore(); return store; } + + private ElementInitializers initializers; + + public ElementInitializers getElementInitializers() { + return initializers; + } } diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/InteractionOverviewDiagramForMultiEditor.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/InteractionOverviewDiagramForMultiEditor.java index e216a113df2..0047f955a54 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/InteractionOverviewDiagramForMultiEditor.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/InteractionOverviewDiagramForMultiEditor.java @@ -36,7 +36,7 @@ public class InteractionOverviewDiagramForMultiEditor extends InteractionOvervie /** * The location of diagram icon in the plug-in */ - private static final String DIAG_IMG_PATH = "icons/obj16/interactionOverviewDiagram.gif"; //$NON-NLS-1$ + private static final String DIAG_IMG_PATH = ""; /** * The image descriptor of the diagram icon diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policy/InteractionOverviewDiagramDragDropEditPolicy.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policy/InteractionOverviewDiagramDragDropEditPolicy.java index afa0e6cc736..4cffd5c2b37 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policy/InteractionOverviewDiagramDragDropEditPolicy.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policy/InteractionOverviewDiagramDragDropEditPolicy.java @@ -10,42 +10,40 @@ *****************************************************************************/ package org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policy; +import java.util.Collections; +import java.util.Set; + import org.eclipse.emf.ecore.EObject; -import org.eclipse.gmf.runtime.notation.View; -import org.eclipse.papyrus.uml.diagram.activity.edit.policies.CustomDiagramDragDropEditPolicy; -import org.eclipse.papyrus.uml.diagram.interactionoverview.provider.GraphicalTypeRegistry; -import org.eclipse.papyrus.uml.diagram.interactionoverview.provider.IGraphicalTypeRegistry; +import org.eclipse.gmf.runtime.common.core.command.ICommand; +import org.eclipse.gmf.runtime.diagram.ui.requests.DropObjectsRequest; +import org.eclipse.papyrus.gmf.diagram.common.edit.policy.CommonDiagramDragDropEditPolicy; /** * Customization of the DND edit policy for the InteractionOverviewDiagram * Diagram */ -public class InteractionOverviewDiagramDragDropEditPolicy extends CustomDiagramDragDropEditPolicy { +public class InteractionOverviewDiagramDragDropEditPolicy extends CommonDiagramDragDropEditPolicy { - /** Local graphical type registry */ - protected IGraphicalTypeRegistry registry = new GraphicalTypeRegistry(); + /** Default constructor. */ + public InteractionOverviewDiagramDragDropEditPolicy() { + super(null); + // registry = new CustomGraphicalTypeRegistry(); + } /** * {@inheritDoc} */ @Override - public int getNodeVisualID(final View containerView, final EObject domainElement) { - final String domainType = registry.getNodeGraphicalType(domainElement, containerView.getType()); - if(IGraphicalTypeRegistry.UNDEFINED_TYPE.equals(domainType)) { - return -1; // undefined - } - return new Integer(domainType); + protected Set<String> getSpecificDropBehaviorTypes() { + return Collections.emptySet(); } /** * {@inheritDoc} */ @Override - public int getLinkWithClassVisualID(final EObject domainElement) { - final String domainType = registry.getEdgeGraphicalType(domainElement); - if(IGraphicalTypeRegistry.UNDEFINED_TYPE.equals(domainType)) { - return -1; // undefined - } - return new Integer(domainType); + protected ICommand getUnknownDropCommand(final DropObjectsRequest dropRequest, final EObject droppedEObject) { + + return super.getUnknownDropCommand(dropRequest, droppedEObject); } } diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomUMLParserProvider.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomUMLParserProvider.java index dbbbed3aded..21b1153288f 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomUMLParserProvider.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomUMLParserProvider.java @@ -10,47 +10,13 @@ *****************************************************************************/
package org.eclipse.papyrus.uml.diagram.interactionoverview.provider;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.gmf.runtime.common.core.service.IOperation;
-import org.eclipse.gmf.runtime.common.ui.services.parser.GetParserOperation;
import org.eclipse.gmf.runtime.common.ui.services.parser.IParser;
-import org.eclipse.gmf.runtime.notation.Diagram;
import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CallBehaviorActionNameEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes;
import org.eclipse.papyrus.uml.diagram.activity.providers.UMLParserProvider;
import org.eclipse.papyrus.uml.diagram.interactionoverview.parser.CustomCallBehaviorActionParser;
-
public class CustomUMLParserProvider extends UMLParserProvider {
- @Override
- public boolean provides(IOperation operation) {
- if(operation instanceof GetParserOperation) {
- IAdaptable hint = ((GetParserOperation)operation).getHint();
-
- if(hint!=null) {
- Diagram diagram = (Diagram)hint.getAdapter(Diagram.class);
- if(diagram!=null) {
- if(ElementTypes.DIAGRAM_ID.equals(diagram.getType())) {
- if(UMLElementTypes.getElement(hint) == null) {
- return false;
- }
- return getParser(hint) != null;
- } else {
- return false;
- }
- } else {
- return false;
- }
- } else {
- return false;
- }
- }
- return super.provides(operation);
- }
-
-
-
/**
* @see org.eclipse.papyrus.uml.diagram.activity.providers.UMLParserProvider#getParser(int)
*
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/ElementTypes.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/ElementTypes.java index 876d5976549..6261ffd5674 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/ElementTypes.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/ElementTypes.java @@ -20,7 +20,7 @@ public class ElementTypes extends AbstractElementTypeEnumerator { /** ********************************************************* */ /** Interaction Overview Diagram :: Diagram */ - public static final String DIAGRAM_ID = "InteractionOverviewDiagram"; //$NON-NLS-1$ + public static final String DIAGRAM_ID = "PapyrusUMLInteractionOverviewDiagram"; //$NON-NLS-1$ /** ********************************************************* */ /** Interaction Overview Diagram - ActivityDiagram related elements */ diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/InheritedActivityDiagramViewProvider.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/InheritedActivityDiagramViewProvider.java index 0641607717f..2b7cf92c854 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/InheritedActivityDiagramViewProvider.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/InheritedActivityDiagramViewProvider.java @@ -150,123 +150,7 @@ public class InheritedActivityDiagramViewProvider extends CustomUMLViewProvider final IElementType elementType = (IElementType)op.getSemanticAdapter().getAdapter(IElementType.class); if(elementType == ElementTypes.ACTIVITY_FINAL_NODE_CN) { - // node: - // org.eclipse.gmf.codegen.gmfgen.impl.GenChildNodeImpl@1b2c55c7 - // (visualID: 3005, editPartClassName: ActivityFinalNodeEditPart, - // itemSemanticEditPolicyClassName: - // ActivityFinalNodeItemSemanticEditPolicy, - // notationViewFactoryClassName: ActivityFinalNodeViewFactory) - // (canonicalEditPolicyClassName: - // ActivityFinalNodeCanonicalEditPolicy) - // (primaryDragEditPolicyQualifiedClassName: null, - // graphicalNodeEditPolicyClassName: - // ActivityFinalNodeGraphicalNodeEditPolicy, createCommandClassName: - // ActivityFinalNodeCreateCommand) - // containers: - // org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@db986d8 - // (visualID: 7004, editPartClassName: - // ActivityActivityContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityActivityContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityActivityContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@68bbc547 - // (visualID: 7013, editPartClassName: - // ActivityCNContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityCNContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityCNContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@20266003 - // (visualID: 7008, editPartClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7f94ee08 - // (visualID: 7009, editPartClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7a083b7b - // (visualID: 7010, editPartClassName: - // LoopNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // LoopNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3fc5ba30 - // (visualID: 7012, editPartClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@a9790a8 - // (visualID: 7005, editPartClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@649a0b06 - // (visualID: 7006, editPartClassName: - // ActivityPartitionActivityPartitionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityPartitionActivityPartitionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentCanonicalEditPolicy) - // (title: ActivityPartitionContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3d49ea83 - // (visualID: 7007, editPartClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentCanonicalEditPolicy) - // (title: InterruptibleActivityRegionContentCompartment, - // canCollapse: false, hideIfEmpty: true, needsTitle: false, - // listLayout: false) - // nodeRef: - // org.eclipse.papyrus.generation.diagram.idgen.impl.GenNodeRefImpl@533dc18 - // (name: null) (customPreferencePage: null, generatePreferencePage: - // true, generateTool: true) + if(ElementTypes.ACTIVITY_COMPARTMENT_ACTIVITY_FIGURE_CONTENT_HINT.equals(containerGraphicalType)) { return true; } @@ -281,123 +165,7 @@ public class InheritedActivityDiagramViewProvider extends CustomUMLViewProvider } } if(elementType == ElementTypes.CALL_BEHAVIOR_ACTION_CN) { - // node: - // org.eclipse.gmf.codegen.gmfgen.impl.GenChildNodeImpl@2c768384 - // (visualID: 3008, editPartClassName: CallBehaviorActionEditPart, - // itemSemanticEditPolicyClassName: - // CallBehaviorActionItemSemanticEditPolicy, - // notationViewFactoryClassName: CallBehaviorActionViewFactory) - // (canonicalEditPolicyClassName: - // CallBehaviorActionCanonicalEditPolicy) - // (primaryDragEditPolicyQualifiedClassName: null, - // graphicalNodeEditPolicyClassName: - // CallBehaviorActionGraphicalNodeEditPolicy, - // createCommandClassName: CallBehaviorActionCreateCommand) - // containers: - // org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@db986d8 - // (visualID: 7004, editPartClassName: - // ActivityActivityContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityActivityContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityActivityContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@68bbc547 - // (visualID: 7013, editPartClassName: - // ActivityCNContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityCNContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityCNContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@20266003 - // (visualID: 7008, editPartClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7f94ee08 - // (visualID: 7009, editPartClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7a083b7b - // (visualID: 7010, editPartClassName: - // LoopNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // LoopNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3fc5ba30 - // (visualID: 7012, editPartClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@a9790a8 - // (visualID: 7005, editPartClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@649a0b06 - // (visualID: 7006, editPartClassName: - // ActivityPartitionActivityPartitionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityPartitionActivityPartitionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentCanonicalEditPolicy) - // (title: ActivityPartitionContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3d49ea83 - // (visualID: 7007, editPartClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentCanonicalEditPolicy) - // (title: InterruptibleActivityRegionContentCompartment, - // canCollapse: false, hideIfEmpty: true, needsTitle: false, - // listLayout: false) - // nodeRef: - // org.eclipse.papyrus.generation.diagram.idgen.impl.GenNodeRefImpl@fb6ae53 - // (name: null) (customPreferencePage: null, generatePreferencePage: - // true, generateTool: true) + if(ElementTypes.ACTIVITY_COMPARTMENT_ACTIVITY_FIGURE_CONTENT_HINT.equals(containerGraphicalType)) { return true; } @@ -412,120 +180,7 @@ public class InheritedActivityDiagramViewProvider extends CustomUMLViewProvider } } if(elementType == ElementTypes.COMMENT_CN) { - // node: - // org.eclipse.gmf.codegen.gmfgen.impl.GenChildNodeImpl@6b8ef251 - // (visualID: 3080, editPartClassName: CommentEditPartCN, - // itemSemanticEditPolicyClassName: CommentItemSemanticEditPolicy, - // notationViewFactoryClassName: CommentViewFactory) - // (canonicalEditPolicyClassName: CommentCanonicalEditPolicy) - // (primaryDragEditPolicyQualifiedClassName: null, - // graphicalNodeEditPolicyClassName: CommentGraphicalNodeEditPolicy, - // createCommandClassName: CommentCreateCommand) - // containers: - // org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@db986d8 - // (visualID: 7004, editPartClassName: - // ActivityActivityContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityActivityContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityActivityContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@68bbc547 - // (visualID: 7013, editPartClassName: - // ActivityCNContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityCNContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityCNContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@a9790a8 - // (visualID: 7005, editPartClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@20266003 - // (visualID: 7008, editPartClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7f94ee08 - // (visualID: 7009, editPartClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7a083b7b - // (visualID: 7010, editPartClassName: - // LoopNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // LoopNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3fc5ba30 - // (visualID: 7012, editPartClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@649a0b06 - // (visualID: 7006, editPartClassName: - // ActivityPartitionActivityPartitionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityPartitionActivityPartitionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentCanonicalEditPolicy) - // (title: ActivityPartitionContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3d49ea83 - // (visualID: 7007, editPartClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentCanonicalEditPolicy) - // (title: InterruptibleActivityRegionContentCompartment, - // canCollapse: false, hideIfEmpty: true, needsTitle: false, - // listLayout: false) - // nodeRef: - // org.eclipse.papyrus.generation.diagram.idgen.impl.GenNodeRefImpl@226ed334 - // (name: null) (customPreferencePage: null, generatePreferencePage: - // true, generateTool: true) + if(ElementTypes.ACTIVITY_COMPARTMENT_ACTIVITY_FIGURE_CONTENT_HINT.equals(containerGraphicalType)) { return true; } @@ -540,123 +195,7 @@ public class InheritedActivityDiagramViewProvider extends CustomUMLViewProvider } } if(elementType == ElementTypes.CONDITIONAL_NODE_CN) { - // node: - // org.eclipse.gmf.codegen.gmfgen.impl.GenChildNodeImpl@52545b0f - // (visualID: 3069, editPartClassName: ConditionalNodeEditPart, - // itemSemanticEditPolicyClassName: - // ConditionalNodeItemSemanticEditPolicy, - // notationViewFactoryClassName: ConditionalNodeViewFactory) - // (canonicalEditPolicyClassName: - // ConditionalNodeCanonicalEditPolicy) - // (primaryDragEditPolicyQualifiedClassName: null, - // graphicalNodeEditPolicyClassName: - // ConditionalNodeGraphicalNodeEditPolicy, createCommandClassName: - // ConditionalNodeCreateCommand) - // containers: - // org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@db986d8 - // (visualID: 7004, editPartClassName: - // ActivityActivityContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityActivityContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityActivityContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@68bbc547 - // (visualID: 7013, editPartClassName: - // ActivityCNContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityCNContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityCNContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@20266003 - // (visualID: 7008, editPartClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7f94ee08 - // (visualID: 7009, editPartClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7a083b7b - // (visualID: 7010, editPartClassName: - // LoopNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // LoopNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3fc5ba30 - // (visualID: 7012, editPartClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@a9790a8 - // (visualID: 7005, editPartClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@649a0b06 - // (visualID: 7006, editPartClassName: - // ActivityPartitionActivityPartitionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityPartitionActivityPartitionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentCanonicalEditPolicy) - // (title: ActivityPartitionContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3d49ea83 - // (visualID: 7007, editPartClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentCanonicalEditPolicy) - // (title: InterruptibleActivityRegionContentCompartment, - // canCollapse: false, hideIfEmpty: true, needsTitle: false, - // listLayout: false) - // nodeRef: - // org.eclipse.papyrus.generation.diagram.idgen.impl.GenNodeRefImpl@19ec0c95 - // (name: null) (customPreferencePage: null, generatePreferencePage: - // true, generateTool: true) + if(ElementTypes.ACTIVITY_COMPARTMENT_ACTIVITY_FIGURE_CONTENT_HINT.equals(containerGraphicalType)) { return true; } @@ -671,122 +210,7 @@ public class InheritedActivityDiagramViewProvider extends CustomUMLViewProvider } } if(elementType == ElementTypes.DECISION_NODE_CN) { - // node: - // org.eclipse.gmf.codegen.gmfgen.impl.GenChildNodeImpl@637950d4 - // (visualID: 3038, editPartClassName: DecisionNodeEditPart, - // itemSemanticEditPolicyClassName: - // DecisionNodeItemSemanticEditPolicy, notationViewFactoryClassName: - // DecisionNodeViewFactory) (canonicalEditPolicyClassName: - // DecisionNodeCanonicalEditPolicy) - // (primaryDragEditPolicyQualifiedClassName: null, - // graphicalNodeEditPolicyClassName: - // DecisionNodeGraphicalNodeEditPolicy, createCommandClassName: - // DecisionNodeCreateCommand) - // containers: - // org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@db986d8 - // (visualID: 7004, editPartClassName: - // ActivityActivityContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityActivityContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityActivityContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@68bbc547 - // (visualID: 7013, editPartClassName: - // ActivityCNContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityCNContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityCNContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@20266003 - // (visualID: 7008, editPartClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7f94ee08 - // (visualID: 7009, editPartClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7a083b7b - // (visualID: 7010, editPartClassName: - // LoopNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // LoopNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3fc5ba30 - // (visualID: 7012, editPartClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@a9790a8 - // (visualID: 7005, editPartClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@649a0b06 - // (visualID: 7006, editPartClassName: - // ActivityPartitionActivityPartitionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityPartitionActivityPartitionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentCanonicalEditPolicy) - // (title: ActivityPartitionContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3d49ea83 - // (visualID: 7007, editPartClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentCanonicalEditPolicy) - // (title: InterruptibleActivityRegionContentCompartment, - // canCollapse: false, hideIfEmpty: true, needsTitle: false, - // listLayout: false) - // nodeRef: - // org.eclipse.papyrus.generation.diagram.idgen.impl.GenNodeRefImpl@582e177e - // (name: null) (customPreferencePage: null, generatePreferencePage: - // true, generateTool: true) + if(ElementTypes.ACTIVITY_COMPARTMENT_ACTIVITY_FIGURE_CONTENT_HINT.equals(containerGraphicalType)) { return true; } @@ -801,122 +225,7 @@ public class InheritedActivityDiagramViewProvider extends CustomUMLViewProvider } } if(elementType == ElementTypes.FLOW_FINAL_NODE_CN) { - // node: - // org.eclipse.gmf.codegen.gmfgen.impl.GenChildNodeImpl@5d34de68 - // (visualID: 3006, editPartClassName: FlowFinalNodeEditPart, - // itemSemanticEditPolicyClassName: - // FlowFinalNodeItemSemanticEditPolicy, - // notationViewFactoryClassName: FlowFinalNodeViewFactory) - // (canonicalEditPolicyClassName: FlowFinalNodeCanonicalEditPolicy) - // (primaryDragEditPolicyQualifiedClassName: null, - // graphicalNodeEditPolicyClassName: - // FlowFinalNodeGraphicalNodeEditPolicy, createCommandClassName: - // FlowFinalNodeCreateCommand) - // containers: - // org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@db986d8 - // (visualID: 7004, editPartClassName: - // ActivityActivityContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityActivityContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityActivityContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@68bbc547 - // (visualID: 7013, editPartClassName: - // ActivityCNContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityCNContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityCNContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@20266003 - // (visualID: 7008, editPartClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7f94ee08 - // (visualID: 7009, editPartClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7a083b7b - // (visualID: 7010, editPartClassName: - // LoopNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // LoopNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3fc5ba30 - // (visualID: 7012, editPartClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@a9790a8 - // (visualID: 7005, editPartClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@649a0b06 - // (visualID: 7006, editPartClassName: - // ActivityPartitionActivityPartitionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityPartitionActivityPartitionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentCanonicalEditPolicy) - // (title: ActivityPartitionContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3d49ea83 - // (visualID: 7007, editPartClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentCanonicalEditPolicy) - // (title: InterruptibleActivityRegionContentCompartment, - // canCollapse: false, hideIfEmpty: true, needsTitle: false, - // listLayout: false) - // nodeRef: - // org.eclipse.papyrus.generation.diagram.idgen.impl.GenNodeRefImpl@3a087e6c - // (name: null) (customPreferencePage: null, generatePreferencePage: - // true, generateTool: true) + if(ElementTypes.ACTIVITY_COMPARTMENT_ACTIVITY_FIGURE_CONTENT_HINT.equals(containerGraphicalType)) { return true; } @@ -931,121 +240,7 @@ public class InheritedActivityDiagramViewProvider extends CustomUMLViewProvider } } if(elementType == ElementTypes.FORK_NODE_CN) { - // node: - // org.eclipse.gmf.codegen.gmfgen.impl.GenChildNodeImpl@4a03cc69 - // (visualID: 3040, editPartClassName: ForkNodeEditPart, - // itemSemanticEditPolicyClassName: ForkNodeItemSemanticEditPolicy, - // notationViewFactoryClassName: ForkNodeViewFactory) - // (canonicalEditPolicyClassName: ForkNodeCanonicalEditPolicy) - // (primaryDragEditPolicyQualifiedClassName: null, - // graphicalNodeEditPolicyClassName: - // ForkNodeGraphicalNodeEditPolicy, createCommandClassName: - // ForkNodeCreateCommand) - // containers: - // org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@db986d8 - // (visualID: 7004, editPartClassName: - // ActivityActivityContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityActivityContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityActivityContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@68bbc547 - // (visualID: 7013, editPartClassName: - // ActivityCNContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityCNContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityCNContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@20266003 - // (visualID: 7008, editPartClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7f94ee08 - // (visualID: 7009, editPartClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7a083b7b - // (visualID: 7010, editPartClassName: - // LoopNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // LoopNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3fc5ba30 - // (visualID: 7012, editPartClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@a9790a8 - // (visualID: 7005, editPartClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@649a0b06 - // (visualID: 7006, editPartClassName: - // ActivityPartitionActivityPartitionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityPartitionActivityPartitionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentCanonicalEditPolicy) - // (title: ActivityPartitionContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3d49ea83 - // (visualID: 7007, editPartClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentCanonicalEditPolicy) - // (title: InterruptibleActivityRegionContentCompartment, - // canCollapse: false, hideIfEmpty: true, needsTitle: false, - // listLayout: false) - // nodeRef: - // org.eclipse.papyrus.generation.diagram.idgen.impl.GenNodeRefImpl@3a40238 - // (name: ) (customPreferencePage: null, generatePreferencePage: - // true, generateTool: true) + if(ElementTypes.ACTIVITY_COMPARTMENT_ACTIVITY_FIGURE_CONTENT_HINT.equals(containerGraphicalType)) { return true; } @@ -1060,122 +255,7 @@ public class InheritedActivityDiagramViewProvider extends CustomUMLViewProvider } } if(elementType == ElementTypes.INITIAL_NODE_CN) { - // node: - // org.eclipse.gmf.codegen.gmfgen.impl.GenChildNodeImpl@7894a07a - // (visualID: 3004, editPartClassName: InitialNodeEditPart, - // itemSemanticEditPolicyClassName: - // InitialNodeItemSemanticEditPolicy, notationViewFactoryClassName: - // InitialNodeViewFactory) (canonicalEditPolicyClassName: - // InitialNodeCanonicalEditPolicy) - // (primaryDragEditPolicyQualifiedClassName: null, - // graphicalNodeEditPolicyClassName: - // InitialNodeGraphicalNodeEditPolicy, createCommandClassName: - // InitialNodeCreateCommand) - // containers: - // org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@db986d8 - // (visualID: 7004, editPartClassName: - // ActivityActivityContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityActivityContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityActivityContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@68bbc547 - // (visualID: 7013, editPartClassName: - // ActivityCNContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityCNContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityCNContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@20266003 - // (visualID: 7008, editPartClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7f94ee08 - // (visualID: 7009, editPartClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7a083b7b - // (visualID: 7010, editPartClassName: - // LoopNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // LoopNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3fc5ba30 - // (visualID: 7012, editPartClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@a9790a8 - // (visualID: 7005, editPartClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@649a0b06 - // (visualID: 7006, editPartClassName: - // ActivityPartitionActivityPartitionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityPartitionActivityPartitionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentCanonicalEditPolicy) - // (title: ActivityPartitionContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3d49ea83 - // (visualID: 7007, editPartClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentCanonicalEditPolicy) - // (title: InterruptibleActivityRegionContentCompartment, - // canCollapse: false, hideIfEmpty: true, needsTitle: false, - // listLayout: false) - // nodeRef: - // org.eclipse.papyrus.generation.diagram.idgen.impl.GenNodeRefImpl@48dac66 - // (name: null) (customPreferencePage: null, generatePreferencePage: - // true, generateTool: true) + if(ElementTypes.ACTIVITY_COMPARTMENT_ACTIVITY_FIGURE_CONTENT_HINT.equals(containerGraphicalType)) { return true; } @@ -1190,121 +270,7 @@ public class InheritedActivityDiagramViewProvider extends CustomUMLViewProvider } } if(elementType == ElementTypes.JOIN_NODE_CN) { - // node: - // org.eclipse.gmf.codegen.gmfgen.impl.GenChildNodeImpl@61f1aec - // (visualID: 3041, editPartClassName: JoinNodeEditPart, - // itemSemanticEditPolicyClassName: JoinNodeItemSemanticEditPolicy, - // notationViewFactoryClassName: JoinNodeViewFactory) - // (canonicalEditPolicyClassName: JoinNodeCanonicalEditPolicy) - // (primaryDragEditPolicyQualifiedClassName: null, - // graphicalNodeEditPolicyClassName: - // JoinNodeGraphicalNodeEditPolicy, createCommandClassName: - // JoinNodeCreateCommand) - // containers: - // org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@db986d8 - // (visualID: 7004, editPartClassName: - // ActivityActivityContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityActivityContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityActivityContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@68bbc547 - // (visualID: 7013, editPartClassName: - // ActivityCNContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityCNContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityCNContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@20266003 - // (visualID: 7008, editPartClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7f94ee08 - // (visualID: 7009, editPartClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7a083b7b - // (visualID: 7010, editPartClassName: - // LoopNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // LoopNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3fc5ba30 - // (visualID: 7012, editPartClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@a9790a8 - // (visualID: 7005, editPartClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@649a0b06 - // (visualID: 7006, editPartClassName: - // ActivityPartitionActivityPartitionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityPartitionActivityPartitionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentCanonicalEditPolicy) - // (title: ActivityPartitionContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3d49ea83 - // (visualID: 7007, editPartClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentCanonicalEditPolicy) - // (title: InterruptibleActivityRegionContentCompartment, - // canCollapse: false, hideIfEmpty: true, needsTitle: false, - // listLayout: false) - // nodeRef: - // org.eclipse.papyrus.generation.diagram.idgen.impl.GenNodeRefImpl@71315edf - // (name: null) (customPreferencePage: null, generatePreferencePage: - // true, generateTool: true) + if(ElementTypes.ACTIVITY_COMPARTMENT_ACTIVITY_FIGURE_CONTENT_HINT.equals(containerGraphicalType)) { return true; } @@ -1319,121 +285,7 @@ public class InheritedActivityDiagramViewProvider extends CustomUMLViewProvider } } if(elementType == ElementTypes.LOOP_NODE_CN) { - // node: - // org.eclipse.gmf.codegen.gmfgen.impl.GenChildNodeImpl@59c87ef9 - // (visualID: 3071, editPartClassName: LoopNodeEditPart, - // itemSemanticEditPolicyClassName: LoopNodeItemSemanticEditPolicy, - // notationViewFactoryClassName: LoopNodeViewFactory) - // (canonicalEditPolicyClassName: LoopNodeCanonicalEditPolicy) - // (primaryDragEditPolicyQualifiedClassName: null, - // graphicalNodeEditPolicyClassName: - // LoopNodeGraphicalNodeEditPolicy, createCommandClassName: - // LoopNodeCreateCommand) - // containers: - // org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@db986d8 - // (visualID: 7004, editPartClassName: - // ActivityActivityContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityActivityContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityActivityContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@68bbc547 - // (visualID: 7013, editPartClassName: - // ActivityCNContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityCNContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityCNContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@20266003 - // (visualID: 7008, editPartClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7f94ee08 - // (visualID: 7009, editPartClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7a083b7b - // (visualID: 7010, editPartClassName: - // LoopNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // LoopNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3fc5ba30 - // (visualID: 7012, editPartClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@a9790a8 - // (visualID: 7005, editPartClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@649a0b06 - // (visualID: 7006, editPartClassName: - // ActivityPartitionActivityPartitionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityPartitionActivityPartitionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentCanonicalEditPolicy) - // (title: ActivityPartitionContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3d49ea83 - // (visualID: 7007, editPartClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentCanonicalEditPolicy) - // (title: InterruptibleActivityRegionContentCompartment, - // canCollapse: false, hideIfEmpty: true, needsTitle: false, - // listLayout: false) - // nodeRef: - // org.eclipse.papyrus.generation.diagram.idgen.impl.GenNodeRefImpl@604bbc87 - // (name: null) (customPreferencePage: null, generatePreferencePage: - // true, generateTool: true) + if(ElementTypes.ACTIVITY_COMPARTMENT_ACTIVITY_FIGURE_CONTENT_HINT.equals(containerGraphicalType)) { return true; } @@ -1448,121 +300,7 @@ public class InheritedActivityDiagramViewProvider extends CustomUMLViewProvider } } if(elementType == ElementTypes.MERGE_NODE_CN) { - // node: - // org.eclipse.gmf.codegen.gmfgen.impl.GenChildNodeImpl@3819222f - // (visualID: 3039, editPartClassName: MergeNodeEditPart, - // itemSemanticEditPolicyClassName: MergeNodeItemSemanticEditPolicy, - // notationViewFactoryClassName: MergeNodeViewFactory) - // (canonicalEditPolicyClassName: MergeNodeCanonicalEditPolicy) - // (primaryDragEditPolicyQualifiedClassName: null, - // graphicalNodeEditPolicyClassName: - // MergeNodeGraphicalNodeEditPolicy, createCommandClassName: - // MergeNodeCreateCommand) - // containers: - // org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@db986d8 - // (visualID: 7004, editPartClassName: - // ActivityActivityContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityActivityContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityActivityContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@68bbc547 - // (visualID: 7013, editPartClassName: - // ActivityCNContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityCNContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityCNContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@20266003 - // (visualID: 7008, editPartClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7f94ee08 - // (visualID: 7009, editPartClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7a083b7b - // (visualID: 7010, editPartClassName: - // LoopNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // LoopNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3fc5ba30 - // (visualID: 7012, editPartClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@a9790a8 - // (visualID: 7005, editPartClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@649a0b06 - // (visualID: 7006, editPartClassName: - // ActivityPartitionActivityPartitionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityPartitionActivityPartitionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentCanonicalEditPolicy) - // (title: ActivityPartitionContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3d49ea83 - // (visualID: 7007, editPartClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentCanonicalEditPolicy) - // (title: InterruptibleActivityRegionContentCompartment, - // canCollapse: false, hideIfEmpty: true, needsTitle: false, - // listLayout: false) - // nodeRef: - // org.eclipse.papyrus.generation.diagram.idgen.impl.GenNodeRefImpl@c467475 - // (name: null) (customPreferencePage: null, generatePreferencePage: - // true, generateTool: true) + if(ElementTypes.ACTIVITY_COMPARTMENT_ACTIVITY_FIGURE_CONTENT_HINT.equals(containerGraphicalType)) { return true; } @@ -1577,23 +315,7 @@ public class InheritedActivityDiagramViewProvider extends CustomUMLViewProvider } } if(elementType == ElementTypes.SHAPE_NAMED_ELEMENT_CN) { - // node: - // org.eclipse.gmf.codegen.gmfgen.impl.GenChildNodeImpl@c12dc5f - // (visualID: 3085, editPartClassName: ShapeNamedElementEditPart, - // itemSemanticEditPolicyClassName: - // ShapeNamedElementItemSemanticEditPolicy, - // notationViewFactoryClassName: null) - // (canonicalEditPolicyClassName: - // ShapeNamedElementCanonicalEditPolicy) - // (primaryDragEditPolicyQualifiedClassName: null, - // graphicalNodeEditPolicyClassName: - // ShapeNamedElementGraphicalNodeEditPolicy, createCommandClassName: - // ShapeNamedElementCreateCommand) - // containers: - // nodeRef: - // org.eclipse.papyrus.generation.diagram.idgen.impl.GenNodeRefImpl@6587b39e - // (name: null) (customPreferencePage: null, generatePreferencePage: - // true, generateTool: true) + } if(elementType == ElementTypes.ACTIVITY) { if(ElementTypes.DIAGRAM_ID.equals(containerGraphicalType)) { @@ -1601,122 +323,7 @@ public class InheritedActivityDiagramViewProvider extends CustomUMLViewProvider } } if(elementType == ElementTypes.SEQUENCE_NODE_CN) { - // node: - // org.eclipse.gmf.codegen.gmfgen.impl.GenChildNodeImpl@37a34401 - // (visualID: 3073, editPartClassName: SequenceNodeEditPart, - // itemSemanticEditPolicyClassName: - // SequenceNodeItemSemanticEditPolicy, notationViewFactoryClassName: - // SequenceNodeViewFactory) (canonicalEditPolicyClassName: - // SequenceNodeCanonicalEditPolicy) - // (primaryDragEditPolicyQualifiedClassName: null, - // graphicalNodeEditPolicyClassName: - // SequenceNodeGraphicalNodeEditPolicy, createCommandClassName: - // SequenceNodeCreateCommand) - // containers: - // org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@db986d8 - // (visualID: 7004, editPartClassName: - // ActivityActivityContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityActivityContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityActivityContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@68bbc547 - // (visualID: 7013, editPartClassName: - // ActivityCNContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityCNContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityCNContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@20266003 - // (visualID: 7008, editPartClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7f94ee08 - // (visualID: 7009, editPartClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7a083b7b - // (visualID: 7010, editPartClassName: - // LoopNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // LoopNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3fc5ba30 - // (visualID: 7012, editPartClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@a9790a8 - // (visualID: 7005, editPartClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@649a0b06 - // (visualID: 7006, editPartClassName: - // ActivityPartitionActivityPartitionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityPartitionActivityPartitionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentCanonicalEditPolicy) - // (title: ActivityPartitionContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3d49ea83 - // (visualID: 7007, editPartClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentCanonicalEditPolicy) - // (title: InterruptibleActivityRegionContentCompartment, - // canCollapse: false, hideIfEmpty: true, needsTitle: false, - // listLayout: false) - // nodeRef: - // org.eclipse.papyrus.generation.diagram.idgen.impl.GenNodeRefImpl@66e0c7d2 - // (name: null) (customPreferencePage: null, generatePreferencePage: - // true, generateTool: true) + if(ElementTypes.ACTIVITY_COMPARTMENT_ACTIVITY_FIGURE_CONTENT_HINT.equals(containerGraphicalType)) { return true; } @@ -1731,111 +338,7 @@ public class InheritedActivityDiagramViewProvider extends CustomUMLViewProvider } } if(elementType == ElementTypes.CONSTRAINT_CN) { - // node: - // org.eclipse.gmf.codegen.gmfgen.impl.GenChildNodeImpl@1d69a67 - // (visualID: 3112, editPartClassName: ConstraintEditPartCN, - // itemSemanticEditPolicyClassName: - // ConstraintItemSemanticEditPolicyCN, notationViewFactoryClassName: - // null) (canonicalEditPolicyClassName: - // ConstraintCanonicalEditPolicyCN) - // (primaryDragEditPolicyQualifiedClassName: null, - // graphicalNodeEditPolicyClassName: - // ConstraintGraphicalNodeEditPolicyCN, createCommandClassName: - // ConstraintCreateCommandCN) - // containers: - // org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@db986d8 - // (visualID: 7004, editPartClassName: - // ActivityActivityContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityActivityContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityActivityContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityActivityContentCompartmentCanonicalEditPolicy) (title: - // ActivityFigureContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@20266003 - // (visualID: 7008, editPartClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ConditionalNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7f94ee08 - // (visualID: 7009, editPartClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@7a083b7b - // (visualID: 7010, editPartClassName: - // LoopNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // LoopNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // LoopNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3fc5ba30 - // (visualID: 7012, editPartClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // SequenceNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@a9790a8 - // (visualID: 7005, editPartClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // StructuredActivityNodeStructuredActivityNodeContentCompartmentCanonicalEditPolicy) - // (title: StructuredActivityNodeContentCompartment, canCollapse: - // false, hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@649a0b06 - // (visualID: 7006, editPartClassName: - // ActivityPartitionActivityPartitionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // ActivityPartitionActivityPartitionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // ActivityPartitionActivityPartitionContentCompartmentCanonicalEditPolicy) - // (title: ActivityPartitionContentCompartment, canCollapse: false, - // hideIfEmpty: true, needsTitle: false, listLayout: - // false)org.eclipse.gmf.codegen.gmfgen.impl.GenCompartmentImpl@3d49ea83 - // (visualID: 7007, editPartClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart, - // itemSemanticEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy, - // notationViewFactoryClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentViewFactory) - // (canonicalEditPolicyClassName: - // InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentCanonicalEditPolicy) - // (title: InterruptibleActivityRegionContentCompartment, - // canCollapse: false, hideIfEmpty: true, needsTitle: false, - // listLayout: false) - // nodeRef: - // org.eclipse.papyrus.generation.diagram.idgen.impl.GenNodeRefImpl@2f5ee0c2 - // (name: ) (customPreferencePage: null, generatePreferencePage: - // true, generateTool: true) + if(ElementTypes.ACTIVITY_COMPARTMENT_ACTIVITY_FIGURE_CONTENT_HINT.equals(containerGraphicalType)) { return true; } diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/InteractionOverviewDiagramEditPartProvider.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/InteractionOverviewDiagramEditPartProvider.java index 2492f9b9c27..317f5ef98bf 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/InteractionOverviewDiagramEditPartProvider.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/InteractionOverviewDiagramEditPartProvider.java @@ -28,7 +28,7 @@ public class InteractionOverviewDiagramEditPartProvider extends UMLEditPartProvi // Ensure current diagram is InteractionOverviewDiagram Diagram if(ElementTypes.DIAGRAM_ID.equals(view.getType())) { return true; - } + } } return false; diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/InteractionOverviewDiagramEditPolicyProvider.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/InteractionOverviewDiagramEditPolicyProvider.java index 835b37ed9d6..db4f96eaa58 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/InteractionOverviewDiagramEditPolicyProvider.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src-gen/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/InteractionOverviewDiagramEditPolicyProvider.java @@ -17,7 +17,7 @@ import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart; import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles; import org.eclipse.gmf.runtime.diagram.ui.services.editpolicy.CreateEditPoliciesOperation; import org.eclipse.gmf.runtime.diagram.ui.services.editpolicy.IEditPolicyProvider; -import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policy.InteractionOverviewDiagramDragDropEditPolicy; +import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies.CustomInteractionOverviewDiagramDragAndDropEditPolicy; public class InteractionOverviewDiagramEditPolicyProvider extends AbstractProvider implements IEditPolicyProvider { @@ -104,7 +104,7 @@ public class InteractionOverviewDiagramEditPolicyProvider extends AbstractProvid } public void createEditPolicies(final EditPart editPart) { - editPart.installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new InteractionOverviewDiagramDragDropEditPolicy()); + editPart.installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new CustomInteractionOverviewDiagramDragAndDropEditPolicy()); } } diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/InteractionOverviewDiagramCreationCondition.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/InteractionOverviewDiagramCreationCondition.java index c9e5056ea02..e4c56fa5e8e 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/InteractionOverviewDiagramCreationCondition.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/InteractionOverviewDiagramCreationCondition.java @@ -14,7 +14,7 @@ import org.eclipse.emf.ecore.EObject; import org.eclipse.papyrus.infra.core.extension.commands.PerspectiveContextDependence;
/**
- * PackageDiagramCreationCondition class allows to check if a Class diagram can
+ * PackageDiagramCreationCondition class allows to check if a Interaction Overview diagram can
* be added to the selected element.
*/
public class InteractionOverviewDiagramCreationCondition extends PerspectiveContextDependence {
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/advices/CallBehaviorActionAsInteractionEditHelperAdvice.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/advices/CallBehaviorActionAsInteractionEditHelperAdvice.java new file mode 100644 index 00000000000..6da64e81fa5 --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/advices/CallBehaviorActionAsInteractionEditHelperAdvice.java @@ -0,0 +1,71 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.edit.advices;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.uml.diagram.activity.edit.advices.CallBehaviorActionEditHelperAdvice;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.dialogs.CreateInteractionUseDialog;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.part.Messages;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.InvocationAction;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+public class CallBehaviorActionAsInteractionEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ public static String CALL_BEHAVIOR_ACTION_AS_INTERACTION = "CallBehaviorActionAsInteraction";
+
+ @Override
+ protected ICommand getBeforeConfigureCommand(final ConfigureRequest request) {
+ // get the activity containing the new element
+ Activity parentActivity = null;
+ EObject parent = request.getElementToConfigure();
+ while(parent != null && parentActivity == null) {
+ if(parent instanceof Activity) {
+ parentActivity = (Activity)parent;
+ }
+ parent = parent.eContainer();
+ }
+ if(CALL_BEHAVIOR_ACTION_AS_INTERACTION.equals(request.getParameter(CallBehaviorActionEditHelperAdvice.POPUP_TYPE))) {
+ final CreateInteractionUseDialog dialog = new CreateInteractionUseDialog(Display.getDefault().getActiveShell(), parentActivity, (InvocationAction)request.getElementToConfigure());
+ if(IDialogConstants.OK_ID == dialog.open()) {
+ // initialize the invoked element (no need to use a command, since action is being created)
+ final CompositeCommand command = new CompositeCommand(Messages.CallBehaviorActionAsInteractionEditHelperAdvice_ConfigureCreatedInteraction);
+ final IElementEditService service = ElementEditServiceUtils.getCommandProvider(request.getElementToConfigure());
+ final EObject behavior = dialog.getSelectedInvoked();
+ if(behavior instanceof Behavior) {
+ final SetRequest setBehaviorRequest = new SetRequest(request.getElementToConfigure(), UMLPackage.eINSTANCE.getCallBehaviorAction_Behavior(), behavior);
+ command.add(service.getEditCommand(setBehaviorRequest));
+ }
+ // initialize synchronous
+ return command;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public void configureRequest(final IEditCommandRequest request) {
+ request.getParameters().put(CallBehaviorActionEditHelperAdvice.POPUP_TYPE, CALL_BEHAVIOR_ACTION_AS_INTERACTION);
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/advices/CallBehaviorActionAsInteractionUseEditHelperAdvice.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/advices/CallBehaviorActionAsInteractionUseEditHelperAdvice.java new file mode 100644 index 00000000000..a92ec7164c9 --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/advices/CallBehaviorActionAsInteractionUseEditHelperAdvice.java @@ -0,0 +1,70 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.edit.advices;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.uml.diagram.activity.edit.advices.CallBehaviorActionEditHelperAdvice;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.dialogs.CreateInteractionUseDialog;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.part.Messages;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.InvocationAction;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+public class CallBehaviorActionAsInteractionUseEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ public static String CALL_BEHAVIOR_ACTION_AS_INTERACTION_USE = "CallBehaviorActionAsInteractionUse";
+
+ @Override
+ protected ICommand getBeforeConfigureCommand(final ConfigureRequest request) {
+ // get the activity containing the new element
+ Activity parentActivity = null;
+ EObject parent = request.getElementToConfigure();
+ while(parent != null && parentActivity == null) {
+ if(parent instanceof Activity) {
+ parentActivity = (Activity)parent;
+ }
+ parent = parent.eContainer();
+ }
+ if(CALL_BEHAVIOR_ACTION_AS_INTERACTION_USE.equals(request.getParameter(CallBehaviorActionEditHelperAdvice.POPUP_TYPE))) {
+ final CreateInteractionUseDialog dialog = new CreateInteractionUseDialog(Display.getDefault().getActiveShell(), parentActivity, (InvocationAction)request.getElementToConfigure());
+ if(IDialogConstants.OK_ID == dialog.open()) {
+ // initialize the invoked element (no need to use a command, since action is being created)
+ final CompositeCommand command = new CompositeCommand(Messages.CallBehaviorActionAsInteractionUseEditHelperAdvice_ConfigureCreatedInteraction);
+ final IElementEditService service = ElementEditServiceUtils.getCommandProvider(request.getElementToConfigure());
+ final EObject behavior = dialog.getSelectedInvoked();
+ if(behavior instanceof Behavior) {
+ final SetRequest setBehaviorRequest = new SetRequest(request.getElementToConfigure(), UMLPackage.eINSTANCE.getCallBehaviorAction_Behavior(), behavior);
+ command.add(service.getEditCommand(setBehaviorRequest));
+ }
+ // initialize synchronous
+ return command;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public void configureRequest(final IEditCommandRequest request) {
+ request.getParameters().put(CallBehaviorActionEditHelperAdvice.POPUP_TYPE, CALL_BEHAVIOR_ACTION_AS_INTERACTION_USE);
+ }
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/commands/CallBehaviorActionAsInteractionUseCreateCommand.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/commands/CallBehaviorActionAsInteractionUseCreateCommand.java index 6fda9e06225..d939e9e0191 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/commands/CallBehaviorActionAsInteractionUseCreateCommand.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/commands/CallBehaviorActionAsInteractionUseCreateCommand.java @@ -26,10 +26,8 @@ import org.eclipse.uml2.uml.Behavior; import org.eclipse.uml2.uml.CallBehaviorAction;
import org.eclipse.uml2.uml.UMLFactory;
-
public class CallBehaviorActionAsInteractionUseCreateCommand extends CallBehaviorActionCreateCommand {
-
public CallBehaviorActionAsInteractionUseCreateCommand(final CreateElementRequest req) {
super(req);
}
@@ -56,7 +54,8 @@ public class CallBehaviorActionAsInteractionUseCreateCommand extends CallBehavio final CallBehaviorAction newElement = UMLFactory.eINSTANCE.createCallBehaviorAction();
final CreateInteractionUseDialog dialog = new CreateInteractionUseDialog(Display.getDefault().getActiveShell(), parentActivity, newElement);
if(IDialogConstants.OK_ID == dialog.open()) {
- // initialize the invoked element (no need to use a command, since action is being created)
+ // initialize the invoked element (no need to use a command, since
+ // action is being created)
final EObject behavior = dialog.getSelectedInvoked();
if(behavior instanceof Behavior) {
newElement.setBehavior((Behavior)behavior);
@@ -65,8 +64,6 @@ public class CallBehaviorActionAsInteractionUseCreateCommand extends CallBehavio return CommandResult.newCancelledCommandResult();
}
initAndExecuteEmfCommand(newElement);
- // Activity owner = (Activity)getElementToEdit();
- // owner.getNodes().add(newElement);
ElementInitializers.getInstance().init_CallBehaviorAction_3008(newElement);
doConfigure(newElement, monitor, info);
((CreateElementRequest)getRequest()).setNewElement(newElement);
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/commands/CreateSnapshotForInteractionFromRefreshCommand.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/commands/CreateSnapshotForInteractionFromRefreshCommand.java new file mode 100644 index 00000000000..28549391647 --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/commands/CreateSnapshotForInteractionFromRefreshCommand.java @@ -0,0 +1,184 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.edit.commands;
+
+import java.util.Iterator;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.ImageFigure;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.EcoreUtil.Copier;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.uml.diagram.communication.edit.parts.ModelEditPart;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.Activator;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part.InteractionOverviewDiagramEditPart;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.figures.InteractionWithSnapshotFigure;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.part.Messages;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.utils.CallBehaviorUtil;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.utils.CreateDiagramImage;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.utils.DiagramUtils;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.utils.URIUtils;
+import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.PackageEditPart;
+import org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin;
+import org.eclipse.papyrus.uml.diagram.timing.edit.parts.TimingDiagramEditPart;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+
+
+public class CreateSnapshotForInteractionFromRefreshCommand extends AbstractTransactionalCommand {
+
+ View callBehaviorView;
+
+ CallBehaviorAction callBehaviorAction;
+
+ GraphicalEditPart host;
+
+ public CreateSnapshotForInteractionFromRefreshCommand(final TransactionalEditingDomain editingDomain, final View callBehaviorActionView, final GraphicalEditPart host) {
+ super(editingDomain, Messages.CreateSnapshotForInteractionFromRefreshCommand_CreateSnapshotForRefresh, null);
+ this.callBehaviorView = callBehaviorActionView;
+ this.callBehaviorAction = (CallBehaviorAction)callBehaviorActionView.getElement();
+ this.host = host;
+ }
+
+ @Override
+ public boolean canExecute() {
+ return true;
+ }
+
+ public static CreateSnapshotForInteractionFromRefreshCommand create(final View callBehaviorActionView, final GraphicalEditPart host) {
+ return new CreateSnapshotForInteractionFromRefreshCommand(TransactionUtil.getEditingDomain(callBehaviorActionView.getElement()), callBehaviorActionView, host);
+ }
+
+ @Override
+ protected CommandResult doExecuteWithResult(final IProgressMonitor monitor, final IAdaptable info) throws ExecutionException {
+
+ final Behavior behavior = callBehaviorAction.getBehavior();
+ final Diagram diagram = findSequenceDiagram();
+ final ResourceSet resourceSet = behavior.eResource().getResourceSet();
+
+ Resource newResource = null;
+ Diagram cloneDiagram = null;
+ try {
+ newResource = resourceSet.createResource(org.eclipse.emf.common.util.URI.createURI(URIUtils.getTimestampedURI()));
+
+ final Copier copier = new Copier();
+ cloneDiagram = (Diagram)copier.copy(diagram);
+ copier.copyReferences();
+ final TreeIterator<EObject> eObjects = diagram.eAllContents();
+ while(eObjects.hasNext()) {
+ final EObject eObject = eObjects.next();
+ copier.copy(eObject);
+ copier.copyReferences();
+ }
+ newResource.getContents().add(cloneDiagram);
+ final GraphicalEditPart behaviorEditPart = findBehaviorEditPart(host, callBehaviorAction);
+ final IFigure borderedNodeImage = behaviorEditPart.getFigure();
+ final IFigure callActionBehaviorImage = findInteractionWithSnapshotInFigure(borderedNodeImage);
+ if(callActionBehaviorImage instanceof InteractionWithSnapshotFigure) {
+
+ final ImageFigure imageFigure = ((InteractionWithSnapshotFigure)callActionBehaviorImage).getImageFigure();
+ if(imageFigure.getImage() == null) {
+ ///test sur le bound
+ final PreferencesHint preferenceHint = getReferenceHint(diagram.getType());
+ final Image image = CreateDiagramImage.getDiagramImage(cloneDiagram, preferenceHint, imageFigure, callBehaviorView);
+
+
+ ((InteractionWithSnapshotFigure)callActionBehaviorImage).setSnapshot(image);
+ }
+ }
+ } finally {
+ if(newResource != null) {
+ resourceSet.getResources().remove(newResource);
+ }
+ if(cloneDiagram != null) {
+ cloneDiagram.unsetElement();
+ EcoreUtil.delete(cloneDiagram, true);
+ }
+ }
+
+ return CommandResult.newOKCommandResult();
+ }
+
+ private PreferencesHint getReferenceHint(final String type) {
+ if(PackageEditPart.MODEL_ID.equals(type)) {
+ return UMLDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT;
+ } else if(TimingDiagramEditPart.MODEL_ID.equals(type)) {
+ return org.eclipse.papyrus.uml.diagram.timing.part.UMLDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT;
+ } else if(InteractionOverviewDiagramEditPart.MODEL_ID.equals(type)) {
+ return Activator.DIAGRAM_PREFERENCES_HINT;
+ } else if(ModelEditPart.MODEL_ID.equals(type)) {
+ return org.eclipse.papyrus.uml.diagram.communication.part.UMLDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT;
+ }
+ return null;
+ }
+
+ private GraphicalEditPart findBehaviorEditPart(final EditPart parentEditPart, final CallBehaviorAction callBehaviorAction) {
+ for(final Object child : parentEditPart.getChildren()) {
+ if(child instanceof GraphicalEditPart) {
+ final GraphicalEditPart editPartChild = (GraphicalEditPart)child;
+ if(editPartChild.resolveSemanticElement() == callBehaviorAction) {
+ return editPartChild;
+ }
+ }
+ }
+ return null;
+ }
+
+ private IFigure findInteractionWithSnapshotInFigure(final IFigure containerFigure) {
+ for(final Object childFigureAsObject : containerFigure.getChildren()) {
+ if(childFigureAsObject instanceof IFigure) {
+ final IFigure childFigure = (IFigure)childFigureAsObject;
+ if(childFigure instanceof InteractionWithSnapshotFigure) {
+ return childFigure;
+ } else {
+ if(!childFigure.getChildren().isEmpty()) {
+ return findInteractionWithSnapshotInFigure(childFigure);
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ private Diagram findSequenceDiagram() {
+ final String uuidDiagram = CallBehaviorUtil.getDiagramLinked(callBehaviorView);
+ if(uuidDiagram != null && !uuidDiagram.equals("")) {
+ final ResourceSet resourceSet = callBehaviorAction.eResource().getResourceSet();
+ final Iterator<?> ite = resourceSet.getAllContents();
+ while(ite.hasNext()) {
+ final Object eObject = ite.next();
+ if(eObject instanceof Diagram) {
+ final Diagram diagram = (Diagram)eObject;
+ if(uuidDiagram.equals(DiagramUtils.getUUIDForSnapshot(diagram))) {
+ return diagram;
+ }
+ }
+ }
+ }
+ return null;
+ }
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/commands/CreateSnapshotForInteractionFromViewDescriptorCommand.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/commands/CreateSnapshotForInteractionFromViewDescriptorCommand.java new file mode 100644 index 00000000000..b6d5acb0937 --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/commands/CreateSnapshotForInteractionFromViewDescriptorCommand.java @@ -0,0 +1,204 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.edit.commands;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.ImageFigure;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.EcoreUtil.Copier;
+import org.eclipse.emf.facet.infra.browser.uicore.internal.model.ModelElementItem;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.workspace.AbstractEMFOperation;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest.ViewDescriptor;
+import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.core.editor.IMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
+import org.eclipse.papyrus.infra.services.labelprovider.service.LabelProviderService;
+import org.eclipse.papyrus.infra.widgets.editors.TreeSelectorDialog;
+import org.eclipse.papyrus.uml.diagram.activity.edit.part.CustomActivityActivityContentCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.communication.edit.parts.ModelEditPart;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.Activator;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part.InteractionOverviewDiagramEditPart;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.figures.InteractionWithSnapshotFigure;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.part.Messages;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.provider.DiagramContentProvider;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.utils.CallBehaviorUtil;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.utils.CreateDiagramImage;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.utils.URIUtils;
+import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.PackageEditPart;
+import org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin;
+import org.eclipse.papyrus.uml.diagram.timing.edit.parts.TimingDiagramEditPart;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.Interaction;
+
+
+public class CreateSnapshotForInteractionFromViewDescriptorCommand extends AbstractTransactionalCommand {
+
+ ICommand createElementCommand;
+
+ GraphicalEditPart host;
+
+ public CreateSnapshotForInteractionFromViewDescriptorCommand(final TransactionalEditingDomain editingDomain, final ICommand createElementCommand, final GraphicalEditPart host) {
+ super(editingDomain, Messages.CreateSnapshotForInteractionFromViewDescriptorCommand_CreateSnapshotForRefresh, null);
+ this.createElementCommand = createElementCommand;
+ this.host = host;
+ }
+
+ @Override
+ public boolean canExecute() {
+ return true;
+ }
+
+ public static CreateSnapshotForInteractionFromViewDescriptorCommand create(final ICommand createElementCommand, final GraphicalEditPart host) {
+ return new CreateSnapshotForInteractionFromViewDescriptorCommand(((AbstractEMFOperation)createElementCommand).getEditingDomain(), createElementCommand, host);
+ }
+
+ @Override
+ protected CommandResult doExecuteWithResult(final IProgressMonitor monitor, final IAdaptable info) throws ExecutionException {
+ final CommandResult commandResult = createElementCommand.getCommandResult();
+ final Object resultAsObject = commandResult.getReturnValue();
+ if(resultAsObject instanceof ViewDescriptor) {
+ final ViewDescriptor viewDescriptor = (ViewDescriptor)resultAsObject;
+ final View callBehaviorActionView = (View)viewDescriptor.getAdapter(View.class);
+
+ if(host instanceof CustomActivityActivityContentCompartmentEditPart) {
+
+ final CallBehaviorAction callBehaviorAction = (CallBehaviorAction)callBehaviorActionView.getElement();
+ final Behavior behavior = callBehaviorAction.getBehavior();
+ final Diagram diagram = findSequenceDiagram((Interaction)behavior);
+ final ResourceSet resourceSet = behavior.eResource().getResourceSet();
+
+ Resource newResource = null;
+ Diagram cloneDiagram = null;
+ try {
+ newResource = resourceSet.createResource(org.eclipse.emf.common.util.URI.createURI(URIUtils.getTimestampedURI()));
+
+ final Copier copier = new Copier();
+ cloneDiagram = (Diagram)copier.copy(diagram);
+ copier.copyReferences();
+ final TreeIterator<EObject> eObjects = diagram.eAllContents();
+ while(eObjects.hasNext()) {
+ final EObject eObject = eObjects.next();
+ copier.copy(eObject);
+ copier.copyReferences();
+ }
+ newResource.getContents().add(cloneDiagram);
+ final GraphicalEditPart behaviorEditPart = findBehaviorEditPart(host, callBehaviorAction);
+ final IFigure borderedNodeImage = behaviorEditPart.getFigure();
+ final IFigure callActionBehaviorImage = findInteractionWithSnapshotInFigure(borderedNodeImage);
+ if(callActionBehaviorImage instanceof InteractionWithSnapshotFigure) {
+
+ final ImageFigure imageFigure = ((InteractionWithSnapshotFigure)callActionBehaviorImage).getImageFigure();
+ final PreferencesHint preferenceHint = getReferenceHint(diagram.getType());
+ final Image image = CreateDiagramImage.getDiagramImage(cloneDiagram, preferenceHint, imageFigure, callBehaviorActionView);
+
+
+ ((InteractionWithSnapshotFigure)callActionBehaviorImage).setSnapshot(image);
+ }
+ CallBehaviorUtil.setDiagramLinked(callBehaviorActionView, diagram);
+ behaviorEditPart.refresh();
+ } finally {
+ if(newResource != null) {
+ resourceSet.getResources().remove(newResource);
+ }
+ if(cloneDiagram != null) {
+ cloneDiagram.unsetElement();
+ EcoreUtil.delete(cloneDiagram, true);
+ }
+ }
+ }
+ }
+ return CommandResult.newOKCommandResult();
+ }
+
+ private PreferencesHint getReferenceHint(final String type) {
+ if(PackageEditPart.MODEL_ID.equals(type)) {
+ return UMLDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT;
+ } else if(TimingDiagramEditPart.MODEL_ID.equals(type)) {
+ return org.eclipse.papyrus.uml.diagram.timing.part.UMLDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT;
+ } else if(InteractionOverviewDiagramEditPart.MODEL_ID.equals(type)) {
+ return Activator.DIAGRAM_PREFERENCES_HINT;
+ } else if(ModelEditPart.MODEL_ID.equals(type)) {
+ return org.eclipse.papyrus.uml.diagram.communication.part.UMLDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT;
+ }
+ return null;
+ }
+
+ private GraphicalEditPart findBehaviorEditPart(final EditPart parentEditPart, final CallBehaviorAction callBehaviorAction) {
+ for(final Object child : parentEditPart.getChildren()) {
+ if(child instanceof GraphicalEditPart) {
+ final GraphicalEditPart editPartChild = (GraphicalEditPart)child;
+ if(editPartChild.resolveSemanticElement() == callBehaviorAction) {
+ return editPartChild;
+ }
+ }
+ }
+ return null;
+ }
+
+ private IFigure findInteractionWithSnapshotInFigure(final IFigure containerFigure) {
+ for(final Object childFigureAsObject : containerFigure.getChildren()) {
+ if(childFigureAsObject instanceof IFigure) {
+ final IFigure childFigure = (IFigure)childFigureAsObject;
+ if(childFigure instanceof InteractionWithSnapshotFigure) {
+ return childFigure;
+ } else {
+ if(!childFigure.getChildren().isEmpty()) {
+ return findInteractionWithSnapshotInFigure(childFigure);
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ private Diagram findSequenceDiagram(final Interaction interaction) {
+
+ final TreeSelectorDialog dialog = new TreeSelectorDialog(Display.getDefault().getActiveShell());
+ final ServicesRegistry servicesRegistry = ((IMultiDiagramEditor)(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor())).getServicesRegistry();
+
+ dialog.setContentProvider(new DiagramContentProvider(interaction));
+ dialog.setInput(servicesRegistry);
+ try {
+ dialog.setLabelProvider(servicesRegistry.getService(LabelProviderService.class).getLabelProvider());
+ } catch (final ServiceException e) {
+ Activator.log.error(e);
+ }
+ dialog.setMessage(Messages.CreateSnapshotForInteractionFromViewDescriptorCommand_DiagramSelectorMessage);
+ dialog.setTitle(Messages.CreateSnapshotForInteractionFromViewDescriptorCommand_DiagramSelectorTitle);
+ if(dialog.open() == org.eclipse.jface.window.Window.OK) {
+ final Object[] result = dialog.getResult();
+ if(result != null && result.length > 0 && result[0] instanceof ModelElementItem)
+ return (Diagram)(((ModelElementItem)result[0]).getEObject());
+ }
+
+ return null;
+ }
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/dialogs/CreateInteractionUseDialog.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/dialogs/CreateInteractionUseDialog.java index b9246d23892..02c4c8b3926 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/dialogs/CreateInteractionUseDialog.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/dialogs/CreateInteractionUseDialog.java @@ -38,7 +38,6 @@ import org.eclipse.uml2.uml.UMLPackage; import com.google.common.collect.Sets;
-
public class CreateInteractionUseDialog extends CreateInvocationActionDialog {
public CreateInteractionUseDialog(final Shell shell, final Activity owner, final InvocationAction newAction) {
@@ -148,7 +147,7 @@ public class CreateInteractionUseDialog extends CreateInvocationActionDialog { */
@Override
protected void okPressed() {
- boolean isSelectionSelected = selectionRadio.getSelection();
+ final boolean isSelectionSelected = selectionRadio.getSelection();
// create element if needed
if(!isSelectionSelected) {
selectedInvoked = UMLFactory.eINSTANCE.createInteraction();
@@ -158,23 +157,22 @@ public class CreateInteractionUseDialog extends CreateInvocationActionDialog { addInvokedInParent(selectedParent, selectedInvoked);
}
- //InteractionUse
- InteractionUse interactionUse = UMLFactory.eINSTANCE.createInteractionUse();
+ // InteractionUse
+ final InteractionUse interactionUse = UMLFactory.eINSTANCE.createInteractionUse();
interactionUse.setRefersTo((Interaction)selectedInvoked);
- interactionUse.setName("InteractionUse_" + ((Interaction)selectedInvoked).getName());
+ interactionUse.setName(Messages.CreateInteractionUseDialog_InteractionUsePrefix + ((Interaction)selectedInvoked).getName());
addInvokedInParent(selectedInvoked, interactionUse);
-
// store user choices in preference
- IPreferenceStore prefStore = UMLDiagramEditorPlugin.getInstance().getPreferenceStore();
+ final IPreferenceStore prefStore = UMLDiagramEditorPlugin.getInstance().getPreferenceStore();
// store choice between selection and creation
prefStore.setValue(getSelectionIsDefaultPreference(), isSelectionSelected);
if(!isSelectionSelected) {
// store the owner choice
- String ressUri = selectedParent.eResource().getURI().toString();
- String parentURI = selectedParent.eResource().getURIFragment(selectedParent);
- String prefValue = String.format(MAP_FORMAT, ressUri, parentURI);
+ final String ressUri = selectedParent.eResource().getURI().toString();
+ final String parentURI = selectedParent.eResource().getURIFragment(selectedParent);
+ final String prefValue = String.format(MAP_FORMAT, ressUri, parentURI);
prefStore.setValue(getCreationDefaultOwnerPreference(), prefValue);
}
setReturnCode(OK);
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CallBehaviorActionAsInteractionEditPart.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CallBehaviorActionAsInteractionEditPart.java new file mode 100644 index 00000000000..84aa04b9d83 --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CallBehaviorActionAsInteractionEditPart.java @@ -0,0 +1,1003 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Shape;
+import org.eclipse.draw2d.StackLayout;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.transaction.Transaction;
+import org.eclipse.emf.transaction.impl.InternalTransaction;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.RequestConstants;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.commands.CompoundCommand;
+import org.eclipse.gef.editpolicies.LayoutEditPolicy;
+import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
+import org.eclipse.gef.requests.ChangeBoundsRequest;
+import org.eclipse.gef.requests.CreateRequest;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IBorderItemEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.DragDropEditPolicy;
+import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbarLayout;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.FigureUtilities;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.gef.ui.figures.DefaultSizeNodeFigure;
+import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.PreferenceConverter;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.PreferenceConstantHelper;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.AcceptEventActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionInputPinInCallBeActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionInputPinInCallOpActAsTargetEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionInputPinInCallOpActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionInputPinInOpaqueActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionInputPinInSendObjActAsReqEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionInputPinInSendObjActAsTargetEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionInputPinInSendSigActAsTargetEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionInputPinInSendSigActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityFinalNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityParameterNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.AddStructuralFeatureValueActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.AddVariableValueActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.BroadcastSignalActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CallBehaviorActionNameEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CallOperationActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CentralBufferNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConditionalNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CreateObjectActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.DataStoreNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.DecisionNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.DestroyObjectActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ExpansionNodeAsInEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ExpansionNodeAsOutEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ExpansionRegionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.FlowFinalNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ForkNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InitialNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInAddStructuralFeatureValueActionAsObjectEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInAddStructuralFeatureValueActionAsValueEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInAddVariableValueActionAsInsertAtEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInAddVariableValueActionAsValueEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInBroadcastSignalActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInCallBeActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInCallOpActAsTargetEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInCallOpActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInDestroyObjectActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInLoopNodeAsVariableEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInOpaqueActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInReadStructuralFeatureAsObjectEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInSendObjActAsReqEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInSendObjActAsTargetEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInSendSigActAsTargetEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInSendSigActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.JoinNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.LoopNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.MergeNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OpaqueActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInAcceptEventActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInAddStructuralFeatureValueActionAsResultEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInCallBeActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInCallOpActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInCreateObjectActionAsResultEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInLoopNodeAsBodyOutputEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInLoopNodeAsLoopVariableEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInLoopNodeAsResultEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInOpaqueActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInReadStructuralFeatureAsResultEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInReadVariableActionAsResultEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInValSpecActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ReadSelfActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ReadSelfActionOutputPinEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ReadStructuralFeatureActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ReadVariableActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.SendObjectActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.SendSignalActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.SequenceNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.StructuredActivityNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ValuePinInCallBeActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ValuePinInCallOpActAsTargetEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ValuePinInCallOpActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ValuePinInOpaqueActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ValuePinInSendObjActAsReqEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ValuePinInSendObjActAsTargetEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ValuePinInSendSigActAsTargetEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ValuePinInSendSigActEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ValueSpecificationActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.policies.ActivityDiagramChangeStereotypedShapeEditpolicy;
+import org.eclipse.papyrus.uml.diagram.activity.edit.policies.CallBehaviorActionCanonicalEditPolicy;
+import org.eclipse.papyrus.uml.diagram.activity.edit.policies.CallBehaviorActionItemSemanticEditPolicy;
+import org.eclipse.papyrus.uml.diagram.activity.edit.policies.CreateActionLocalConditionEditPolicy;
+import org.eclipse.papyrus.uml.diagram.activity.edit.policies.CustomDiagramDragDropEditPolicy;
+import org.eclipse.papyrus.uml.diagram.activity.edit.policies.DeleteActionViewEditPolicy;
+import org.eclipse.papyrus.uml.diagram.activity.edit.policies.OpenDiagramEditPolicy;
+import org.eclipse.papyrus.uml.diagram.activity.figures.CallBehaviorActionFigure;
+import org.eclipse.papyrus.uml.diagram.activity.part.UMLDiagramEditorPlugin;
+import org.eclipse.papyrus.uml.diagram.activity.part.UMLVisualIDRegistry;
+import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes;
+import org.eclipse.papyrus.uml.diagram.common.editparts.NamedElementEditPart;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.BorderItemResizableEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.ChangeStereotypedShapeEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.PapyrusCreationEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.Activator;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.commands.CreateSnapshotForInteractionFromRefreshCommand;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.figures.InteractionWithSnapshotFigure;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.utils.CallBehaviorUtil;
+import org.eclipse.papyrus.uml.diagram.timing.custom.edit.commands.RefreshCommandForUndo;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+public class CallBehaviorActionAsInteractionEditPart extends NamedElementEditPart {
+
+ public static final int VISUAL_ID = 5000;
+
+ public CallBehaviorActionAsInteractionEditPart(final View view) {
+ super(view);
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure contentPane;
+
+ /**
+ * @generated
+ */
+ protected IFigure primaryShape;
+
+ /**
+ * @generated
+ */
+ @Override
+ protected void createDefaultEditPolicies() {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new DragDropEditPolicy());
+ installEditPolicy(EditPolicyRoles.CREATION_ROLE, new PapyrusCreationEditPolicy());
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new CallBehaviorActionItemSemanticEditPolicy());
+ //in Papyrus diagrams are not strongly synchronised
+ //installEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.CANONICAL_ROLE, new org.eclipse.papyrus.uml.diagram.activity.edit.policies.CallBehaviorActionCanonicalEditPolicy());
+ installEditPolicy(EditPolicy.LAYOUT_ROLE, createLayoutEditPolicy());
+ installEditPolicy(EditPolicyRoles.OPEN_ROLE, new OpenDiagramEditPolicy());
+ installEditPolicy(RequestConstants.REQ_CREATE, new CreateActionLocalConditionEditPolicy());
+ installEditPolicy(RequestConstants.REQ_DELETE, new DeleteActionViewEditPolicy());
+ installEditPolicy(EditPolicyRoles.CANONICAL_ROLE, new CallBehaviorActionCanonicalEditPolicy());
+ installEditPolicy(AppliedStereotypeLabelDisplayEditPolicy.STEREOTYPE_LABEL_POLICY, new AppliedStereotypeNodeLabelDisplayEditPolicy());
+ installEditPolicy(ChangeStereotypedShapeEditPolicy.CHANGE_SHAPE_POLICY, new ActivityDiagramChangeStereotypedShapeEditpolicy());
+ installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new CustomDiagramDragDropEditPolicy());
+ // XXX need an SCR to runtime to have another abstract superclass that would let children add reasonable editpolicies
+ // removeEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.CONNECTION_HANDLES_ROLE);
+ }
+
+ /**
+ * Papyrus codeGen
+ *
+ * @generated
+ **/
+ @Override
+ protected void handleNotificationEvent(final Notification event) {
+ super.handleNotificationEvent(event);
+ //Add/Remove the RakeFigure when an Activity is selected as behavior or deselected
+ if(resolveSemanticElement() != null) {
+ if(resolveSemanticElement() instanceof CallBehaviorAction && resolveSemanticElement().equals(event.getNotifier()) && event.getFeature().equals(UMLPackage.eINSTANCE.getCallBehaviorAction_Behavior())) {
+ final CallBehaviorAction action = (CallBehaviorAction)resolveSemanticElement();
+ if(action.getBehavior() instanceof Activity) {
+ getPrimaryShape().displayRake(true);
+ } else {
+ getPrimaryShape().displayRake(false);
+ };
+ refreshVisuals();
+ }
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected LayoutEditPolicy createLayoutEditPolicy() {
+ final org.eclipse.gmf.runtime.diagram.ui.editpolicies.LayoutEditPolicy lep = new org.eclipse.gmf.runtime.diagram.ui.editpolicies.LayoutEditPolicy() {
+
+ @Override
+ protected EditPolicy createChildEditPolicy(final EditPart child) {
+ final View childView = (View)child.getModel();
+ switch(UMLVisualIDRegistry.getVisualID(childView)) {
+ case ValuePinInCallBeActEditPart.VISUAL_ID:
+ case ActionInputPinInCallBeActEditPart.VISUAL_ID:
+ case InputPinInCallBeActEditPart.VISUAL_ID:
+ case OutputPinInCallBeActEditPart.VISUAL_ID:
+ return new BorderItemResizableEditPolicy();
+ }
+ EditPolicy result = child.getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if(result == null) {
+ result = new NonResizableEditPolicy();
+ }
+ return result;
+ }
+
+ @Override
+ protected Command getMoveChildrenCommand(final Request request) {
+ return null;
+ }
+
+ @Override
+ protected Command getCreateCommand(final CreateRequest request) {
+ return null;
+ }
+ };
+ return lep;
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createNodeShape() {
+ return primaryShape = new InteractionWithSnapshotFigure();
+ }
+
+ /**
+ * @generated
+ */
+ @Override
+ public CallBehaviorActionFigure getPrimaryShape() {
+ return (CallBehaviorActionFigure)primaryShape;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean addFixedChild(final EditPart childEditPart) {
+
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean removeFixedChild(final EditPart childEditPart) {
+
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ @Override
+ protected void addChildVisual(final EditPart childEditPart, final int index) {
+ if(addFixedChild(childEditPart)) {
+ return;
+ }
+ super.addChildVisual(childEditPart, -1);
+ }
+
+ /**
+ * @generated
+ */
+ @Override
+ protected void removeChildVisual(final EditPart childEditPart) {
+ if(removeFixedChild(childEditPart)) {
+ return;
+ }
+ super.removeChildVisual(childEditPart);
+ }
+
+ /**
+ * @generated
+ */
+ @Override
+ protected IFigure getContentPaneFor(final IGraphicalEditPart editPart) {
+ if(editPart instanceof IBorderItemEditPart) {
+ return getBorderedFigure().getBorderItemContainer();
+ }
+ return getContentPane();
+ }
+
+ /**
+ * @generated
+ */
+ protected NodeFigure createNodePlate() {
+ final String prefElementId = "CallBehaviorAction";
+ final IPreferenceStore store = UMLDiagramEditorPlugin.getInstance().getPreferenceStore();
+ final String preferenceConstantWitdh = PreferenceInitializerForElementHelper.getpreferenceKey(getNotationView(), prefElementId, PreferenceConstantHelper.WIDTH);
+ final String preferenceConstantHeight = PreferenceInitializerForElementHelper.getpreferenceKey(getNotationView(), prefElementId, PreferenceConstantHelper.HEIGHT);
+ final DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(store.getInt(preferenceConstantWitdh), store.getInt(preferenceConstantHeight));
+ return result;
+ }
+
+ /**
+ * Creates figure for this edit part.
+ *
+ * Body of this method does not depend on settings in generation model
+ * so you may safely remove <i>generated</i> tag and modify it.
+ *
+ * @generated
+ */
+ @Override
+ protected NodeFigure createMainFigure() {
+ final NodeFigure figure = createNodePlate();
+ figure.setLayoutManager(new StackLayout());
+ final IFigure shape = createNodeShape();
+ figure.add(shape);
+ contentPane = setupContentPane(shape);
+ return figure;
+ }
+
+ /**
+ * Refresh the children parts, including the rake if necessary
+ *
+ * @see org.eclipse.gef.editparts.AbstractEditPart#refreshChildren()
+ * @generated NOT
+ */
+ @Override
+ protected void refreshChildren() {
+ super.refreshChildren();
+ // add the rake if behavior is an activity
+ if(resolveSemanticElement() instanceof CallBehaviorAction) {
+ final CallBehaviorAction action = (CallBehaviorAction)resolveSemanticElement();
+ if(action.getBehavior() instanceof Activity) {
+ getPrimaryShape().displayRake(true);
+ } else {
+ getPrimaryShape().displayRake(false);
+ }
+ }
+ }
+
+ /**
+ * Default implementation treats passed figure as content pane.
+ * Respects layout one may have set for generated figure.
+ *
+ * @param nodeShape
+ * instance of generated figure class
+ * @generated
+ */
+ protected IFigure setupContentPane(final IFigure nodeShape) {
+ if(nodeShape.getLayoutManager() == null) {
+ final ConstrainedToolbarLayout layout = new ConstrainedToolbarLayout();
+ layout.setSpacing(5);
+ nodeShape.setLayoutManager(layout);
+ }
+ return nodeShape; // use nodeShape itself as contentPane
+ }
+
+ /**
+ * @generated
+ */
+ @Override
+ public IFigure getContentPane() {
+ if(contentPane != null) {
+ return contentPane;
+ }
+ return super.getContentPane();
+ }
+
+ /**
+ * @generated
+ */
+ @Override
+ protected void setForegroundColor(final Color color) {
+ if(primaryShape != null) {
+ primaryShape.setForegroundColor(color);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ @Override
+ protected void setLineWidth(final int width) {
+ if(primaryShape instanceof Shape) {
+ ((Shape)primaryShape).setLineWidth(width);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ @Override
+ protected void setLineType(final int style) {
+ if(primaryShape instanceof Shape) {
+ ((Shape)primaryShape).setLineStyle(style);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ @Override
+ public EditPart getPrimaryChildEditPart() {
+ return getChildBySemanticHint(UMLVisualIDRegistry.getType(CallBehaviorActionNameEditPart.VISUAL_ID));
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMARelTypesOnSource() {
+ final ArrayList<IElementType> types = new ArrayList<IElementType>(2);
+ types.add(UMLElementTypes.ControlFlow_4004);
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMARelTypesOnSourceAndTarget(final IGraphicalEditPart targetEditPart) {
+ final LinkedList<IElementType> types = new LinkedList<IElementType>();
+
+ if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.CallBehaviorActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof CallBehaviorActionAsInteractionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InitialNodeEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ActivityFinalNodeEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof FlowFinalNodeEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof OpaqueActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ValuePinInOpaqueActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ActionInputPinInOpaqueActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInOpaqueActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof OutputPinInOpaqueActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ValuePinInCallBeActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ActionInputPinInCallBeActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInCallBeActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof OutputPinInCallBeActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof CallOperationActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ActionInputPinInCallOpActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ValuePinInCallOpActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInCallOpActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof OutputPinInCallOpActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ValuePinInCallOpActAsTargetEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ActionInputPinInCallOpActAsTargetEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInCallOpActAsTargetEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof DecisionNodeEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof MergeNodeEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ForkNodeEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof JoinNodeEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof DataStoreNodeEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof SendObjectActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ValuePinInSendObjActAsReqEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ActionInputPinInSendObjActAsReqEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInSendObjActAsReqEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ValuePinInSendObjActAsTargetEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ActionInputPinInSendObjActAsTargetEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInSendObjActAsTargetEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof SendSignalActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ActionInputPinInSendSigActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ValuePinInSendSigActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInSendSigActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ValuePinInSendSigActAsTargetEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ActionInputPinInSendSigActAsTargetEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInSendSigActAsTargetEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ActivityParameterNodeEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof AcceptEventActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof OutputPinInAcceptEventActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ValueSpecificationActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof OutputPinInValSpecActEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ConditionalNodeEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ExpansionRegionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ExpansionNodeAsInEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ExpansionNodeAsOutEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof LoopNodeEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof OutputPinInLoopNodeAsBodyOutputEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof OutputPinInLoopNodeAsLoopVariableEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof OutputPinInLoopNodeAsResultEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof SequenceNodeEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof StructuredActivityNodeEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInLoopNodeAsVariableEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ReadSelfActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ReadSelfActionOutputPinEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof CreateObjectActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof OutputPinInCreateObjectActionAsResultEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ReadStructuralFeatureActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInReadStructuralFeatureAsObjectEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof OutputPinInReadStructuralFeatureAsResultEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof AddStructuralFeatureValueActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInAddStructuralFeatureValueActionAsObjectEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInAddStructuralFeatureValueActionAsValueEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof OutputPinInAddStructuralFeatureValueActionAsResultEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof DestroyObjectActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInDestroyObjectActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof ReadVariableActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof OutputPinInReadVariableActionAsResultEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof AddVariableValueActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInAddVariableValueActionAsInsertAtEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInAddVariableValueActionAsValueEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof BroadcastSignalActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof InputPinInBroadcastSignalActionEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ if(targetEditPart instanceof CentralBufferNodeEditPart) {
+ types.add(UMLElementTypes.ControlFlow_4004);
+ }
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMATypesForTarget(final IElementType relationshipType) {
+ final LinkedList<IElementType> types = new LinkedList<IElementType>();
+ if(relationshipType == UMLElementTypes.ControlFlow_4004) {
+ types.add(UMLElementTypes.InitialNode_3004);
+ types.add(UMLElementTypes.ActivityFinalNode_3005);
+ types.add(UMLElementTypes.FlowFinalNode_3006);
+ types.add(UMLElementTypes.OpaqueAction_3007);
+ types.add(UMLElementTypes.ValuePin_3015);
+ types.add(UMLElementTypes.ActionInputPin_3016);
+ types.add(UMLElementTypes.InputPin_3013);
+ types.add(UMLElementTypes.OutputPin_3014);
+ types.add(UMLElementTypes.CallBehaviorAction_3008);
+ types.add(UMLElementTypes.ValuePin_3017);
+ types.add(UMLElementTypes.ActionInputPin_3018);
+ types.add(UMLElementTypes.InputPin_3019);
+ types.add(UMLElementTypes.OutputPin_3020);
+ types.add(UMLElementTypes.CallOperationAction_3010);
+ types.add(UMLElementTypes.ActionInputPin_3021);
+ types.add(UMLElementTypes.ValuePin_3022);
+ types.add(UMLElementTypes.InputPin_3023);
+ types.add(UMLElementTypes.OutputPin_3024);
+ types.add(UMLElementTypes.ValuePin_3025);
+ types.add(UMLElementTypes.ActionInputPin_3026);
+ types.add(UMLElementTypes.InputPin_3027);
+ types.add(UMLElementTypes.DecisionNode_3038);
+ types.add(UMLElementTypes.MergeNode_3039);
+ types.add(UMLElementTypes.ForkNode_3040);
+ types.add(UMLElementTypes.JoinNode_3041);
+ types.add(UMLElementTypes.DataStoreNode_3078);
+ types.add(UMLElementTypes.SendObjectAction_3042);
+ types.add(UMLElementTypes.ValuePin_3046);
+ types.add(UMLElementTypes.ActionInputPin_3047);
+ types.add(UMLElementTypes.InputPin_3048);
+ types.add(UMLElementTypes.ValuePin_3049);
+ types.add(UMLElementTypes.ActionInputPin_3050);
+ types.add(UMLElementTypes.InputPin_3051);
+ types.add(UMLElementTypes.SendSignalAction_3052);
+ types.add(UMLElementTypes.ActionInputPin_3053);
+ types.add(UMLElementTypes.ValuePin_3054);
+ types.add(UMLElementTypes.InputPin_3055);
+ types.add(UMLElementTypes.ValuePin_3060);
+ types.add(UMLElementTypes.ActionInputPin_3061);
+ types.add(UMLElementTypes.InputPin_3062);
+ types.add(UMLElementTypes.ActivityParameterNode_3059);
+ types.add(UMLElementTypes.AcceptEventAction_3063);
+ types.add(UMLElementTypes.OutputPin_3064);
+ types.add(UMLElementTypes.ValueSpecificationAction_3076);
+ types.add(UMLElementTypes.OutputPin_3077);
+ types.add(UMLElementTypes.ConditionalNode_3069);
+ types.add(UMLElementTypes.ExpansionRegion_3070);
+ types.add(UMLElementTypes.ExpansionNode_3074);
+ types.add(UMLElementTypes.ExpansionNode_3075);
+ types.add(UMLElementTypes.LoopNode_3071);
+ types.add(UMLElementTypes.OutputPin_3109);
+ types.add(UMLElementTypes.OutputPin_3110);
+ types.add(UMLElementTypes.OutputPin_3111);
+ types.add(UMLElementTypes.SequenceNode_3073);
+ types.add(UMLElementTypes.StructuredActivityNode_3065);
+ types.add(UMLElementTypes.InputPin_3105);
+ types.add(UMLElementTypes.ReadSelfAction_3081);
+ types.add(UMLElementTypes.OutputPin_3084);
+ types.add(UMLElementTypes.CreateObjectAction_3086);
+ types.add(UMLElementTypes.OutputPin_3087);
+ types.add(UMLElementTypes.ReadStructuralFeatureAction_3088);
+ types.add(UMLElementTypes.InputPin_3089);
+ types.add(UMLElementTypes.OutputPin_3090);
+ types.add(UMLElementTypes.AddStructuralFeatureValueAction_3091);
+ types.add(UMLElementTypes.InputPin_3092);
+ types.add(UMLElementTypes.InputPin_3093);
+ types.add(UMLElementTypes.OutputPin_3094);
+ types.add(UMLElementTypes.DestroyObjectAction_3095);
+ types.add(UMLElementTypes.InputPin_3096);
+ types.add(UMLElementTypes.ReadVariableAction_3097);
+ types.add(UMLElementTypes.OutputPin_3098);
+ types.add(UMLElementTypes.AddVariableValueAction_3099);
+ types.add(UMLElementTypes.InputPin_3100);
+ types.add(UMLElementTypes.InputPin_3101);
+ types.add(UMLElementTypes.BroadcastSignalAction_3102);
+ types.add(UMLElementTypes.InputPin_3103);
+ types.add(UMLElementTypes.CentralBufferNode_3104);
+ types.add(org.eclipse.papyrus.uml.diagram.interactionoverview.provider.UMLElementTypes.CallBehaviorAction_5000);
+ }
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMARelTypesOnTarget() {
+ final ArrayList<IElementType> types = new ArrayList<IElementType>(3);
+ types.add(UMLElementTypes.ControlFlow_4004);
+ types.add(UMLElementTypes.CommentAnnotatedElement_4006);
+ types.add(UMLElementTypes.ConstraintConstrainedElement_4007);
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ public List<IElementType> getMATypesForSource(final IElementType relationshipType) {
+ final LinkedList<IElementType> types = new LinkedList<IElementType>();
+ if(relationshipType == UMLElementTypes.ControlFlow_4004) {
+ types.add(UMLElementTypes.InitialNode_3004);
+ types.add(UMLElementTypes.ActivityFinalNode_3005);
+ types.add(UMLElementTypes.FlowFinalNode_3006);
+ types.add(UMLElementTypes.OpaqueAction_3007);
+ types.add(UMLElementTypes.ValuePin_3015);
+ types.add(UMLElementTypes.ActionInputPin_3016);
+ types.add(UMLElementTypes.InputPin_3013);
+ types.add(UMLElementTypes.OutputPin_3014);
+ types.add(UMLElementTypes.CallBehaviorAction_3008);
+ types.add(UMLElementTypes.ValuePin_3017);
+ types.add(UMLElementTypes.ActionInputPin_3018);
+ types.add(UMLElementTypes.InputPin_3019);
+ types.add(UMLElementTypes.OutputPin_3020);
+ types.add(UMLElementTypes.CallOperationAction_3010);
+ types.add(UMLElementTypes.ActionInputPin_3021);
+ types.add(UMLElementTypes.ValuePin_3022);
+ types.add(UMLElementTypes.InputPin_3023);
+ types.add(UMLElementTypes.OutputPin_3024);
+ types.add(UMLElementTypes.ValuePin_3025);
+ types.add(UMLElementTypes.ActionInputPin_3026);
+ types.add(UMLElementTypes.InputPin_3027);
+ types.add(UMLElementTypes.DecisionNode_3038);
+ types.add(UMLElementTypes.MergeNode_3039);
+ types.add(UMLElementTypes.ForkNode_3040);
+ types.add(UMLElementTypes.JoinNode_3041);
+ types.add(UMLElementTypes.DataStoreNode_3078);
+ types.add(UMLElementTypes.SendObjectAction_3042);
+ types.add(UMLElementTypes.ValuePin_3046);
+ types.add(UMLElementTypes.ActionInputPin_3047);
+ types.add(UMLElementTypes.InputPin_3048);
+ types.add(UMLElementTypes.ValuePin_3049);
+ types.add(UMLElementTypes.ActionInputPin_3050);
+ types.add(UMLElementTypes.InputPin_3051);
+ types.add(UMLElementTypes.SendSignalAction_3052);
+ types.add(UMLElementTypes.ActionInputPin_3053);
+ types.add(UMLElementTypes.ValuePin_3054);
+ types.add(UMLElementTypes.InputPin_3055);
+ types.add(UMLElementTypes.ValuePin_3060);
+ types.add(UMLElementTypes.ActionInputPin_3061);
+ types.add(UMLElementTypes.InputPin_3062);
+ types.add(UMLElementTypes.ActivityParameterNode_3059);
+ types.add(UMLElementTypes.AcceptEventAction_3063);
+ types.add(UMLElementTypes.OutputPin_3064);
+ types.add(UMLElementTypes.ValueSpecificationAction_3076);
+ types.add(UMLElementTypes.OutputPin_3077);
+ types.add(UMLElementTypes.ConditionalNode_3069);
+ types.add(UMLElementTypes.ExpansionRegion_3070);
+ types.add(UMLElementTypes.ExpansionNode_3074);
+ types.add(UMLElementTypes.ExpansionNode_3075);
+ types.add(UMLElementTypes.LoopNode_3071);
+ types.add(UMLElementTypes.OutputPin_3109);
+ types.add(UMLElementTypes.OutputPin_3110);
+ types.add(UMLElementTypes.OutputPin_3111);
+ types.add(UMLElementTypes.SequenceNode_3073);
+ types.add(UMLElementTypes.StructuredActivityNode_3065);
+ types.add(UMLElementTypes.InputPin_3105);
+ types.add(UMLElementTypes.ReadSelfAction_3081);
+ types.add(UMLElementTypes.OutputPin_3084);
+ types.add(UMLElementTypes.CreateObjectAction_3086);
+ types.add(UMLElementTypes.OutputPin_3087);
+ types.add(UMLElementTypes.ReadStructuralFeatureAction_3088);
+ types.add(UMLElementTypes.InputPin_3089);
+ types.add(UMLElementTypes.OutputPin_3090);
+ types.add(UMLElementTypes.AddStructuralFeatureValueAction_3091);
+ types.add(UMLElementTypes.InputPin_3092);
+ types.add(UMLElementTypes.InputPin_3093);
+ types.add(UMLElementTypes.OutputPin_3094);
+ types.add(UMLElementTypes.DestroyObjectAction_3095);
+ types.add(UMLElementTypes.InputPin_3096);
+ types.add(UMLElementTypes.ReadVariableAction_3097);
+ types.add(UMLElementTypes.OutputPin_3098);
+ types.add(UMLElementTypes.AddVariableValueAction_3099);
+ types.add(UMLElementTypes.InputPin_3100);
+ types.add(UMLElementTypes.InputPin_3101);
+ types.add(UMLElementTypes.BroadcastSignalAction_3102);
+ types.add(UMLElementTypes.InputPin_3103);
+ types.add(UMLElementTypes.CentralBufferNode_3104);
+ types.add(org.eclipse.papyrus.uml.diagram.interactionoverview.provider.UMLElementTypes.CallBehaviorAction_5000);
+ } else if(relationshipType == UMLElementTypes.CommentAnnotatedElement_4006) {
+ types.add(UMLElementTypes.Comment_3080);
+ } else if(relationshipType == UMLElementTypes.ConstraintConstrainedElement_4007) {
+ types.add(UMLElementTypes.DurationConstraint_3034);
+ types.add(UMLElementTypes.DurationConstraint_3035);
+ types.add(UMLElementTypes.TimeConstraint_3036);
+ types.add(UMLElementTypes.TimeConstraint_3037);
+ types.add(UMLElementTypes.IntervalConstraint_3032);
+ types.add(UMLElementTypes.IntervalConstraint_3033);
+ types.add(UMLElementTypes.Constraint_3011);
+ types.add(UMLElementTypes.Constraint_3012);
+ types.add(UMLElementTypes.Constraint_3112);
+ }
+ return types;
+ }
+
+ /**
+ * @generated
+ */
+ @Override
+ public Object getPreferredValue(final EStructuralFeature feature) {
+ final IPreferenceStore preferenceStore = (IPreferenceStore)getDiagramPreferencesHint().getPreferenceStore();
+ Object result = null;
+ if(feature == NotationPackage.eINSTANCE.getLineStyle_LineColor() || feature == NotationPackage.eINSTANCE.getFontStyle_FontColor() || feature == NotationPackage.eINSTANCE.getFillStyle_FillColor()) {
+ String prefColor = null;
+ if(feature == NotationPackage.eINSTANCE.getLineStyle_LineColor()) {
+ prefColor = PreferenceConstantHelper.getElementConstant("CallBehaviorAction", PreferenceConstantHelper.COLOR_LINE);
+ } else if(feature == NotationPackage.eINSTANCE.getFontStyle_FontColor()) {
+ prefColor = PreferenceConstantHelper.getElementConstant("CallBehaviorAction", PreferenceConstantHelper.COLOR_FONT);
+ } else if(feature == NotationPackage.eINSTANCE.getFillStyle_FillColor()) {
+ prefColor = PreferenceConstantHelper.getElementConstant("CallBehaviorAction", PreferenceConstantHelper.COLOR_FILL);
+ }
+ result = FigureUtilities.RGBToInteger(PreferenceConverter.getColor(preferenceStore, prefColor));
+ } else if(feature == NotationPackage.eINSTANCE.getFillStyle_Transparency() || feature == NotationPackage.eINSTANCE.getFillStyle_Gradient()) {
+ final String prefGradient = PreferenceConstantHelper.getElementConstant("CallBehaviorAction", PreferenceConstantHelper.COLOR_GRADIENT);
+ final GradientPreferenceConverter gradientPreferenceConverter = new GradientPreferenceConverter(preferenceStore.getString(prefGradient));
+ if(feature == NotationPackage.eINSTANCE.getFillStyle_Transparency()) {
+ result = new Integer(gradientPreferenceConverter.getTransparency());
+ } else if(feature == NotationPackage.eINSTANCE.getFillStyle_Gradient()) {
+ result = gradientPreferenceConverter.getGradientData();
+ }
+ }
+ if(result == null) {
+ result = getStructuralFeatureValue(feature);
+ }
+ return result;
+ }
+
+ @Override
+ public Command getCommand(final Request _request) {
+ // TODO Auto-generated method stub
+ if(_request instanceof ChangeBoundsRequest) {
+ final ChangeBoundsRequest request = (ChangeBoundsRequest)_request;
+ final CompoundCommand compoundCommand = new CompoundCommand();
+ compoundCommand.add(new RefreshCommandForUndo(this));
+ compoundCommand.add(new Command() {
+
+ @Override
+ public void execute() {
+ final Rectangle newBound = request.getTransformedRectangle(primaryShape.getBounds());
+ ((InteractionWithSnapshotFigure)primaryShape).updateSnapshot(new Rectangle(newBound.x, newBound.y, newBound.width, newBound.height - 15));
+ }
+ });
+ compoundCommand.add(super.getCommand(request));
+
+ return compoundCommand;
+ }
+ return super.getCommand(_request);
+ }
+
+ @Override
+ public void refresh() {
+ super.refresh();
+ if(((InteractionWithSnapshotFigure)primaryShape).getImageFigure() != null && isValidFromRefresh()) {
+ if(((InteractionWithSnapshotFigure)primaryShape).getImageFigure().getImage() == null) {
+
+ try {
+
+ final CreateSnapshotForInteractionFromRefreshCommand command = CreateSnapshotForInteractionFromRefreshCommand.create((View)getModel(), (GraphicalEditPart)getParent());
+ //use to avoid to put it in the command stack
+ final Map<String, Boolean> options = new HashMap<String, Boolean>();
+ options.put(Transaction.OPTION_UNPROTECTED, Boolean.TRUE);
+ final InternalTransactionalEditingDomain editingDomain = (InternalTransactionalEditingDomain)getEditingDomain();
+ try {
+ if(editingDomain.getActiveTransaction() == null) {
+ //Should not happen
+ final InternalTransaction transaction = editingDomain.startTransaction(false, options);
+ command.execute(null, null);
+ transaction.commit();
+ } else {
+ final InternalTransaction activeTransaction = editingDomain.getActiveTransaction();
+ if(activeTransaction.isReadOnly()) {
+ editingDomain.deactivate(activeTransaction);
+ try {
+ final InternalTransaction it = editingDomain.startTransaction(false, options);
+ command.execute(null, null);
+ it.commit();
+ } finally {
+ editingDomain.activate(activeTransaction);
+ }
+ } else {
+ command.execute(null, null);
+ }
+ }
+
+ final InternalTransaction it = ((InternalTransactionalEditingDomain)getEditingDomain()).startTransaction(false, options);
+ command.execute(null, null);
+ it.commit();
+ } catch (final Exception e) {
+ Activator.log.error(e);
+ }
+
+ } catch (final Exception e) {
+ Activator.log.error(e);
+ }
+ }
+ if(!((InteractionWithSnapshotFigure)primaryShape).isImageSizeFitsImageFigure()) {
+
+ final Rectangle bounds = new Rectangle(0, 0, primaryShape.getBounds().width, primaryShape.getBounds().height - 15);
+ ((InteractionWithSnapshotFigure)primaryShape).updateSnapshot(bounds);
+ }
+ }
+ }
+
+ private boolean isValidFromRefresh() {
+ final View callBehaviorActionView = (View)getModel();
+ return CallBehaviorUtil.getDiagramLinked(callBehaviorActionView) != null && !CallBehaviorUtil.getDiagramLinked(callBehaviorActionView).equals("");
+ }
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomActivityEditPartTN.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomActivityEditPartTN.java index 6a505e34481..0727ea7f576 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomActivityEditPartTN.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomActivityEditPartTN.java @@ -26,11 +26,4 @@ public class CustomActivityEditPartTN extends ActivityEditPart { protected IFigure createNodeShape() {
return primaryShape = new ActivityAsInteractionFigure();
}
-
- @Override
- protected void createDefaultEditPolicies() {
- super.createDefaultEditPolicies();
- //removeEditPolicy(EditPolicyRoles.SEMANTIC_ROLE);
- //installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new ActivityContentCompartmentItemSemanticEditPolicy());
- }
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomInteractionUseEditPartCN.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomInteractionUseEditPartCN.java index 09b82b73bf0..a1600257e3f 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomInteractionUseEditPartCN.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomInteractionUseEditPartCN.java @@ -15,7 +15,6 @@ import org.eclipse.gmf.runtime.notation.View; import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CallBehaviorActionEditPart;
import org.eclipse.papyrus.uml.diagram.interactionoverview.figures.InteractionUseFigure;
-
public class CustomInteractionUseEditPartCN extends CallBehaviorActionEditPart {
public CustomInteractionUseEditPartCN(final View view) {
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomInteractionUseNameEditPart.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomInteractionUseNameEditPart.java index 16971211eaa..55f018b52f6 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomInteractionUseNameEditPart.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomInteractionUseNameEditPart.java @@ -17,7 +17,6 @@ import org.eclipse.papyrus.uml.diagram.activity.part.UMLVisualIDRegistry; import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes;
import org.eclipse.papyrus.uml.diagram.activity.providers.UMLParserProvider;
-
public class CustomInteractionUseNameEditPart extends CallBehaviorActionNameEditPart {
/**
@@ -38,7 +37,6 @@ public class CustomInteractionUseNameEditPart extends CallBehaviorActionNameEdit public CustomInteractionUseNameEditPart(final View view) {
super(view);
- // TODO Auto-generated constructor stub
}
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomUMLInteractionOverviewEditPartFactory.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomUMLInteractionOverviewEditPartFactory.java index 3d4403391bd..39dc400c178 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomUMLInteractionOverviewEditPartFactory.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/part/CustomUMLInteractionOverviewEditPartFactory.java @@ -23,18 +23,29 @@ public class CustomUMLInteractionOverviewEditPartFactory extends CustomUMLEditPa public EditPart createEditPart(final EditPart context, final Object model) {
if(model instanceof View) {
final View view = (View)model;
- final int visualID = org.eclipse.papyrus.uml.diagram.activity.part.UMLVisualIDRegistry.getVisualID(view);
- switch(visualID) {
- case ActivityEditPart.VISUAL_ID:// 2001
- return new CustomActivityEditPartTN(view);
- case CallBehaviorActionEditPart.VISUAL_ID:// 3008
- return new CustomInteractionUseEditPartCN(view);
- case CallBehaviorActionNameEditPart.VISUAL_ID:
- return new CustomInteractionUseNameEditPart(view);// 5004
- default:
- // when adding cases to this switch, also add the corresponding
- // IDs in the extension
- // org.eclipse.gmf.runtime.diagram.ui.editpartProviders
+ int visualID = org.eclipse.papyrus.uml.diagram.activity.part.UMLVisualIDRegistry.getVisualID(view);
+ if(visualID != -1) {
+ switch(visualID) {
+ case ActivityEditPart.VISUAL_ID:// 2001
+ return new CustomActivityEditPartTN(view);
+ case CallBehaviorActionEditPart.VISUAL_ID:// 3008
+ return new CustomInteractionUseEditPartCN(view);
+ case CallBehaviorActionNameEditPart.VISUAL_ID:
+ return new CustomInteractionUseNameEditPart(view);// 5004
+ case CallBehaviorActionAsInteractionEditPart.VISUAL_ID:
+ return new CallBehaviorActionAsInteractionEditPart(view);//5000
+ default:
+ // when adding cases to this switch, also add the corresponding
+ // IDs in the extension
+ // org.eclipse.gmf.runtime.diagram.ui.editpartProviders
+ }
+ } else {
+ visualID = org.eclipse.papyrus.uml.diagram.activity.part.UMLVisualIDRegistry.getVisualID(view);
+ switch(visualID) {
+ case CallBehaviorActionAsInteractionEditPart.VISUAL_ID:
+ return new CallBehaviorActionAsInteractionEditPart(view);//5000
+ default:
+ }
}
}
return super.createEditPart(context, model);
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/ActivityContentCompartmentCreationEditPolicy.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/ActivityContentCompartmentCreationEditPolicy.java new file mode 100644 index 00000000000..2c81b12abda --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/ActivityContentCompartmentCreationEditPolicy.java @@ -0,0 +1,58 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies;
+
+import java.util.List;
+
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.commands.CompoundCommand;
+import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest;
+import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest.ViewDescriptor;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.PapyrusCreationEditPolicy;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.commands.CreateSnapshotForInteractionFromViewDescriptorCommand;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part.CallBehaviorActionAsInteractionEditPart;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.part.Messages;
+import org.eclipse.papyrus.uml.diagram.timing.custom.edit.commands.RefreshCommandForDo;
+
+
+public class ActivityContentCompartmentCreationEditPolicy extends PapyrusCreationEditPolicy {
+
+
+ @Override
+ protected Command getCreateCommand(final CreateViewRequest request) {
+ final ICommandProxy superCommand = (ICommandProxy)super.getCreateCommand(request);
+ final List<? extends ViewDescriptor> viewDescriptors = request.getViewDescriptors();
+ if(request instanceof CreateViewAndElementRequest && viewDescriptors.size() == 1) {
+ final String semanticHint = viewDescriptors.get(0).getSemanticHint();
+ if(Integer.toString(CallBehaviorActionAsInteractionEditPart.VISUAL_ID).equals(semanticHint)) {
+ return getCreateCallBehaviorActionAsInteractionCommand(request, superCommand);
+ }
+ } else if(request instanceof CreateViewRequest && viewDescriptors.size() == 1) {
+ final String semanticHint = viewDescriptors.get(0).getSemanticHint();
+ if(Integer.toString(CallBehaviorActionAsInteractionEditPart.VISUAL_ID).equals(semanticHint)) {
+ return getCreateCallBehaviorActionAsInteractionCommand(request, superCommand);
+ }
+ }
+ return superCommand;
+ }
+
+ protected Command getCreateCallBehaviorActionAsInteractionCommand(final CreateViewRequest request, final ICommandProxy superCommand) {
+ final CompoundCommand compoundCommand = new CompoundCommand(Messages.ActivityContentCompartmentCreationEditPolicy_CreateCallBehaviorActionAsInteractionCommand);
+ compoundCommand.add(superCommand);
+ compoundCommand.add(new ICommandProxy(CreateSnapshotForInteractionFromViewDescriptorCommand.create(superCommand.getICommand(), (GraphicalEditPart)getHost())));
+ compoundCommand.add(new RefreshCommandForDo((org.eclipse.gef.GraphicalEditPart)getHost()));
+ return compoundCommand;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/ActivityContentCompartmentItemSemanticEditPolicy.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/ActivityContentCompartmentItemSemanticEditPolicy.java index 74e6b550d8b..7bbbead7c35 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/ActivityContentCompartmentItemSemanticEditPolicy.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/ActivityContentCompartmentItemSemanticEditPolicy.java @@ -10,7 +10,9 @@ *****************************************************************************/
package org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies;
+import org.eclipse.gef.GraphicalEditPart;
import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.commands.CompoundCommand;
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
@@ -18,10 +20,11 @@ import org.eclipse.papyrus.infra.extendedtypes.util.ElementTypeUtils; import org.eclipse.papyrus.uml.diagram.activity.edit.policies.ActivityCNContentCompartmentItemSemanticEditPolicy;
import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.commands.CallBehaviorActionAsInteractionUseCreateCommand;
-
+import org.eclipse.papyrus.uml.diagram.timing.custom.edit.commands.RefreshCommandForDo;
public class ActivityContentCompartmentItemSemanticEditPolicy extends ActivityCNContentCompartmentItemSemanticEditPolicy {
+ @Override
protected Command getCreateCommand(final CreateElementRequest req) {
final IElementType requestElementType = req.getElementType();
if(requestElementType == null) {
@@ -34,7 +37,8 @@ public class ActivityContentCompartmentItemSemanticEditPolicy extends ActivityCN if(baseElementType != null) {
isExtendedType = true;
} else {
- // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
+ // no reference element type ID. using the closest super element
+ // type to give more opportunities, but can lead to bugs.
baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
isExtendedType = true;
}
@@ -45,6 +49,15 @@ public class ActivityContentCompartmentItemSemanticEditPolicy extends ActivityCN }
return getGEFWrapper(new CallBehaviorActionAsInteractionUseCreateCommand(req));
}
+ if(org.eclipse.papyrus.uml.diagram.interactionoverview.provider.UMLElementTypes.CallBehaviorAction_5000 == baseElementType) {
+ if(isExtendedType) {
+ return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
+ }
+ final CompoundCommand compoundCommand = new CompoundCommand();
+ compoundCommand.add(getGEFWrapper(getSemanticCreationCommand(req)));
+ compoundCommand.add(new RefreshCommandForDo((GraphicalEditPart)getHost()));
+ return compoundCommand;
+ }
return super.getCreateCommand(req);
}
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomActivityCNContentCompartmentItemSemanticEditPolicy.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomActivityCNContentCompartmentItemSemanticEditPolicy.java index f14ed0987a1..2af65dd1490 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomActivityCNContentCompartmentItemSemanticEditPolicy.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomActivityCNContentCompartmentItemSemanticEditPolicy.java @@ -19,10 +19,9 @@ import org.eclipse.papyrus.uml.diagram.activity.edit.policies.ActivityCNContentC import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.commands.CallBehaviorActionAsInteractionUseCreateCommand;
-
public class CustomActivityCNContentCompartmentItemSemanticEditPolicy extends ActivityCNContentCompartmentItemSemanticEditPolicy {
-
+ @Override
protected Command getCreateCommand(final CreateElementRequest req) {
final IElementType requestElementType = req.getElementType();
if(requestElementType == null) {
@@ -35,7 +34,8 @@ public class CustomActivityCNContentCompartmentItemSemanticEditPolicy extends Ac if(baseElementType != null) {
isExtendedType = true;
} else {
- // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
+ // no reference element type ID. using the closest super element
+ // type to give more opportunities, but can lead to bugs.
baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
isExtendedType = true;
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy.java index ec1deec5fd3..88fe5b1da8c 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy.java @@ -19,9 +19,9 @@ import org.eclipse.papyrus.uml.diagram.activity.edit.policies.ActivityPartitionA import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.commands.CallBehaviorActionAsInteractionUseCreateCommand;
-
public class CustomActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy extends ActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy {
+ @Override
protected Command getCreateCommand(final CreateElementRequest req) {
final IElementType requestElementType = req.getElementType();
if(requestElementType == null) {
@@ -34,7 +34,8 @@ public class CustomActivityPartitionActivityPartitionContentCompartmentItemSeman if(baseElementType != null) {
isExtendedType = true;
} else {
- // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
+ // no reference element type ID. using the closest super element
+ // type to give more opportunities, but can lead to bugs.
baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
isExtendedType = true;
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java index 8407692617b..8a8a76353b5 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java @@ -19,9 +19,9 @@ import org.eclipse.papyrus.uml.diagram.activity.edit.policies.ConditionalNodeStr import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.commands.CallBehaviorActionAsInteractionUseCreateCommand;
-
public class CustomConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy extends ConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy {
+ @Override
protected Command getCreateCommand(final CreateElementRequest req) {
final IElementType requestElementType = req.getElementType();
if(requestElementType == null) {
@@ -34,7 +34,8 @@ public class CustomConditionalNodeStructuredActivityNodeContentCompartmentItemSe if(baseElementType != null) {
isExtendedType = true;
} else {
- // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
+ // no reference element type ID. using the closest super element
+ // type to give more opportunities, but can lead to bugs.
baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
isExtendedType = true;
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java index 9c36e9eb909..054fba2a98e 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java @@ -19,9 +19,9 @@ import org.eclipse.papyrus.uml.diagram.activity.edit.policies.ExpansionRegionStr import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.commands.CallBehaviorActionAsInteractionUseCreateCommand;
-
public class CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy extends ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy {
+ @Override
protected Command getCreateCommand(final CreateElementRequest req) {
final IElementType requestElementType = req.getElementType();
if(requestElementType == null) {
@@ -34,7 +34,8 @@ public class CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSe if(baseElementType != null) {
isExtendedType = true;
} else {
- // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
+ // no reference element type ID. using the closest super element
+ // type to give more opportunities, but can lead to bugs.
baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
isExtendedType = true;
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomInteractionOverviewDiagramCreationEditPolicy.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomInteractionOverviewDiagramCreationEditPolicy.java index f1e907954dd..6c6207e2920 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomInteractionOverviewDiagramCreationEditPolicy.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomInteractionOverviewDiagramCreationEditPolicy.java @@ -12,8 +12,6 @@ package org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies; import java.util.List;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
import org.eclipse.gef.commands.Command;
import org.eclipse.gef.commands.CompoundCommand;
import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest;
@@ -35,7 +33,6 @@ public class CustomInteractionOverviewDiagramCreationEditPolicy extends PapyrusC if(request instanceof CreateViewAndElementRequest && viewDescriptors.size() == 1) {
final String semanticHint = viewDescriptors.get(0).getSemanticHint();
if(Integer.toString(ActivityEditPart.VISUAL_ID).equals(semanticHint)) {
- final TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(getHost().getModel());
final CompoundCommand compoundCommand = new CompoundCommand(Messages.CustomInteractionOverviewDiagramCreationEditPolicy_CreateActivity);
compoundCommand.add(superCommand);
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomInteractionOverviewDiagramDragAndDropEditPolicy.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomInteractionOverviewDiagramDragAndDropEditPolicy.java new file mode 100644 index 00000000000..6a9a401ea6b --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomInteractionOverviewDiagramDragAndDropEditPolicy.java @@ -0,0 +1,24 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.uml.diagram.activity.edit.policies.CustomDiagramDragDropEditPolicy;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.part.UMLVisualIDRegistry;
+
+public class CustomInteractionOverviewDiagramDragAndDropEditPolicy extends CustomDiagramDragDropEditPolicy {
+
+ @Override
+ public int getNodeVisualID(final View containerView, final EObject domainElement) {
+ return UMLVisualIDRegistry.customGetNodeVisualID(containerView, domainElement);
+ }
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomInterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomInterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy.java index 7aaa98d2334..2ced1c161f1 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomInterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomInterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy.java @@ -19,10 +19,9 @@ import org.eclipse.papyrus.uml.diagram.activity.edit.policies.InterruptibleActiv import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.commands.CallBehaviorActionAsInteractionUseCreateCommand;
-
public class CustomInterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy extends InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy {
-
+ @Override
protected Command getCreateCommand(final CreateElementRequest req) {
final IElementType requestElementType = req.getElementType();
if(requestElementType == null) {
@@ -35,7 +34,8 @@ public class CustomInterruptibleActivityRegionInterruptibleActivityRegionContent if(baseElementType != null) {
isExtendedType = true;
} else {
- // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
+ // no reference element type ID. using the closest super element
+ // type to give more opportunities, but can lead to bugs.
baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
isExtendedType = true;
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomLoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomLoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java index f1285f80ff8..36f77fec3bc 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomLoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomLoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java @@ -19,9 +19,9 @@ import org.eclipse.papyrus.uml.diagram.activity.edit.policies.LoopNodeStructured import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.commands.CallBehaviorActionAsInteractionUseCreateCommand;
-
public class CustomLoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy extends LoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy {
+ @Override
protected Command getCreateCommand(final CreateElementRequest req) {
final IElementType requestElementType = req.getElementType();
if(requestElementType == null) {
@@ -34,7 +34,8 @@ public class CustomLoopNodeStructuredActivityNodeContentCompartmentItemSemanticE if(baseElementType != null) {
isExtendedType = true;
} else {
- // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
+ // no reference element type ID. using the closest super element
+ // type to give more opportunities, but can lead to bugs.
baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
isExtendedType = true;
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomSequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomSequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java index 737d50b344c..bdd8cd75ce0 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomSequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomSequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java @@ -19,9 +19,9 @@ import org.eclipse.papyrus.uml.diagram.activity.edit.policies.SequenceNodeStruct import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.commands.CallBehaviorActionAsInteractionUseCreateCommand;
-
public class CustomSequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy extends SequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy {
+ @Override
protected Command getCreateCommand(final CreateElementRequest req) {
final IElementType requestElementType = req.getElementType();
if(requestElementType == null) {
@@ -34,7 +34,8 @@ public class CustomSequenceNodeStructuredActivityNodeContentCompartmentItemSeman if(baseElementType != null) {
isExtendedType = true;
} else {
- // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
+ // no reference element type ID. using the closest super element
+ // type to give more opportunities, but can lead to bugs.
baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
isExtendedType = true;
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomStructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomStructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java index 172cf6ad955..8bd32a553d9 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomStructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/edit/policies/CustomStructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java @@ -19,9 +19,9 @@ import org.eclipse.papyrus.uml.diagram.activity.edit.policies.StructuredActivity import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.commands.CallBehaviorActionAsInteractionUseCreateCommand;
-
public class CustomStructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy extends StructuredActivityNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy {
+ @Override
protected Command getCreateCommand(final CreateElementRequest req) {
final IElementType requestElementType = req.getElementType();
if(requestElementType == null) {
@@ -34,7 +34,8 @@ public class CustomStructuredActivityNodeStructuredActivityNodeContentCompartmen if(baseElementType != null) {
isExtendedType = true;
} else {
- // no reference element type ID. using the closest super element type to give more opportunities, but can lead to bugs.
+ // no reference element type ID. using the closest super element
+ // type to give more opportunities, but can lead to bugs.
baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
isExtendedType = true;
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/figures/ActivityAsInteractionFigure.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/figures/ActivityAsInteractionFigure.java index a339a3f9aac..96745eaa1d4 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/figures/ActivityAsInteractionFigure.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/figures/ActivityAsInteractionFigure.java @@ -42,7 +42,6 @@ public class ActivityAsInteractionFigure extends ActivityFigure { protected void createContents() {
add(createInteractionFigureHeader());
add(createContentPane());
- final int childrenSize = getChildren().size();
setLayoutManager(new ActivityLayoutManager());
}
@@ -189,27 +188,6 @@ public class ActivityAsInteractionFigure extends ActivityFigure { pscontainer.y = getPostconditionFigure().getBounds().y + getPostconditionFigure().getBounds().height + GAP_Y;
getStereotypePropertiesContent().setBounds(pscontainer);
}
- // // place parameter
- // // replace compartment stereotype properties
- // if(getStereotypePropertiesContent() != null) {
- // Rectangle paramBoundcontainer =
- // getParameterFigure().getBounds().getCopy();
- // paramBoundcontainer.y =
- // getStereotypePropertiesContent().getBounds().getBottomLeft().y;
- // getParameterFigure().setBounds(paramBoundcontainer);
- // if(getParameterFigure().getChildren().size() > 0) {
- // ((IFigure)interactionContentPane.getChildren().get(0)).setBounds(paramBoundcontainer);
- // }
- // } else {
- // Rectangle paramBoundcontainer =
- // getParameterFigure().getBounds().getCopy();
- // paramBoundcontainer.y =
- // getNameLabel().getBounds().getBottomLeft().y;
- // getParameterFigure().setBounds(paramBoundcontainer);
- // if(getParameterFigure().getChildren().size() > 0) {
- // ((IFigure)interactionContentPane.getChildren().get(0)).setBounds(paramBoundcontainer);;
- // }
- // }
}
}
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/figures/InteractionUseFigure.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/figures/InteractionUseFigure.java index e724f108111..9ad18473203 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/figures/InteractionUseFigure.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/figures/InteractionUseFigure.java @@ -27,17 +27,17 @@ import org.eclipse.papyrus.uml.diagram.common.draw2d.CenterLayout; import org.eclipse.papyrus.uml.diagram.common.draw2d.InteractionFigure;
import org.eclipse.papyrus.uml.diagram.common.draw2d.LeftToolbarLayout;
-
public class InteractionUseFigure extends CallBehaviorActionFigure {
+ protected static String HEADER_NAME = "Ref";
- private WrappingLabel interactionHeader;
+ protected WrappingLabel interactionHeader;
- private RectangleFigure interactionLabelContainer;
+ protected RectangleFigure interactionLabelContainer;
- private RectangleFigure interactionContentPane;
+ protected RectangleFigure interactionContentPane;
- private WrappingLabel interactionNameLabel;
+ protected WrappingLabel interactionNameLabel;
public InteractionUseFigure() {
createContents();
@@ -50,7 +50,7 @@ public class InteractionUseFigure extends CallBehaviorActionFigure { setLayoutManager(new InteractionUseLayoutManager());
}
- private class InteractionUseLayoutManager extends AbstractLayout {
+ protected class InteractionUseLayoutManager extends AbstractLayout {
public void layout(final IFigure container) {
final List childrenList = container.getChildren();
@@ -61,9 +61,7 @@ public class InteractionUseFigure extends CallBehaviorActionFigure { bound.setSize(((IFigure)childrenList.get(i)).getPreferredSize());
if(i > 0) {
bound.y = ((IFigure)childrenList.get(i - 1)).getBounds().getBottomLeft().y + 1;
- // bound.x = getBounds().x + GAP_X;
} else {
- // bound.x = getBounds().x + GAP_X;
bound.y = getBounds().y;
}
((IFigure)childrenList.get(i)).setBounds(bound);
@@ -74,8 +72,7 @@ public class InteractionUseFigure extends CallBehaviorActionFigure { @Override
protected Dimension calculatePreferredSize(final IFigure container, final int wHint, final int hHint) {
- // TODO Auto-generated method stub
- return null;
+ return new Dimension(-1, -1);
}
}
@@ -86,7 +83,7 @@ public class InteractionUseFigure extends CallBehaviorActionFigure { interactionContentPane = new RectangleFigure();
// Margin allow to add message easily
interactionContentPane.setBorder(new MarginBorder(5, 5, 5, 5));
- interactionContentPane.setFill(true);
+ interactionContentPane.setFill(false);
interactionContentPane.setOutline(false);
interactionContentPane.setLayoutManager(new CenterLayout());
interactionContentPane.add(interactionNameLabel);
@@ -105,7 +102,8 @@ public class InteractionUseFigure extends CallBehaviorActionFigure { return new Dimension(preferredSize.width + 2, preferredSize.height + 2);
}
};
- interactionHeader.setText("Ref");
+
+ interactionHeader.setText(HEADER_NAME);
final InteractionFigure interactionFigure = new InteractionFigure();
interactionFigure.setBorder(new MarginBorder(3, 3, 3, 3));
interactionFigure.setLayoutManager(new LeftToolbarLayout());
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/figures/InteractionWithSnapshotFigure.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/figures/InteractionWithSnapshotFigure.java new file mode 100644 index 00000000000..fbc9340188d --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/figures/InteractionWithSnapshotFigure.java @@ -0,0 +1,118 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.figures;
+
+import java.util.List;
+
+import org.eclipse.draw2d.AbstractLayout;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.ImageFigure;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.utils.CreateDiagramImage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+
+public class InteractionWithSnapshotFigure extends InteractionUseFigure {
+
+ protected static String HEADER_NAME = "SD";
+
+ protected ImageFigure imageFigure;
+
+ protected Image originalSnapshot;
+
+ protected Image currentSnapshot;
+
+ public InteractionWithSnapshotFigure() {
+ this.corner = 0;
+ originalSnapshot = null;
+ currentSnapshot = null;
+ }
+
+ @Override
+ protected void createContents() {
+ add(createInteractionFigureHeader());
+ add(createImagePane());
+ setLayoutManager(new InteractionLayoutManager());
+ interactionHeader.setText(HEADER_NAME);
+ }
+
+ protected class InteractionLayoutManager extends AbstractLayout {
+
+ public void layout(final IFigure container) {
+ final List childrenList = container.getChildren();
+ for(int i = 0; i < container.getChildren().size(); i++) {
+ final IFigure currentFigure = (IFigure)childrenList.get(i);
+ if(currentFigure.equals(interactionLabelContainer) || currentFigure.equals(imageFigure)) {
+ final Rectangle bound = new Rectangle(((IFigure)childrenList.get(i)).getBounds());
+ bound.setSize(((IFigure)childrenList.get(i)).getPreferredSize());
+ if(i > 0) {
+ bound.y = ((IFigure)childrenList.get(i - 1)).getBounds().getBottomLeft().y + 1;
+ } else {
+ bound.y = getBounds().y;
+ }
+ ((IFigure)childrenList.get(i)).setBounds(bound);
+
+ }
+ }
+
+ }
+
+ @Override
+ protected Dimension calculatePreferredSize(final IFigure container, final int wHint, final int hHint) {
+ return new Dimension(-1, -1);
+ }
+
+ }
+
+ @Override
+ public WrappingLabel getNameLabel() {
+ return interactionHeader;
+ }
+
+ protected IFigure createImagePane() {
+ return imageFigure = new ImageFigure();
+ }
+
+
+ public void setSnapshot(final Image image) {
+ if(image != null) {
+ originalSnapshot = image;
+ currentSnapshot = new Image(Display.getDefault(), image, SWT.IMAGE_COPY);
+ imageFigure.setImage(image);
+ }
+ }
+
+ public void updateSnapshot(final Rectangle newBounds) {
+ if(originalSnapshot != null) {
+ final Image newImage = CreateDiagramImage.resize(originalSnapshot, newBounds.width, newBounds.height);
+ imageFigure.setImage(newImage);
+ currentSnapshot.dispose();
+ currentSnapshot = newImage;
+ }
+ }
+
+ public ImageFigure getImageFigure() {
+ return imageFigure;
+ }
+
+ public boolean isImageSizeFitsImageFigure() {
+ return (isImageFigureHasBound() && getBounds().width == imageFigure.getBounds().height);
+ }
+
+ private boolean isImageFigureHasBound() {
+ return imageFigure.getBounds().height != 0 && imageFigure.getBounds().width != 0;
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/parser/CustomCallBehaviorActionParser.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/parser/CustomCallBehaviorActionParser.java index 91b373b9f4d..dd189b64539 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/parser/CustomCallBehaviorActionParser.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/parser/CustomCallBehaviorActionParser.java @@ -23,7 +23,6 @@ import org.eclipse.uml2.uml.CallBehaviorAction; import org.eclipse.uml2.uml.Interaction;
import org.eclipse.uml2.uml.UMLPackage;
-
public class CustomCallBehaviorActionParser extends CallBehaviorActionParser {
public CustomCallBehaviorActionParser() {
@@ -31,10 +30,10 @@ public class CustomCallBehaviorActionParser extends CallBehaviorActionParser { }
@Override
- public String getPrintString(IAdaptable element, int flags) {
- Object obj = element.getAdapter(EObject.class);
+ public String getPrintString(final IAdaptable element, final int flags) {
+ final Object obj = element.getAdapter(EObject.class);
if(obj instanceof CallBehaviorAction) {
- CallBehaviorAction action = (CallBehaviorAction)obj;
+ final CallBehaviorAction action = (CallBehaviorAction)obj;
String behaviorName = "";
if(action.getBehavior() != null && action.getBehavior().getName() != null) {
behaviorName = action.getBehavior().getName();
@@ -48,10 +47,10 @@ public class CustomCallBehaviorActionParser extends CallBehaviorActionParser { }
@Override
- public String getEditString(IAdaptable element, int flags) {
- Object obj = element.getAdapter(EObject.class);
+ public String getEditString(final IAdaptable element, final int flags) {
+ final Object obj = element.getAdapter(EObject.class);
if(obj instanceof CallBehaviorAction) {
- CallBehaviorAction action = (CallBehaviorAction)obj;
+ final CallBehaviorAction action = (CallBehaviorAction)obj;
String behaviorName = "";
if(action.getBehavior() != null && action.getBehavior().getName() != null) {
behaviorName = action.getBehavior().getName();
@@ -65,18 +64,18 @@ public class CustomCallBehaviorActionParser extends CallBehaviorActionParser { }
@Override
- public ICommand getParseCommand(IAdaptable adapter, String newString, int flags) {
+ public ICommand getParseCommand(final IAdaptable adapter, final String newString, final int flags) {
if(newString == null) {
return UnexecutableCommand.INSTANCE;
}
- EObject element = (EObject)adapter.getAdapter(EObject.class);
- TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(element);
+ final EObject element = (EObject)adapter.getAdapter(EObject.class);
+ final TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(element);
if(editingDomain == null) {
return UnexecutableCommand.INSTANCE;
}
- CompositeTransactionalCommand command = new CompositeTransactionalCommand(editingDomain, "Set Values"); //$NON-NLS-1$
+ final CompositeTransactionalCommand command = new CompositeTransactionalCommand(editingDomain, "Set Values"); //$NON-NLS-1$
if(element instanceof CallBehaviorAction) {
- Interaction interactionUse = (Interaction)(((CallBehaviorAction)element).getBehavior());
+ final Interaction interactionUse = (Interaction)(((CallBehaviorAction)element).getBehavior());
command.compose(getModificationCommand(interactionUse, UMLPackage.eINSTANCE.getNamedElement_Name(), newString));
}
return command;
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/part/CustomIODPaletteFactory.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/part/CustomIODPaletteFactory.java new file mode 100644 index 00000000000..979620958a4 --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/part/CustomIODPaletteFactory.java @@ -0,0 +1,41 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.part;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.gef.Tool;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.uml.diagram.activity.part.UMLPaletteFactory;
+import org.eclipse.papyrus.uml.diagram.common.service.AspectUnspecifiedTypeCreationTool;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.provider.UMLElementTypes;
+
+
+public class CustomIODPaletteFactory extends UMLPaletteFactory {
+
+ private final static String CREATECALLBEHAVIORACTIONASCREATIONTOOL = "createCallBehaviorActionAsInteractionCreationTool"; //$NON-NLS-1$
+
+ @Override
+ public Tool createTool(final String toolId) {
+ if(toolId.equals(CREATECALLBEHAVIORACTIONASCREATIONTOOL)) {
+ return createCallBehaviorActionAsInteractionCreationTool();
+ }
+ return super.createTool(toolId);
+ }
+
+ private static Tool createCallBehaviorActionAsInteractionCreationTool() {
+ final List<IElementType> types = new ArrayList<IElementType>(1);
+ types.add(UMLElementTypes.CallBehaviorAction_5000);
+ final Tool tool = new AspectUnspecifiedTypeCreationTool(types);
+ return tool;
+ }
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/part/Messages.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/part/Messages.java index cf30d2ce85e..fbc994c327b 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/part/Messages.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/part/Messages.java @@ -12,11 +12,8 @@ package org.eclipse.papyrus.uml.diagram.interactionoverview.part; import org.eclipse.osgi.util.NLS;
-
public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.papyrus.uml.diagram.interactionoverview.messages"; //$NON-NLS-1$
-
static {
NLS.initializeMessages("messages", Messages.class); //$NON-NLS-1$
}
@@ -37,4 +34,26 @@ public class Messages extends NLS { public static String CreateCallActionDialog_CreateBehavior;
public static String CreateCallActionDialog_SelectBehavior;
+
+ public static String CallBehaviorActionAsInteractionEditHelperAdvice_ConfigureCreatedInteraction;
+
+ public static String CallBehaviorActionAsInteractionUseEditHelperAdvice_ConfigureCreatedInteraction;
+
+ public static String CreateSnapshotForInteractionFromRefreshCommand_CreateSnapshotForRefresh;
+
+ public static String CreateSnapshotForInteractionFromViewDescriptorCommand_CreateSnapshotForRefresh;
+
+ public static String CreateInteractionUseDialog_InteractionUsePrefix;
+
+ public static String ActivityContentCompartmentCreationEditPolicy_CreateCallBehaviorActionAsInteractionCommand;
+
+ public static String CreateDiagramImage_LifelineDialogTitle;
+
+ public static String CreateDiagramImage_LifelineDialogMessage;
+
+ public static String CreateDiagramImage_MultipleValueSelectorDialog;
+
+ public static String CreateSnapshotForInteractionFromViewDescriptorCommand_DiagramSelectorTitle;
+
+ public static String CreateSnapshotForInteractionFromViewDescriptorCommand_DiagramSelectorMessage;
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/part/UMLVisualIDRegistry.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/part/UMLVisualIDRegistry.java index 03ea891d7c4..a126ef2d4cd 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/part/UMLVisualIDRegistry.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/part/UMLVisualIDRegistry.java @@ -10,9 +10,46 @@ *****************************************************************************/
package org.eclipse.papyrus.uml.diagram.interactionoverview.part;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.gmf.runtime.notation.Diagram;
import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityActivityContentCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityActivityParametersCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityActivityPostConditionsCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityActivityPreConditionsCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityDiagramEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityEditPartCN;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityFinalNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityParameterNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityPartitionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CallBehaviorActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CommentEditPartCN;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConditionalNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConstraintEditPartCN;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConstraintInActivityAsPostcondEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConstraintInActivityAsPrecondEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.DecisionNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ExpansionRegionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.FlowFinalNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ForkNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InitialNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InputPinInLoopNodeAsVariableEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InterruptibleActivityRegionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.JoinNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.LoopNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.MergeNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInLoopNodeAsBodyOutputEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInLoopNodeAsLoopVariableEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OutputPinInLoopNodeAsResultEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ParameterEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.SequenceNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.StructuredActivityNodeEditPart;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part.CallBehaviorActionAsInteractionEditPart;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part.InteractionOverviewDiagramEditPart;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.utils.CallBehaviorUtil;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+import org.eclipse.uml2.uml.UMLPackage;
public class UMLVisualIDRegistry extends org.eclipse.papyrus.uml.diagram.activity.part.UMLVisualIDRegistry {
@@ -20,10 +57,13 @@ public class UMLVisualIDRegistry extends org.eclipse.papyrus.uml.diagram.activit super();
}
- public static boolean canCreateNode(final View containerView, final int nodeVisualID) {
+ public static int customGetNodeVisualID(final View containerView, final EObject domainElement) {
+ if(domainElement == null) {
+ return -1;
+ }
final String containerModelID = org.eclipse.papyrus.uml.diagram.activity.part.UMLVisualIDRegistry.getModelID(containerView);
if(!InteractionOverviewDiagramEditPart.MODEL_ID.equals(containerModelID)) {
- return false;
+ return -1;
}
int containerVisualID;
if(InteractionOverviewDiagramEditPart.MODEL_ID.equals(containerModelID)) {
@@ -32,10 +72,128 @@ public class UMLVisualIDRegistry extends org.eclipse.papyrus.uml.diagram.activit if(containerView instanceof Diagram) {
containerVisualID = InteractionOverviewDiagramEditPart.VISUAL_ID;
} else {
- return false;
+ return -1;
}
}
+ switch(containerVisualID) {
+ case ActivityDiagramEditPart.VISUAL_ID:
+ if(UMLPackage.eINSTANCE.getActivity().isSuperTypeOf(domainElement.eClass())) {
+ return ActivityEditPart.VISUAL_ID;
+ }
+ break;
+ case ActivityEditPart.VISUAL_ID:
+ if(UMLPackage.eINSTANCE.getActivityParameterNode().isSuperTypeOf(domainElement.eClass())) {
+ return ActivityParameterNodeEditPart.VISUAL_ID;
+ }
+ break;
+ case LoopNodeEditPart.VISUAL_ID:
+ if(UMLPackage.eINSTANCE.getInputPin().isSuperTypeOf(domainElement.eClass())) {
+ return InputPinInLoopNodeAsVariableEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getOutputPin().isSuperTypeOf(domainElement.eClass())) {
+ return OutputPinInLoopNodeAsResultEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getOutputPin().isSuperTypeOf(domainElement.eClass())) {
+ return OutputPinInLoopNodeAsBodyOutputEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getOutputPin().isSuperTypeOf(domainElement.eClass())) {
+ return OutputPinInLoopNodeAsLoopVariableEditPart.VISUAL_ID;
+ }
+ break;
+ case ActivityEditPartCN.VISUAL_ID:
+ if(UMLPackage.eINSTANCE.getActivityParameterNode().isSuperTypeOf(domainElement.eClass())) {
+ return ActivityParameterNodeEditPart.VISUAL_ID;
+ }
+ break;
+ case ActivityActivityParametersCompartmentEditPart.VISUAL_ID:
+ if(UMLPackage.eINSTANCE.getParameter().isSuperTypeOf(domainElement.eClass())) {
+ return ParameterEditPart.VISUAL_ID;
+ }
+ break;
+ case ActivityActivityPreConditionsCompartmentEditPart.VISUAL_ID:
+ if(UMLPackage.eINSTANCE.getConstraint().isSuperTypeOf(domainElement.eClass())) {
+ return ConstraintInActivityAsPrecondEditPart.VISUAL_ID;
+ }
+ break;
+ case ActivityActivityPostConditionsCompartmentEditPart.VISUAL_ID:
+ if(UMLPackage.eINSTANCE.getConstraint().isSuperTypeOf(domainElement.eClass())) {
+ return ConstraintInActivityAsPostcondEditPart.VISUAL_ID;
+ }
+ break;
+ case ActivityActivityContentCompartmentEditPart.VISUAL_ID:
+ if(UMLPackage.eINSTANCE.getInitialNode().isSuperTypeOf(domainElement.eClass())) {
+ return InitialNodeEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getActivityFinalNode().isSuperTypeOf(domainElement.eClass())) {
+ return ActivityFinalNodeEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getFlowFinalNode().isSuperTypeOf(domainElement.eClass())) {
+ return FlowFinalNodeEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getCallBehaviorAction().isSuperTypeOf(domainElement.eClass()) && isInteractionUse_3008(containerView, (CallBehaviorAction)domainElement)) {
+ return CallBehaviorActionEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getCallBehaviorAction().isSuperTypeOf(domainElement.eClass()) && isInteraction_5000(containerView, (CallBehaviorAction)domainElement)) {
+ return CallBehaviorActionAsInteractionEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getDecisionNode().isSuperTypeOf(domainElement.eClass())) {
+ return DecisionNodeEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getMergeNode().isSuperTypeOf(domainElement.eClass())) {
+ return MergeNodeEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getForkNode().isSuperTypeOf(domainElement.eClass())) {
+ return ForkNodeEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getJoinNode().isSuperTypeOf(domainElement.eClass())) {
+ return JoinNodeEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getConditionalNode().isSuperTypeOf(domainElement.eClass())) {
+ return ConditionalNodeEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getExpansionRegion().isSuperTypeOf(domainElement.eClass())) {
+ return ExpansionRegionEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getLoopNode().isSuperTypeOf(domainElement.eClass())) {
+ return LoopNodeEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getSequenceNode().isSuperTypeOf(domainElement.eClass())) {
+ return SequenceNodeEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getStructuredActivityNode().isSuperTypeOf(domainElement.eClass())) {
+ return StructuredActivityNodeEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getActivityPartition().isSuperTypeOf(domainElement.eClass())) {
+ return ActivityPartitionEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getInterruptibleActivityRegion().isSuperTypeOf(domainElement.eClass())) {
+ return InterruptibleActivityRegionEditPart.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getComment().isSuperTypeOf(domainElement.eClass())) {
+ return CommentEditPartCN.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getActivity().isSuperTypeOf(domainElement.eClass())) {
+ return ActivityEditPartCN.VISUAL_ID;
+ }
+ if(UMLPackage.eINSTANCE.getConstraint().isSuperTypeOf(domainElement.eClass())) {
+ return ConstraintEditPartCN.VISUAL_ID;
+ }
+ break;
+ }
+ return -1;
+ }
+
+ private static boolean isInteractionUse_3008(final View containerView, final CallBehaviorAction domainElement) {
+
+ return CallBehaviorUtil.getCallBehaviorType(domainElement) == CallBehaviorUtil.CallBehaviorActionType.use;
+ }
+
+ /**
+ * @generated
+ */
+
+ private static boolean isInteraction_5000(final View containerView, final CallBehaviorAction domainElement) {
- return false;
+ return CallBehaviorUtil.getCallBehaviorType(domainElement) == CallBehaviorUtil.CallBehaviorActionType.snapshot;
}
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/preferences/IInteractionOverviewPreferenceConstants.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/preferences/IInteractionOverviewPreferenceConstants.java index 914da2b8904..fbc5f539504 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/preferences/IInteractionOverviewPreferenceConstants.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/preferences/IInteractionOverviewPreferenceConstants.java @@ -10,11 +10,8 @@ *****************************************************************************/
package org.eclipse.papyrus.uml.diagram.interactionoverview.preferences;
-
-
public interface IInteractionOverviewPreferenceConstants {
-
public static final String PREF_NEW_INTERACTION_USE_SELECT_AS_DEFAULT = "org.eclipse.papyrus.uml.diagram.interactionoverview.InteractionUse.CreateDialog.selectAsDefault"; //$NON-NLS-1$
public static final String PREF_NEW_INTERACTION_USE_CREATION_OWNER = "org.eclipse.papyrus.uml.diagram.interactionoverview.InteractionUse.CreateDialog.owner"; //$NON-NLS-1$
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomEditPartProvider.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomEditPartProvider.java index 4fde324859a..c0e8324ac5b 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomEditPartProvider.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomEditPartProvider.java @@ -12,7 +12,7 @@ package org.eclipse.papyrus.uml.diagram.interactionoverview.provider; import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part.CustomUMLInteractionOverviewEditPartFactory;
-public class CustomEditPartProvider extends InteractionOverviewDiagramEditPartProvider {
+public class CustomEditPartProvider extends InheritedActivityDiagramEditPartProvider {
public CustomEditPartProvider() {
setFactory(new CustomUMLInteractionOverviewEditPartFactory());
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomEditPolicyProvider.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomEditPolicyProvider.java index de032dd72fd..80588c444a8 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomEditPolicyProvider.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomEditPolicyProvider.java @@ -24,11 +24,14 @@ import org.eclipse.papyrus.uml.diagram.activity.edit.parts.InterruptibleActivity import org.eclipse.papyrus.uml.diagram.activity.edit.parts.LoopNodeStructuredActivityNodeContentCompartmentEditPart;
import org.eclipse.papyrus.uml.diagram.activity.edit.parts.SequenceNodeStructuredActivityNodeContentCompartmentEditPart;
import org.eclipse.papyrus.uml.diagram.activity.edit.parts.StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part.InteractionOverviewDiagramEditPart;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies.ActivityContentCompartmentCreationEditPolicy;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies.ActivityContentCompartmentItemSemanticEditPolicy;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies.CustomActivityCNContentCompartmentItemSemanticEditPolicy;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies.CustomActivityPartitionActivityPartitionContentCompartmentItemSemanticEditPolicy;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies.CustomConditionalNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies.CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies.CustomInteractionOverviewDiagramDragAndDropEditPolicy;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies.CustomInterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentItemSemanticEditPolicy;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies.CustomLoopNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy;
import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies.CustomSequenceNodeStructuredActivityNodeContentCompartmentItemSemanticEditPolicy;
@@ -37,53 +40,86 @@ import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.policies.CustomS public class CustomEditPolicyProvider extends InteractionOverviewDiagramEditPolicyProvider {
@Override
- public boolean provides(IOperation operation) {
+ public boolean provides(final IOperation operation) {
- CreateEditPoliciesOperation epOperation = (CreateEditPoliciesOperation)operation;
+ final CreateEditPoliciesOperation epOperation = (CreateEditPoliciesOperation)operation;
if(!(epOperation.getEditPart() instanceof IGraphicalEditPart)) {
return false;
}
// Make sure this concern Internal Block Diagram only
- IGraphicalEditPart gep = (IGraphicalEditPart)epOperation.getEditPart();
- String diagramType = gep.getNotationView().getDiagram().getType();
+ final IGraphicalEditPart gep = (IGraphicalEditPart)epOperation.getEditPart();
+ final String diagramType = gep.getNotationView().getDiagram().getType();
if(!ElementTypes.DIAGRAM_ID.equals(diagramType)) {
return false;
}
-
- if(gep instanceof ActivityActivityContentCompartmentEditPart) {
+ if(gep instanceof InteractionOverviewDiagramEditPart) {
return true;
}
-
- if(gep instanceof ActivityCNContentCompartmentEditPart) {
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityFinalNodeEditPart) {
return true;
}
-
- if(gep instanceof ActivityPartitionActivityPartitionContentCompartmentEditPart) {
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.CallBehaviorActionEditPart) {
return true;
}
-
- if(gep instanceof ConditionalNodeStructuredActivityNodeContentCompartmentEditPart) {
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.CommentEditPartCN) {
return true;
}
-
- if(gep instanceof ExpansionRegionStructuredActivityNodeContentCompartmentEditPart) {
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConditionalNodeEditPart) {
return true;
}
-
- if(gep instanceof InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart) {
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConditionalNodeStructuredActivityNodeContentCompartmentEditPart) {
return true;
}
-
- if(gep instanceof LoopNodeStructuredActivityNodeContentCompartmentEditPart) {
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.DecisionNodeEditPart) {
return true;
}
-
- if(gep instanceof SequenceNodeStructuredActivityNodeContentCompartmentEditPart) {
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.FlowFinalNodeEditPart) {
return true;
}
-
- if(gep instanceof StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart) {
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.ForkNodeEditPart) {
+ return true;
+ }
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.InitialNodeEditPart) {
+ return true;
+ }
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.JoinNodeEditPart) {
+ return true;
+ }
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.LoopNodeEditPart) {
+ return true;
+ }
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.LoopNodeStructuredActivityNodeContentCompartmentEditPart) {
+ return true;
+ }
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.MergeNodeEditPart) {
+ return true;
+ }
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.ShapeNamedElementEditPart) {
+ return true;
+ }
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityEditPart) {
+ return true;
+ }
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityActivityParametersCompartmentEditPart) {
+ return true;
+ }
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityActivityPreConditionsCompartmentEditPart) {
+ return true;
+ }
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityActivityPostConditionsCompartmentEditPart) {
+ return true;
+ }
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityActivityContentCompartmentEditPart) {
+ return true;
+ }
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.SequenceNodeEditPart) {
+ return true;
+ }
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.SequenceNodeStructuredActivityNodeContentCompartmentEditPart) {
+ return true;
+ }
+ if(gep instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConstraintEditPartCN) {
return true;
}
@@ -91,11 +127,14 @@ public class CustomEditPolicyProvider extends InteractionOverviewDiagramEditPoli }
@Override
- public void createEditPolicies(EditPart editPart) {
+ public void createEditPolicies(final EditPart editPart) {
super.createEditPolicies(editPart);
+ editPart.installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new CustomInteractionOverviewDiagramDragAndDropEditPolicy());
+
if(editPart instanceof ActivityActivityContentCompartmentEditPart) {
editPart.installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new ActivityContentCompartmentItemSemanticEditPolicy());
+ editPart.installEditPolicy(EditPolicyRoles.CREATION_ROLE, new ActivityContentCompartmentCreationEditPolicy());
}
if(editPart instanceof ActivityCNContentCompartmentEditPart) {
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomViewProvider.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomViewProvider.java index d6164984974..4383a265461 100644 --- a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomViewProvider.java +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/CustomViewProvider.java @@ -10,6 +10,84 @@ *****************************************************************************/
package org.eclipse.papyrus.uml.diagram.interactionoverview.provider;
-public class CustomViewProvider extends InteractionOverviewDiagramViewProvider {
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.services.view.CreateNodeViewOperation;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.uml.diagram.activity.part.UMLVisualIDRegistry;
+import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part.CallBehaviorActionAsInteractionEditPart;
+public class CustomViewProvider extends InheritedActivityDiagramViewProvider {
+
+ @Override
+ protected boolean provides(final CreateNodeViewOperation op) {
+ // Must have a container
+ if(op.getContainerView() == null) {
+ return false;
+ }
+ // Get the type of the container
+ final String containerGraphicalType = op.getContainerView().getType();
+
+ // This provider is registered for InteractionOverviewDiagram Diagram
+ // only
+ final String diagramType = op.getContainerView().getDiagram().getType();
+ if(!ElementTypes.DIAGRAM_ID.equals(diagramType)) {
+ return false;
+ }
+
+ // /////////////////////////////////////////////////////////////////////
+ // Test possibility to provide a view based on the ElementType and its
+ // expected container.
+ // /////////////////////////////////////////////////////////////////////
+
+ final IElementType elementType = (IElementType)op.getSemanticAdapter().getAdapter(IElementType.class);
+ if(elementType == UMLElementTypes.CallBehaviorAction_5000) {
+
+ if(ElementTypes.ACTIVITY_COMPARTMENT_ACTIVITY_FIGURE_CONTENT_HINT.equals(containerGraphicalType)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public Node createNode(final IAdaptable semanticAdapter, final View containerView, final String semanticHint, final int index, final boolean persisted, final PreferencesHint preferencesHint) {
+ final EObject domainElement = getSemanticElement(semanticAdapter);
+ final int visualID;
+ if(semanticHint == null) {
+ visualID = UMLVisualIDRegistry.getNodeVisualID(containerView, domainElement);
+ } else {
+ visualID = UMLVisualIDRegistry.getVisualID(semanticHint);
+ }
+ switch(visualID) {
+ case CallBehaviorActionAsInteractionEditPart.VISUAL_ID:
+ return createCallBehaviorAction_5000(domainElement, containerView, index, persisted, preferencesHint);
+ // can't happen, provided #provides(CreateNodeViewOperation) is correct
+ }
+ return null;
+
+ }
+
+ public Node createCallBehaviorAction_5000(final EObject domainElement, final View containerView, final int index, final boolean persisted, final PreferencesHint preferencesHint) {
+ final Shape node = NotationFactory.eINSTANCE.createShape();
+ node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+ node.setType(UMLVisualIDRegistry.getType(CallBehaviorActionAsInteractionEditPart.VISUAL_ID));
+ ViewUtil.insertChildView(containerView, node, index, persisted);
+ node.setElement(domainElement);
+ // initializeFromPreferences
+ final IPreferenceStore prefStore = (IPreferenceStore)preferencesHint.getPreferenceStore();
+ PreferenceInitializerForElementHelper.initForegroundFromPrefs(node, prefStore, "CallBehaviorAction");
+ PreferenceInitializerForElementHelper.initFontStyleFromPrefs(node, prefStore, "CallBehaviorAction");
+ PreferenceInitializerForElementHelper.initBackgroundFromPrefs(node, prefStore, "CallBehaviorAction");
+ PreferenceInitializerForElementHelper.initCompartmentsStatusFromPrefs(node, prefStore, "CallBehaviorAction");
+ return node;
+ }
}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/DiagramContentProvider.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/DiagramContentProvider.java new file mode 100644 index 00000000000..64fa53f0d59 --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/DiagramContentProvider.java @@ -0,0 +1,107 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.provider;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.infra.browser.uicore.internal.model.ModelElementItem;
+import org.eclipse.papyrus.infra.core.resource.ModelUtils;
+import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageManager;
+import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
+import org.eclipse.papyrus.infra.emf.providers.MoDiscoContentProvider;
+import org.eclipse.papyrus.infra.gmfdiag.css.notation.CSSDiagram;
+import org.eclipse.papyrus.infra.widgets.providers.IHierarchicContentProvider;
+import org.eclipse.papyrus.uml.diagram.communication.edit.parts.ModelEditPart;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.Activator;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part.InteractionOverviewDiagramEditPart;
+import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.PackageEditPart;
+import org.eclipse.papyrus.uml.diagram.timing.edit.parts.TimingDiagramEditPart;
+import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.Interaction;
+
+/**
+ *
+ * this content provider is used to display diagrams and their contents
+ *
+ */
+@Deprecated
+public class DiagramContentProvider extends MoDiscoContentProvider implements IHierarchicContentProvider {
+
+ private final Interaction interaction;
+
+ public DiagramContentProvider(final Interaction interation) {
+ super();
+ this.interaction = interation;
+ }
+
+ @Override
+ public EObject[] getRootElements(final Object inputElement) {
+
+ try {
+ if(!(inputElement instanceof ServicesRegistry)) {
+ return null;
+ }
+
+ final ServicesRegistry servicesRegistry = (ServicesRegistry)inputElement;
+
+ modelSet = ModelUtils.getModelSetChecked(servicesRegistry);
+ pageMngr = servicesRegistry.getService(IPageManager.class);
+
+ final ArrayList<EObject> result = new ArrayList<EObject>();
+ final List<Object> list = pageMngr.allPages();
+ for(int i = 0; i < list.size(); i++) {
+ final Object element = pageMngr.allPages().get(i);
+ if(element instanceof CSSDiagram && isValidDiagram((CSSDiagram)element)) {
+ result.add((EObject)pageMngr.allPages().get(i));
+ }
+ }
+
+ final EObject[] eObject = new EObject[result.size()];
+ return result.toArray(eObject);
+
+ } catch (final Exception e) {
+ Activator.log.error(e);
+ }
+
+ return new EObject[0];
+ }
+
+ private boolean isValidDiagram(final CSSDiagram diagram) {
+ //seqDiagram or comDiagram
+ if(diagram.getType().equals(PackageEditPart.MODEL_ID) || diagram.getType().equals(ModelEditPart.MODEL_ID)) {
+ if(diagram.getElement().equals(interaction)) {
+ return true;
+ }
+ //timing Diagram
+ } else if(diagram.getType().equals(TimingDiagramEditPart.MODEL_ID)) {
+ return true;
+ //InteractionOverviewDiagram
+ } else if(diagram.getType().equals(InteractionOverviewDiagramEditPart.MODEL_ID)) {
+ if(diagram.getElement() instanceof Activity) {
+ if(((Activity)diagram.getElement()).getOwnedBehaviors().contains(interaction)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ public boolean isValidValue(final Object element) {
+ if(element instanceof ModelElementItem) {
+ final ModelElementItem item = (ModelElementItem)element;
+ return isValidDiagram((CSSDiagram)item.getEObject());
+ } else {
+ return false;
+ }
+ }
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/ElementInitializers.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/ElementInitializers.java new file mode 100644 index 00000000000..22e4edd4ae7 --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/ElementInitializers.java @@ -0,0 +1,41 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.provider;
+
+import org.eclipse.papyrus.uml.diagram.activity.part.UMLDiagramEditorPlugin;
+import org.eclipse.papyrus.uml.diagram.common.actions.LabelHelper;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.Activator;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+
+
+public class ElementInitializers extends org.eclipse.papyrus.uml.diagram.activity.providers.ElementInitializers {
+
+ public static ElementInitializers getInstance() {
+ ElementInitializers cached = Activator.getInstance().getElementInitializers();
+ if(cached == null) {
+ UMLDiagramEditorPlugin.getInstance().setElementInitializers(cached = new ElementInitializers());
+ }
+ return cached;
+ }
+
+ public void init_CallBehaviorAction_5000(final CallBehaviorAction instance) {
+ try {
+ final Object value_0 = name_CallBehaviorAction_5000(instance);
+ instance.setName((String)value_0);
+ } catch (final RuntimeException e) {
+ UMLDiagramEditorPlugin.getInstance().logError("Element initialization failed", e); //$NON-NLS-1$
+ }
+ }
+
+ private String name_CallBehaviorAction_5000(final CallBehaviorAction self) {
+ return LabelHelper.INSTANCE.findName(self.eContainer(), self);
+ }
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/UMLElementTypes.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/UMLElementTypes.java new file mode 100644 index 00000000000..4611477558b --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/provider/UMLElementTypes.java @@ -0,0 +1,183 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.provider;
+
+import java.util.HashSet;
+import java.util.IdentityHashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.papyrus.uml.diagram.activity.part.UMLDiagramEditorPlugin;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part.CallBehaviorActionAsInteractionEditPart;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.uml2.uml.UMLPackage;
+
+
+public class UMLElementTypes {
+
+ private UMLElementTypes() {
+ }
+
+ private static Map<IElementType, ENamedElement> elements;
+
+ private static ImageRegistry imageRegistry;
+
+ private static Set<IElementType> KNOWN_ELEMENT_TYPES;
+
+ public static final IElementType CallBehaviorAction_5000 = getElementType("org.eclipse.papyrus.uml.diagram.interactionoverview.CallBehaviorAction_5000"); //$NON-NLS-1$
+
+
+ private static ImageRegistry getImageRegistry() {
+ if(imageRegistry == null) {
+ imageRegistry = new ImageRegistry();
+ }
+ return imageRegistry;
+ }
+
+ /**
+ * @generated
+ */
+ private static String getImageRegistryKey(final ENamedElement element) {
+ return element.getName();
+ }
+
+ /**
+ * @generated
+ */
+ private static ImageDescriptor getProvidedImageDescriptor(ENamedElement element) {
+ if(element instanceof EStructuralFeature) {
+ final EStructuralFeature feature = ((EStructuralFeature)element);
+ final EClass eContainingClass = feature.getEContainingClass();
+ final EClassifier eType = feature.getEType();
+ if(eContainingClass != null && !eContainingClass.isAbstract()) {
+ element = eContainingClass;
+ } else if(eType instanceof EClass && !((EClass)eType).isAbstract()) {
+ element = eType;
+ }
+ }
+ if(element instanceof EClass) {
+ final EClass eClass = (EClass)element;
+ if(!eClass.isAbstract()) {
+ return UMLDiagramEditorPlugin.getInstance().getItemImageDescriptor(eClass.getEPackage().getEFactoryInstance().create(eClass));
+ }
+ }
+ // TODO : support structural features
+ return null;
+ }
+
+ /**
+ * @generated
+ */
+ public static ImageDescriptor getImageDescriptor(final ENamedElement element) {
+ final String key = getImageRegistryKey(element);
+ ImageDescriptor imageDescriptor = getImageRegistry().getDescriptor(key);
+ if(imageDescriptor == null) {
+ imageDescriptor = getProvidedImageDescriptor(element);
+ if(imageDescriptor == null) {
+ imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
+ }
+ getImageRegistry().put(key, imageDescriptor);
+ }
+ return imageDescriptor;
+ }
+
+ /**
+ * @generated
+ */
+ public static Image getImage(final ENamedElement element) {
+ final String key = getImageRegistryKey(element);
+ Image image = getImageRegistry().get(key);
+ if(image == null) {
+ ImageDescriptor imageDescriptor = getProvidedImageDescriptor(element);
+ if(imageDescriptor == null) {
+ imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
+ }
+ getImageRegistry().put(key, imageDescriptor);
+ image = getImageRegistry().get(key);
+ }
+ return image;
+ }
+
+ /**
+ * @generated
+ */
+ public static ImageDescriptor getImageDescriptor(final IAdaptable hint) {
+ final ENamedElement element = getElement(hint);
+ if(element == null) {
+ return null;
+ }
+ return getImageDescriptor(element);
+ }
+
+ /**
+ * @generated
+ */
+ public static Image getImage(final IAdaptable hint) {
+ final ENamedElement element = getElement(hint);
+ if(element == null) {
+ return null;
+ }
+ return getImage(element);
+ }
+
+ /**
+ * Returns 'type' of the ecore object associated with the hint.
+ *
+ * @generated
+ */
+ public static ENamedElement getElement(final IAdaptable hint) {
+ final Object type = hint.getAdapter(IElementType.class);
+ if(elements == null) {
+ elements = new IdentityHashMap<IElementType, ENamedElement>();
+ elements.put(CallBehaviorAction_5000, UMLPackage.eINSTANCE.getCallBehaviorAction());
+ }
+ return elements.get(type);
+ }
+
+ /**
+ * @generated
+ */
+ private static IElementType getElementType(final String id) {
+ return ElementTypeRegistry.getInstance().getType(id);
+ }
+
+ /**
+ * @generated
+ */
+ public static boolean isKnownElementType(final IElementType elementType) {
+ if(KNOWN_ELEMENT_TYPES == null) {
+ KNOWN_ELEMENT_TYPES = new HashSet<IElementType>();
+ KNOWN_ELEMENT_TYPES.add(CallBehaviorAction_5000);
+ }
+ return KNOWN_ELEMENT_TYPES.contains(elementType);
+ }
+
+ /**
+ * @generated
+ */
+ public static IElementType getElementType(final int visualID) {
+ switch(visualID) {
+ case CallBehaviorActionAsInteractionEditPart.VISUAL_ID:
+ return CallBehaviorAction_5000;
+
+ }
+ return null;
+ }
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/utils/CallBehaviorUtil.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/utils/CallBehaviorUtil.java new file mode 100644 index 00000000000..2ce5776c92c --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/utils/CallBehaviorUtil.java @@ -0,0 +1,156 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.utils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CallBehaviorActionEditPart;
+import org.eclipse.papyrus.uml.diagram.activity.part.UMLVisualIDRegistry;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part.CallBehaviorActionAsInteractionEditPart;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.edit.part.CustomInteractionUseEditPartCN;
+import org.eclipse.uml2.uml.CallBehaviorAction;
+
+
+public class CallBehaviorUtil {
+
+ public enum CallBehaviorActionType {
+ use, snapshot
+ }
+
+ /** The key for the EAnnotation on a Lifeline that indicates whether the Lifeline is a compact or full lifeline */
+ private static final String CALL_BEHAVIOR_ACTION_ANNOTATION = "org.eclipse.papyrus.uml.diagram.interactionoverview.callbehavioraction"; //$NON-NLS-1$
+
+ private static final String CALL_BEHAVIOR_ACTION_TYPE = "type"; //$NON-NLS-1$
+
+ public static final String DIAGRAM_UUID_AS_INTERACTION_SNAPSHOT = "diagramUUIDForSnapshot";
+
+ public static final String LIFELINE_QUALIFIED_NAME = "lifelineQualifiedNames";
+
+ public static final String IS_BEHAVIOR_NEW = "isBehaviorNew";
+
+ private CallBehaviorUtil() {
+ // utility class
+ }
+
+ /**
+ * Get the type of the given lifeline
+ *
+ * @param callBehaviorAction
+ * the lifeline whose type to get
+ * @return the type
+ */
+ public static CallBehaviorActionType getCallBehaviorType(final CallBehaviorAction callBehaviorAction) {
+ final EAnnotation eAnnotation = callBehaviorAction.getEAnnotation(CALL_BEHAVIOR_ACTION_ANNOTATION);
+ if(eAnnotation != null) {
+ final String type = eAnnotation.getDetails().get(CALL_BEHAVIOR_ACTION_TYPE);
+ if(type != null) {
+ return CallBehaviorActionType.valueOf(type);
+ }
+ }
+ // a non-annotated Lifeline is full by default
+ return CallBehaviorActionType.snapshot;
+ }
+
+ public static void setLifelineType(final CallBehaviorAction callBehaviorAction, final CallBehaviorActionType callBehaviorActionType) {
+ EAnnotation eAnnotation = callBehaviorAction.getEAnnotation(CALL_BEHAVIOR_ACTION_ANNOTATION);
+ if(eAnnotation == null) {
+ eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
+ eAnnotation.setSource(CALL_BEHAVIOR_ACTION_ANNOTATION);
+ callBehaviorAction.getEAnnotations().add(eAnnotation);
+ }
+ eAnnotation.getDetails().put(CALL_BEHAVIOR_ACTION_TYPE, callBehaviorActionType.name());
+ }
+
+ public static boolean isCallBehaviorActionEditPart(final int visualID) {
+ return visualID == CallBehaviorActionEditPart.VISUAL_ID || visualID == CallBehaviorActionAsInteractionEditPart.VISUAL_ID;
+ }
+
+ public static boolean isCallBehaviorActionEditPart(final EditPart editPart) {
+ return editPart instanceof CustomInteractionUseEditPartCN || editPart instanceof CallBehaviorActionAsInteractionEditPart;
+ }
+
+ public static boolean isCallBehaviorActionView(final View view) {
+ int visualID = UMLVisualIDRegistry.getVisualID(view);
+ if(visualID == -1) {
+ visualID = UMLVisualIDRegistry.getVisualID(view);
+ }
+ return isCallBehaviorActionEditPart(visualID);
+ }
+
+
+
+ public static String getDiagramLinked(final View callBehaviorActionView) {
+
+ final EAnnotation annotation = callBehaviorActionView.getEAnnotation(CALL_BEHAVIOR_ACTION_ANNOTATION);
+ if(annotation != null) {
+ return annotation.getDetails().get(DIAGRAM_UUID_AS_INTERACTION_SNAPSHOT);
+ }
+ return "";
+ }
+
+ public static void setDiagramLinked(final View callBehaviorActionView, final View diagramView) {
+
+ EAnnotation annotation = callBehaviorActionView.getEAnnotation(CALL_BEHAVIOR_ACTION_ANNOTATION);
+ if(annotation == null) {
+ annotation = EcoreFactory.eINSTANCE.createEAnnotation();
+ annotation.setSource(CALL_BEHAVIOR_ACTION_ANNOTATION);
+ callBehaviorActionView.getEAnnotations().add(annotation);
+ }
+ if(annotation.getDetails().get(DIAGRAM_UUID_AS_INTERACTION_SNAPSHOT) != null) {
+ annotation.getDetails().clear();
+ }
+
+ String uuidDiagram = DiagramUtils.getUUIDForSnapshot(diagramView);
+ if(uuidDiagram == null || uuidDiagram.equals("")) {
+ uuidDiagram = EcoreUtil.generateUUID();
+ DiagramUtils.setUUID(diagramView, uuidDiagram);
+ }
+ annotation.getDetails().put(DIAGRAM_UUID_AS_INTERACTION_SNAPSHOT, uuidDiagram);
+ }
+
+ public static List<String> getRemovedLifelinesQualifiedNames(final View callBehaviorActionView) {
+ final EAnnotation eAnnotation = callBehaviorActionView.getEAnnotation(LIFELINE_QUALIFIED_NAME);
+ if(eAnnotation != null) {
+ return new ArrayList<String>(eAnnotation.getDetails().keySet());
+ }
+ return new ArrayList<String>();
+ }
+
+ public static void addLifelineQualifiedNames(final View callBehaviorActionView, final String qualifiedName) {
+ EAnnotation eAnnotation = callBehaviorActionView.getEAnnotation(LIFELINE_QUALIFIED_NAME);
+ if(eAnnotation == null) {
+ eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
+ eAnnotation.setSource(LIFELINE_QUALIFIED_NAME);
+ callBehaviorActionView.getEAnnotations().add(eAnnotation);
+ }
+ eAnnotation.getDetails().put(qualifiedName, "");
+ }
+
+ public static boolean isBehaviorNew(final View callBehaviorActionView) {
+ return callBehaviorActionView.getEAnnotation(IS_BEHAVIOR_NEW) == null;
+ }
+
+ public static void setBehaviorAsNonNew(final View callBehaviorActionView) {
+ EAnnotation eAnnotation = callBehaviorActionView.getEAnnotation(IS_BEHAVIOR_NEW);
+ if(eAnnotation == null) {
+ eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
+ eAnnotation.setSource(IS_BEHAVIOR_NEW);
+ callBehaviorActionView.getEAnnotations().add(eAnnotation);
+ }
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/utils/CreateDiagramImage.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/utils/CreateDiagramImage.java new file mode 100644 index 00000000000..a2834771325 --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/utils/CreateDiagramImage.java @@ -0,0 +1,303 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.utils;
+
+import java.awt.image.BufferedImage;
+import java.awt.image.ColorModel;
+import java.awt.image.DirectColorModel;
+import java.awt.image.IndexColorModel;
+import java.awt.image.WritableRaster;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.draw2d.ImageFigure;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.ui.OffscreenEditPartFactory;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.render.clipboard.DiagramGenerator;
+import org.eclipse.gmf.runtime.diagram.ui.render.clipboard.DiagramImageGenerator;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.papyrus.infra.core.editor.IMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
+import org.eclipse.papyrus.infra.services.labelprovider.service.LabelProviderService;
+import org.eclipse.papyrus.infra.widgets.editors.MultipleValueSelectorDialog;
+import org.eclipse.papyrus.infra.widgets.providers.FilteredContentProvider;
+import org.eclipse.papyrus.infra.widgets.providers.IStaticContentProvider;
+import org.eclipse.papyrus.infra.widgets.providers.StaticContentProvider;
+import org.eclipse.papyrus.infra.widgets.selectors.ReferenceSelector;
+import org.eclipse.papyrus.uml.diagram.communication.edit.parts.LifelineEditPartCN;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.Activator;
+import org.eclipse.papyrus.uml.diagram.interactionoverview.part.Messages;
+import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.LifelineEditPart;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.ImageData;
+import org.eclipse.swt.graphics.PaletteData;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.NamedElement;
+
+public class CreateDiagramImage {
+
+ public static Image getDiagramImage(final Diagram diagram, final PreferencesHint preferencesHint, final ImageFigure imageFigure, final View callBehaviorActionView) {
+ Image image = null;
+
+ final DiagramEditPart diagramEditPart = OffscreenEditPartFactory.getInstance().createDiagramEditPart(diagram, new Shell(), preferencesHint);
+ if(diagramEditPart != null) {
+ image = getDiagramImage(diagramEditPart, imageFigure, callBehaviorActionView);
+ diagramEditPart.deactivate();
+ }
+ return image;
+ }
+
+ public static Image getDiagramImage(final DiagramEditPart diagramEP, final ImageFigure imageFigure, final View callBehaviorActionView) {
+
+ final List<GraphicalEditPart> editParts = diagramEP.getPrimaryEditParts();
+ getAllChildren(diagramEP, editParts);
+ final List<GraphicalEditPart> lifelines = getAllLifeline(editParts);
+
+ final DiagramGenerator gen = new DiagramImageGenerator(diagramEP);
+
+ if(CallBehaviorUtil.isBehaviorNew(callBehaviorActionView)) {
+ CallBehaviorUtil.setBehaviorAsNonNew(callBehaviorActionView);
+ final List selectedLifelines = Arrays.asList(selectLifelines(lifelines));
+ final List removedLifeline = new ArrayList(lifelines);
+ removedLifeline.removeAll(selectedLifelines);
+ final List removedLifelineCopyForIterate = new ArrayList(removedLifeline);
+ for(final Iterator iterator = removedLifelineCopyForIterate.iterator(); iterator.hasNext();) {
+ final Object object = iterator.next();
+ getAllChildren((GraphicalEditPart)object, removedLifeline);
+ }
+ final List<GraphicalEditPart> filteredEditParts = new ArrayList<GraphicalEditPart>(editParts);
+
+ for(final Iterator iterator = editParts.iterator(); iterator.hasNext();) {
+ final GraphicalEditPart graphicalEditPart = (GraphicalEditPart)iterator.next();
+ if(removedLifeline.contains(graphicalEditPart)) {
+ graphicalEditPart.getFigure().setVisible(false);
+ final View view = (View)graphicalEditPart.getModel();
+ if(view.getElement() != null && view.getElement() instanceof NamedElement) {
+ CallBehaviorUtil.addLifelineQualifiedNames(callBehaviorActionView, ((NamedElement)(view.getElement())).getQualifiedName());
+ }
+
+ }
+ }
+ } else {
+ final List<String> qualifiedNames = CallBehaviorUtil.getRemovedLifelinesQualifiedNames(callBehaviorActionView);
+ for(final Iterator iterator = editParts.iterator(); iterator.hasNext();) {
+ final GraphicalEditPart graphicalEditPart = (GraphicalEditPart)iterator.next();
+ final View view = (View)graphicalEditPart.getModel();
+ if(view.getElement() != null && view.getElement() instanceof Lifeline) {
+ final String qualifiedName = ((Lifeline)(view.getElement())).getQualifiedName();
+ if(qualifiedNames.contains(qualifiedName)) {
+ graphicalEditPart.getFigure().setVisible(false);
+ }
+ }
+ }
+ }
+
+ final Rectangle rectangle = gen.calculateImageRectangle(diagramEP.getPrimaryEditParts());
+ final ImageDescriptor descriptor = gen.createSWTImageDescriptorForDiagram();
+
+ return resize(descriptor.createImage(), rectangle.width, rectangle.height);
+
+ }
+
+ private static Object[] selectLifelines(final List<GraphicalEditPart> lifelines) {
+
+ final ServicesRegistry servicesRegistry = ((IMultiDiagramEditor)(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor())).getServicesRegistry();
+
+ final ReferenceSelector referenceSelector = new ReferenceSelector(true);
+
+ final IStaticContentProvider semanticProvider = new StaticContentProvider(lifelines.toArray());
+ final FilteredContentProvider filteredProvider = new FilteredContentProvider(semanticProvider);
+ referenceSelector.setContentProvider(filteredProvider);
+
+ MultipleValueSelectorDialog dialog = null;
+
+ ILabelProvider serv = null;
+ try {
+ serv = servicesRegistry.getService(LabelProviderService.class).getLabelProvider();
+ } catch (final ServiceException e) {
+ Activator.log.error("LabelProviderServiceNotFound", e);
+ }
+
+ referenceSelector.setLabelProvider(serv);
+ dialog = new MultipleValueSelectorDialog(Display.getDefault().getActiveShell(), referenceSelector, Messages.CreateDiagramImage_MultipleValueSelectorDialog, true, false, -1);
+
+ dialog.setLabelProvider(serv);
+ dialog.setMessage(Messages.CreateDiagramImage_LifelineDialogMessage);
+ dialog.setTitle(Messages.CreateDiagramImage_LifelineDialogTitle);
+ dialog.setInitialElementSelections(lifelines);
+
+ if(dialog.open() == org.eclipse.jface.window.Window.OK) {
+ final Object[] result = dialog.getResult();
+ if(result != null && result.length > 0)
+ return result;
+ }
+ return new Object[0];
+ }
+
+ private static List<GraphicalEditPart> getAllLifeline(final List<GraphicalEditPart> editParts) {
+ final List<GraphicalEditPart> allChild = new ArrayList<GraphicalEditPart>();
+ for(final Iterator iterator = editParts.iterator(); iterator.hasNext();) {
+ final GraphicalEditPart editPart = (GraphicalEditPart)iterator.next();
+ getAllChildren(editPart, allChild);
+ }
+ final List<GraphicalEditPart> lifelines = new ArrayList<GraphicalEditPart>();
+ for(final Iterator iterator = allChild.iterator(); iterator.hasNext();) {
+ final GraphicalEditPart graphicalEditPart = (GraphicalEditPart)iterator.next();
+ if(isValidLifelineEditPart(graphicalEditPart)) {
+ lifelines.add(graphicalEditPart);
+ }
+ }
+ return lifelines;
+ }
+
+ private static boolean isValidLifelineEditPart(final GraphicalEditPart graphicalEditPart) {
+ if(graphicalEditPart instanceof LifelineEditPart || graphicalEditPart instanceof LifelineEditPartCN || graphicalEditPart instanceof org.eclipse.papyrus.uml.diagram.timing.edit.parts.LifelineEditPart) {
+ return true;
+ }
+ return false;
+ }
+
+ private static List<GraphicalEditPart> getAllChildren(final GraphicalEditPart ep, final List<GraphicalEditPart> result) {
+
+ for(final Object object : ep.getChildren()) {
+ final GraphicalEditPart gep = (GraphicalEditPart)object;
+ if(!result.contains(gep)) {
+ result.add(gep);
+ }
+ if(!gep.getChildren().isEmpty()) {
+ getAllChildren(gep, result);
+ }
+ }
+ return result;
+ }
+
+ public static org.eclipse.swt.graphics.Image resize(final org.eclipse.swt.graphics.Image image, final int newWidth, final int newHeight) {
+
+ // convert to buffered image
+ BufferedImage img = convertToAWT(image.getImageData());
+
+ final java.awt.Image scaledImage = img.getScaledInstance(newWidth, newHeight, java.awt.Image.SCALE_AREA_AVERAGING);
+
+ // convert the scaled image back to a buffered image
+ img = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB);
+ img.getGraphics().drawImage(scaledImage, 0, 0, null);
+
+ // reconstruct swt image
+ final ImageData imageData = convertToSWT(img);
+ return new org.eclipse.swt.graphics.Image(Display.getDefault(), imageData);
+ }
+
+ public static BufferedImage convertToAWT(final ImageData data) {
+ ColorModel colorModel = null;
+ final PaletteData palette = data.palette;
+ if(palette.isDirect) {
+ colorModel = new DirectColorModel(data.depth, palette.redMask, palette.greenMask, palette.blueMask);
+ final BufferedImage bufferedImage = new BufferedImage(colorModel, colorModel.createCompatibleWritableRaster(data.width, data.height), false, null);
+ final WritableRaster raster = bufferedImage.getRaster();
+ final int[] pixelArray = new int[3];
+ for(int y = 0; y < data.height; y++) {
+ for(int x = 0; x < data.width; x++) {
+ final int pixel = data.getPixel(x, y);
+ final RGB rgb = palette.getRGB(pixel);
+ pixelArray[0] = rgb.red;
+ pixelArray[1] = rgb.green;
+ pixelArray[2] = rgb.blue;
+ raster.setPixels(x, y, 1, 1, pixelArray);
+ }
+ }
+ return bufferedImage;
+ } else {
+ final RGB[] rgbs = palette.getRGBs();
+ final byte[] red = new byte[rgbs.length];
+ final byte[] green = new byte[rgbs.length];
+ final byte[] blue = new byte[rgbs.length];
+ for(int i = 0; i < rgbs.length; i++) {
+ final RGB rgb = rgbs[i];
+ red[i] = (byte)rgb.red;
+ green[i] = (byte)rgb.green;
+ blue[i] = (byte)rgb.blue;
+ }
+ if(data.transparentPixel != -1) {
+ colorModel = new IndexColorModel(data.depth, rgbs.length, red, green, blue, data.transparentPixel);
+ } else {
+ colorModel = new IndexColorModel(data.depth, rgbs.length, red, green, blue);
+ }
+ final BufferedImage bufferedImage = new BufferedImage(colorModel, colorModel.createCompatibleWritableRaster(data.width, data.height), false, null);
+ final WritableRaster raster = bufferedImage.getRaster();
+ final int[] pixelArray = new int[1];
+ for(int y = 0; y < data.height; y++) {
+ for(int x = 0; x < data.width; x++) {
+ final int pixel = data.getPixel(x, y);
+ pixelArray[0] = pixel;
+ raster.setPixel(x, y, pixelArray);
+ }
+ }
+ return bufferedImage;
+ }
+ }
+
+ public static ImageData convertToSWT(final BufferedImage bufferedImage) {
+ if(bufferedImage.getColorModel() instanceof DirectColorModel) {
+ final DirectColorModel colorModel = (DirectColorModel)bufferedImage.getColorModel();
+ final PaletteData palette = new PaletteData(colorModel.getRedMask(), colorModel.getGreenMask(), colorModel.getBlueMask());
+ final ImageData data = new ImageData(bufferedImage.getWidth(), bufferedImage.getHeight(), colorModel.getPixelSize(), palette);
+ final WritableRaster raster = bufferedImage.getRaster();
+ final int[] pixelArray = new int[3];
+ for(int y = 0; y < data.height; y++) {
+ for(int x = 0; x < data.width; x++) {
+ raster.getPixel(x, y, pixelArray);
+ final int pixel = palette.getPixel(new RGB(pixelArray[0], pixelArray[1], pixelArray[2]));
+ data.setPixel(x, y, pixel);
+ }
+ }
+ return data;
+ } else if(bufferedImage.getColorModel() instanceof IndexColorModel) {
+ final IndexColorModel colorModel = (IndexColorModel)bufferedImage.getColorModel();
+ final int size = colorModel.getMapSize();
+ final byte[] reds = new byte[size];
+ final byte[] greens = new byte[size];
+ final byte[] blues = new byte[size];
+ colorModel.getReds(reds);
+ colorModel.getGreens(greens);
+ colorModel.getBlues(blues);
+ final RGB[] rgbs = new RGB[size];
+ for(int i = 0; i < rgbs.length; i++) {
+ rgbs[i] = new RGB(reds[i] & 0xFF, greens[i] & 0xFF, blues[i] & 0xFF);
+ }
+ final PaletteData palette = new PaletteData(rgbs);
+ final ImageData data = new ImageData(bufferedImage.getWidth(), bufferedImage.getHeight(), colorModel.getPixelSize(), palette);
+ data.transparentPixel = colorModel.getTransparentPixel();
+ final WritableRaster raster = bufferedImage.getRaster();
+ final int[] pixelArray = new int[1];
+ for(int y = 0; y < data.height; y++) {
+ for(int x = 0; x < data.width; x++) {
+ raster.getPixel(x, y, pixelArray);
+ data.setPixel(x, y, pixelArray[0]);
+ }
+ }
+ return data;
+ }
+ return null;
+ }
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/utils/DiagramUtils.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/utils/DiagramUtils.java new file mode 100644 index 00000000000..753b65ce4c3 --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/utils/DiagramUtils.java @@ -0,0 +1,46 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.utils;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.gmf.runtime.notation.View;
+
+
+public class DiagramUtils {
+
+ public static final String DIAGRAM_ANNOTATION = "diagramAnnotation";
+
+ public static final String UUID = "uuid";
+
+ public static void setUUID(final View diagramView, final String uuidDiagram) {
+ EAnnotation annotation = diagramView.getEAnnotation(DIAGRAM_ANNOTATION);
+ if(annotation == null) {
+ annotation = EcoreFactory.eINSTANCE.createEAnnotation();
+ annotation.setSource(DIAGRAM_ANNOTATION);
+ diagramView.getEAnnotations().add(annotation);
+ }
+ if(annotation.getDetails().get(UUID) != null) {
+ annotation.getDetails().clear();
+ }
+ annotation.getDetails().put(UUID, uuidDiagram);
+ }
+
+ public static String getUUIDForSnapshot(final View diagramView) {
+
+ final EAnnotation annotation = diagramView.getEAnnotation(DIAGRAM_ANNOTATION);
+ if(annotation != null) {
+ return annotation.getDetails().get(UUID);
+ }
+ return "";
+ }
+
+}
diff --git a/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/utils/URIUtils.java b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/utils/URIUtils.java new file mode 100644 index 00000000000..68cf01485ee --- /dev/null +++ b/incoming/org.eclipse.papyrus.uml.diagram.interactionoverview/src/org/eclipse/papyrus/uml/diagram/interactionoverview/utils/URIUtils.java @@ -0,0 +1,24 @@ +/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.interactionoverview.utils;
+
+
+public class URIUtils {
+
+
+ private static final String PREFIX = "platform:/resource/";
+
+ private static final String SUFFIX = "/model.notation";
+
+ public static String getTimestampedURI() {
+ return PREFIX + System.currentTimeMillis() + SUFFIX;
+ }
+}
|