diff options
author | Remi Schnekenburger | 2015-02-06 10:00:09 +0000 |
---|---|---|
committer | Remi Schnekenburger | 2015-02-06 10:00:09 +0000 |
commit | 6023882e6cdd3d0757e876d62a174334eec7223c (patch) | |
tree | 53a5a0ab22b49812a0a667a64c99fc3ad70f9ecf | |
parent | 9fc8acd1f3d122728b165de76e601af416e6e6d0 (diff) | |
download | org.eclipse.papyrus-bugs/458619-expansionRegion.tar.gz org.eclipse.papyrus-bugs/458619-expansionRegion.tar.xz org.eclipse.papyrus-bugs/458619-expansionRegion.zip |
458619: Issues with Expansion region (can not create Input Expansionbugs/458619-expansionRegion
Node and can not embed expansion region in another expansion region)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=458619
11 files changed, 5155 insertions, 4940 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/advices/ExpansionNodeAsInputElementEditHelperAdvice.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/advices/ExpansionNodeAsInputElementEditHelperAdvice.java new file mode 100644 index 00000000000..0c5bbe3ae6c --- /dev/null +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/advices/ExpansionNodeAsInputElementEditHelperAdvice.java @@ -0,0 +1,49 @@ +/***************************************************************************** + * 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 + * + * Contributors: + * Remi Schnekenburger (CEA LIST) - Initial API and implementation + * + *****************************************************************************/ +package org.eclipse.papyrus.uml.diagram.activity.edit.advices; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.RecordingCommand; +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.papyrus.commands.wrappers.EMFtoGMFCommandWrapper; +import org.eclipse.uml2.uml.ExpansionNode; +import org.eclipse.uml2.uml.ExpansionRegion; + +/** + * specific advice for expansion nodes as input element + */ +public class ExpansionNodeAsInputElementEditHelperAdvice extends AbstractEditHelperAdvice { + + @Override + protected ICommand getBeforeConfigureCommand(ConfigureRequest request) { + EObject elementToConfigure = request.getElementToConfigure(); + if(elementToConfigure instanceof ExpansionNode) { + final ExpansionNode node = ((ExpansionNode)elementToConfigure); + final EObject container = node.eContainer(); + if(container instanceof ExpansionRegion) { + // add the element to the list of input elements + RecordingCommand command = new RecordingCommand(request.getEditingDomain(), "Adding node as an input element") { + + @Override + protected void doExecute() { + ((ExpansionRegion)container).getInputElements().add(node); + } + }; + return new EMFtoGMFCommandWrapper(command); + } + } + return super.getBeforeConfigureCommand(request); + } +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/advices/ExpansionNodeAsOutputElementEditHelperAdvice.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/advices/ExpansionNodeAsOutputElementEditHelperAdvice.java new file mode 100644 index 00000000000..8a062bd6f0f --- /dev/null +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/advices/ExpansionNodeAsOutputElementEditHelperAdvice.java @@ -0,0 +1,49 @@ +/***************************************************************************** + * 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 + * + * Contributors: + * Remi Schnekenburger (CEA LIST) - Initial API and implementation + * + *****************************************************************************/ +package org.eclipse.papyrus.uml.diagram.activity.edit.advices; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.transaction.RecordingCommand; +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.papyrus.commands.wrappers.EMFtoGMFCommandWrapper; +import org.eclipse.uml2.uml.ExpansionNode; +import org.eclipse.uml2.uml.ExpansionRegion; + +/** + * specific advice for expansion nodes as output element + */ +public class ExpansionNodeAsOutputElementEditHelperAdvice extends AbstractEditHelperAdvice { + + @Override + protected ICommand getBeforeConfigureCommand(ConfigureRequest request) { + EObject elementToConfigure = request.getElementToConfigure(); + if(elementToConfigure instanceof ExpansionNode) { + final ExpansionNode node = ((ExpansionNode)elementToConfigure); + final EObject container = node.eContainer(); + if(container instanceof ExpansionRegion) { + // add the element to the list of input elements + RecordingCommand command = new RecordingCommand(request.getEditingDomain(), "Adding node as an output element") { + + @Override + protected void doExecute() { + ((ExpansionRegion)container).getOutputElements().add(node); + } + }; + return new EMFtoGMFCommandWrapper(command); + } + } + return super.getBeforeConfigureCommand(request); + } +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/CustomDiagramDragDropEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/CustomDiagramDragDropEditPolicy.java index 73868b03168..527c8570319 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/CustomDiagramDragDropEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/CustomDiagramDragDropEditPolicy.java @@ -1,565 +1,598 @@ -/*****************************************************************************
- * Copyright (c) 2009 Atos Origin.
- *
- *
- * 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
- *
- * Contributors:
- * Atos Origin - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.uml.diagram.activity.edit.policies;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.commands.CompoundCommand;
-import org.eclipse.gef.commands.UnexecutableCommand;
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
-import org.eclipse.gmf.runtime.diagram.ui.commands.CreateCommand;
-import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
-import org.eclipse.gmf.runtime.diagram.ui.commands.SetBoundsCommand;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.LabelEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewRequest;
-import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest.ViewDescriptor;
-import org.eclipse.gmf.runtime.diagram.ui.requests.DropObjectsRequest;
-import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.IHintedType;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionLocalPostconditionEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionLocalPreconditionEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CallBehaviorActionEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CallOperationActionEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConstraintAsLocalPostcondEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConstraintAsLocalPrecondEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ControlFlowEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.DurationConstraintAsLocalPostcondEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.DurationConstraintAsLocalPrecondEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.IntervalConstraintAsLocalPostcondEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.IntervalConstraintAsLocalPrecondEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ObjectFlowEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OpaqueActionEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ReadSelfActionEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.TimeConstraintAsLocalPostcondEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.TimeConstraintAsLocalPrecondEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ValueSpecificationActionEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.helper.ActivityLinkMappingHelper;
-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.commands.CommonDeferredCreateConnectionViewCommand;
-import org.eclipse.papyrus.uml.diagram.common.commands.SemanticAdapter;
-import org.eclipse.papyrus.uml.diagram.common.editpolicies.CommonDiagramDragDropEditPolicy;
-import org.eclipse.papyrus.uml.diagram.common.util.DiagramEditPartsUtil;
-import org.eclipse.uml2.uml.Action;
-import org.eclipse.uml2.uml.Activity;
-import org.eclipse.uml2.uml.ActivityEdge;
-import org.eclipse.uml2.uml.ActivityNode;
-import org.eclipse.uml2.uml.Behavior;
-import org.eclipse.uml2.uml.Constraint;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.ObjectFlow;
-import org.eclipse.uml2.uml.StructuredActivityNode;
-
-/**
- * This class is used to execute the drag and drop from the outline. It can
- * manage the drop of nodes and binary links. To manage specific drop the method
- * CommonDiagramDragDropEditPolicy.getSpecificDropCommand has to be implemented
- */
-public class CustomDiagramDragDropEditPolicy extends CommonDiagramDragDropEditPolicy {
-
- /** DropActionLocalConditionsAfterActionCommand label */
- private static final String LABEL = "DropLocalConditions";
-
- /** Point to translate successive local conditions to avoid overlapping */
- private static final Point LOCAL_CONDITIONS_TRANSLATION_POINT = new Point(160, 0);
-
- /**
- * Instantiates a new custom diagram drag drop edit policy with the right
- * link mapping helper
- */
- public CustomDiagramDragDropEditPolicy() {
- super(ActivityLinkMappingHelper.getInstance());
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected Set<Integer> getDroppableElementVisualId() {
- Set<Integer> droppableElementsVisualID = new HashSet<Integer>();
- droppableElementsVisualID.add(OpaqueActionEditPart.VISUAL_ID);
- droppableElementsVisualID.add(CallBehaviorActionEditPart.VISUAL_ID);
- droppableElementsVisualID.add(CallOperationActionEditPart.VISUAL_ID);
- droppableElementsVisualID.add(TimeConstraintAsLocalPrecondEditPart.VISUAL_ID);
- droppableElementsVisualID.add(TimeConstraintAsLocalPostcondEditPart.VISUAL_ID);
- droppableElementsVisualID.add(DurationConstraintAsLocalPrecondEditPart.VISUAL_ID);
- droppableElementsVisualID.add(DurationConstraintAsLocalPostcondEditPart.VISUAL_ID);
- droppableElementsVisualID.add(IntervalConstraintAsLocalPrecondEditPart.VISUAL_ID);
- droppableElementsVisualID.add(IntervalConstraintAsLocalPostcondEditPart.VISUAL_ID);
- droppableElementsVisualID.add(ConstraintAsLocalPrecondEditPart.VISUAL_ID);
- droppableElementsVisualID.add(ConstraintAsLocalPostcondEditPart.VISUAL_ID);
- droppableElementsVisualID.add(ObjectFlowEditPart.VISUAL_ID);
- droppableElementsVisualID.add(ControlFlowEditPart.VISUAL_ID);
- droppableElementsVisualID.add(ValueSpecificationActionEditPart.VISUAL_ID);
- droppableElementsVisualID.add(ReadSelfActionEditPart.VISUAL_ID);
- return droppableElementsVisualID;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public IElementType getUMLElementType(int elementID) {
- return UMLElementTypes.getElementType(elementID);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public int getNodeVisualID(View containerView, EObject domainElement) {
- return UMLVisualIDRegistry.getNodeVisualID(containerView, domainElement);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public int getLinkWithClassVisualID(EObject domainElement) {
- return UMLVisualIDRegistry.getLinkWithClassVisualID(domainElement);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected Command getSpecificDropCommand(DropObjectsRequest dropRequest, Element semanticElement, int nodeVISUALID, int linkVISUALID) {
- switch(nodeVISUALID) {
- case OpaqueActionEditPart.VISUAL_ID:
- case CallBehaviorActionEditPart.VISUAL_ID:
- case CallOperationActionEditPart.VISUAL_ID:
- case ValueSpecificationActionEditPart.VISUAL_ID:
- case ReadSelfActionEditPart.VISUAL_ID:
- return dropAction(dropRequest, semanticElement, nodeVISUALID);
- case TimeConstraintAsLocalPrecondEditPart.VISUAL_ID:
- case TimeConstraintAsLocalPostcondEditPart.VISUAL_ID:
- case DurationConstraintAsLocalPrecondEditPart.VISUAL_ID:
- case DurationConstraintAsLocalPostcondEditPart.VISUAL_ID:
- case IntervalConstraintAsLocalPrecondEditPart.VISUAL_ID:
- case IntervalConstraintAsLocalPostcondEditPart.VISUAL_ID:
- case ConstraintAsLocalPrecondEditPart.VISUAL_ID:
- case ConstraintAsLocalPostcondEditPart.VISUAL_ID:
- return dropActionLocalCondition(dropRequest, semanticElement, nodeVISUALID);
- }
- switch(linkVISUALID) {
- case ObjectFlowEditPart.VISUAL_ID:
- case ControlFlowEditPart.VISUAL_ID:
- return dropActivityEdge(dropRequest, semanticElement, linkVISUALID);
- }
- return super.getSpecificDropCommand(dropRequest, semanticElement, nodeVISUALID, linkVISUALID);
- }
-
- /**
- * Specific drop action for an action (with its local conditions)
- *
- * @param dropRequest
- * the drop request
- * @param semanticElement
- * the semantic link
- * @param nodeVISUALID
- * the node visual id
- *
- * @return the command for action
- */
- protected Command dropAction(final DropObjectsRequest dropRequest, final Element semanticElement, int nodeVISUALID) {
- // The element to drop is a node
- /*
- * Check if the element is contained in this new container.
- * A special case as to be handle for structured element as contained node are not contained by the reference OwnedElement
- */
- // Retrieve it's expected graphical parent
- EObject graphicalParent = ((GraphicalEditPart)getHost()).resolveSemanticElement();
- if(graphicalParent instanceof StructuredActivityNode) {
- if(!((StructuredActivityNode)graphicalParent).getNodes().contains(semanticElement)) {
- return UnexecutableCommand.INSTANCE;
- }
- } else if(graphicalParent instanceof Element) {
- if(!((Element)graphicalParent).getOwnedElements().contains(semanticElement)) {
- return UnexecutableCommand.INSTANCE;
- }
- }
- CompoundCommand globalCmd = new CompoundCommand();
- if(globalCmd.isEmpty()) {
- ICommand cmd = getDefaultDropNodeCommand(nodeVISUALID, dropRequest.getLocation(), semanticElement);
- globalCmd.add(new ICommandProxy(cmd));
- }
- // also drop local conditions
- DropActionLocalConditionsAfterActionCommand cmd = new DropActionLocalConditionsAfterActionCommand(dropRequest, semanticElement);
- globalCmd.add(cmd);
- return globalCmd;
- }
-
- /**
- * Specific drop action for an action's local condition
- *
- * @param dropRequest
- * the drop request
- * @param semanticElement
- * the semantic link
- * @param nodeVISUALID
- * the node visual id
- *
- * @return the command for local condition
- */
- protected Command dropActionLocalCondition(DropObjectsRequest dropRequest, Element semanticElement, int nodeVISUALID) {
- if(getHost() instanceof GraphicalEditPart) {
- // Adapt the location
- Point location = dropRequest.getLocation().getCopy();
- ((GraphicalEditPart)getHost()).getContentPane().translateToRelative(location);
- ((GraphicalEditPart)getHost()).getContentPane().translateFromParent(location);
- location.translate(((GraphicalEditPart)getHost()).getContentPane().getClientArea().getLocation().getNegated());
- location.y += 100;
- // Retrieve expected graphical parent
- EObject graphicalParent = ((GraphicalEditPart)getHost()).resolveSemanticElement();
- // verification of container differs from usually, condition is
- // graphically contained by the activity
- if(graphicalParent instanceof Activity) {
- // drop the constraint and its link to the action
- Element linkSource = semanticElement.getOwner();
- Element linkTarget = semanticElement;
- // check for existing link part
- for(Object targetView : DiagramEditPartsUtil.getEObjectViews(linkTarget)) {
- if(targetView instanceof View) {
- EditPart targetEditpart = DiagramEditPartsUtil.getEditPartFromView((View)targetView, getHost());
- if(targetEditpart instanceof ActionLocalPreconditionEditPart || targetEditpart instanceof ActionLocalPostconditionEditPart) {
- // condition link is already drawn.
- return UnexecutableCommand.INSTANCE;
- }
- }
- }
- if(TimeConstraintAsLocalPrecondEditPart.VISUAL_ID == nodeVISUALID || DurationConstraintAsLocalPrecondEditPart.VISUAL_ID == nodeVISUALID || IntervalConstraintAsLocalPrecondEditPart.VISUAL_ID == nodeVISUALID || ConstraintAsLocalPrecondEditPart.VISUAL_ID == nodeVISUALID) {
- return new ICommandProxy(dropBinaryLink(new CompositeCommand("drop Local Precondition link"), linkSource, linkTarget, ActionLocalPreconditionEditPart.VISUAL_ID, location, semanticElement));
- } else if(TimeConstraintAsLocalPostcondEditPart.VISUAL_ID == nodeVISUALID || DurationConstraintAsLocalPostcondEditPart.VISUAL_ID == nodeVISUALID || IntervalConstraintAsLocalPostcondEditPart.VISUAL_ID == nodeVISUALID || ConstraintAsLocalPostcondEditPart.VISUAL_ID == nodeVISUALID) {
- return new ICommandProxy(dropBinaryLink(new CompositeCommand("drop Local Postcondition link"), linkSource, linkTarget, ActionLocalPostconditionEditPart.VISUAL_ID, location, semanticElement));
- }
- }
- }
- return UnexecutableCommand.INSTANCE;
- }
-
- /**
- * the method provides command to create the binary link into the diagram.
- * If the source and the target views do not exist, these views will be
- * created.
- *
- * @param cc
- * the composite command that will contain the set of command to
- * create the binary link
- * @param source
- * the source the element source of the link
- * @param target
- * the target the element target of the link
- * @param linkVISUALID
- * the link VISUALID used to create the view
- * @param location
- * the location the location where the view will be be created
- * @param semanticLink
- * the semantic link that will be attached to the view
- *
- * @return the composite command
- */
- public CompositeCommand dropObjectFlowSpecification(CompositeCommand cc, ObjectFlow source, Behavior target, int linkVISUALID, int specificationVISUALID, Point location, Element semanticLink) {
- // look for editpart
- ObjectFlowEditPart sourceEditPart = lookForEdgePart(source);
- // look for editpart linked with the object flow
- GraphicalEditPart targetEditPart = null;
- if(sourceEditPart != null) {
- // TODO check that there is not already a representation linked to
- // the source object flow
- }
- // descriptor of the link
- CreateConnectionViewRequest.ConnectionViewDescriptor linkdescriptor = new CreateConnectionViewRequest.ConnectionViewDescriptor(getUMLElementType(linkVISUALID), ((IHintedType)getUMLElementType(linkVISUALID)).getSemanticHint(), getDiagramPreferencesHint());
- IAdaptable sourceAdapter = null;
- IAdaptable targetAdapter = null;
- if(sourceEditPart == null) {
- // creation of the node
- ViewDescriptor descriptor = new ViewDescriptor(new EObjectAdapter(source), Edge.class, null, ViewUtil.APPEND, true, ((IGraphicalEditPart)getHost()).getDiagramPreferencesHint());
- // get the command and execute it.
- CreateCommand nodeCreationCommand = new CreateCommand(((IGraphicalEditPart)getHost()).getEditingDomain(), descriptor, ((View)getHost().getModel()));
- cc.compose(nodeCreationCommand);
- SetBoundsCommand setBoundsCommand = new SetBoundsCommand(getEditingDomain(), "move", (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue(), new Point(location.x, location.y + 100));
- cc.compose(setBoundsCommand);
- sourceAdapter = (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue();
- } else {
- sourceAdapter = new SemanticAdapter(null, sourceEditPart.getModel());
- }
- if(targetEditPart == null) {
- // creation of the node
- String nodeSemanticHint = ((IHintedType)getUMLElementType(specificationVISUALID)).getSemanticHint();
- ViewDescriptor descriptor = new ViewDescriptor(new EObjectAdapter(target), Node.class, nodeSemanticHint, ViewUtil.APPEND, true, ((IGraphicalEditPart)getHost()).getDiagramPreferencesHint());
- // get the command and execute it.
- CreateCommand nodeCreationCommand = new CreateCommand(((IGraphicalEditPart)getHost()).getEditingDomain(), descriptor, ((View)getHost().getModel()));
- cc.compose(nodeCreationCommand);
- SetBoundsCommand setBoundsCommand = new SetBoundsCommand(getEditingDomain(), "move", (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue(), new Point(location.x, location.y - 100));
- cc.compose(setBoundsCommand);
- targetAdapter = (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue();
- } else {
- targetAdapter = new SemanticAdapter(null, targetEditPart.getModel());
- }
- CommonDeferredCreateConnectionViewCommand aLinkCommand = new CommonDeferredCreateConnectionViewCommand(getEditingDomain(), ((IHintedType)getUMLElementType(linkVISUALID)).getSemanticHint(), sourceAdapter, targetAdapter, getViewer(), getDiagramPreferencesHint(), linkdescriptor, null);
- aLinkCommand.setElement(semanticLink);
- cc.compose(aLinkCommand);
- return cc;
- }
-
- /**
- * Look for editPart from its semantic.
- *
- * @param semantic
- * the semantic
- *
- * @return the edits the part or null if not found
- */
- private ObjectFlowEditPart lookForEdgePart(EObject semantic) {
- Collection<EditPart> editPartSet = getHost().getViewer().getEditPartRegistry().values();
- Iterator<EditPart> editPartIterator = editPartSet.iterator();
- ObjectFlowEditPart existedEditPart = null;
- while(editPartIterator.hasNext() && existedEditPart == null) {
- EditPart currentEditPart = editPartIterator.next();
- if(currentEditPart instanceof ObjectFlowEditPart && semantic.equals(((ObjectFlowEditPart)currentEditPart).resolveSemanticElement())) {
- existedEditPart = (ObjectFlowEditPart)currentEditPart;
- }
- }
- return existedEditPart;
- }
-
- /**
- * Specific drop action for an activity edge
- *
- * @param dropRequest
- * the drop request
- * @param semanticLink
- * the semantic link
- * @param linkVISUALID
- * the link visual id
- *
- * @return the command for association
- */
- protected Command dropActivityEdge(DropObjectsRequest dropRequest, Element semanticLink, int linkVISUALID) {
- Collection<?> sources = ActivityLinkMappingHelper.getInstance().getSource(semanticLink);
- Collection<?> targets = ActivityLinkMappingHelper.getInstance().getTarget(semanticLink);
- if(sources.size() == 1 && targets.size() == 1) {
- ActivityNode source = (ActivityNode)sources.toArray()[0];
- ActivityNode target = (ActivityNode)targets.toArray()[0];
- CompositeCommand dropBinaryLink = dropBinaryLink(new CompositeCommand("drop Activity Edge"), source, target, linkVISUALID, dropRequest.getLocation(), semanticLink);
- // If the activity edge is interruptible edge we forbib to drag it outside the interuptible edge
- if(dropBinaryLink != null && semanticLink instanceof ActivityEdge && ((ActivityEdge)semanticLink).getInterrupts() != null) {
- if(!((ActivityEdge)semanticLink).getInterrupts().equals(((IGraphicalEditPart)getHost()).resolveSemanticElement())) {
- return UnexecutableCommand.INSTANCE;
- } else {
- return new ICommandProxy(getInterruptbleEdgeCommand(new CompositeCommand("drop Interruptible Activity Edge"), source, target, linkVISUALID, dropRequest.getLocation(), semanticLink));////$NON-NLS-0$
- }
- }
- return new ICommandProxy(dropBinaryLink);
- } else {
- return UnexecutableCommand.INSTANCE;
- }
- }
-
- /**
- * Get the command to drag and drop an interruptible Edge
- * Set the source inside the Interruptible Edge and set the target outside the interruptible edge
- *
- * @param dropBinaryLink
- * {@link CompositeCommand} to compose the newly created command
- * @param semanticLink
- * @param point
- * @param linkVISUALID
- * @param target
- * @param source
- */
- protected CompositeCommand getInterruptbleEdgeCommand(CompositeCommand cc, Element source, Element target, int linkVISUALID, Point location, Element semanticLink) {
- // look for editpart
- GraphicalEditPart sourceEditPart = (GraphicalEditPart)lookForEditPart(source);
- GraphicalEditPart targetEditPart = (GraphicalEditPart)lookForEditPart(target);
- // descriptor of the link
- CreateConnectionViewRequest.ConnectionViewDescriptor linkdescriptor = new CreateConnectionViewRequest.ConnectionViewDescriptor(getUMLElementType(linkVISUALID), ((IHintedType)getUMLElementType(linkVISUALID)).getSemanticHint(), getDiagramPreferencesHint());
- IAdaptable sourceAdapter = null;
- IAdaptable targetAdapter = null;
- if(sourceEditPart == null) {
- // creation of the node
- ViewDescriptor descriptor = new ViewDescriptor(new EObjectAdapter(source), Node.class, null, ViewUtil.APPEND, true, ((IGraphicalEditPart)getHost()).getDiagramPreferencesHint());
- // get the command and execute it.
- CreateCommand nodeCreationCommand = new CreateCommand(((IGraphicalEditPart)getHost()).getEditingDomain(), descriptor, ((View)getHost().getModel()));
- cc.compose(nodeCreationCommand);
- SetBoundsCommand setBoundsCommand = new SetBoundsCommand(getEditingDomain(), "move", (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue(), new Point(location.x, location.y)); //$NON-NLS-1$
- cc.compose(setBoundsCommand);
- sourceAdapter = (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue();
- } else {
- sourceAdapter = new SemanticAdapter(null, sourceEditPart.getModel());
- }
- if(targetEditPart == null) {
- // creation of the node
- ViewDescriptor descriptor = new ViewDescriptor(new EObjectAdapter(target), Node.class, null, ViewUtil.APPEND, true, ((IGraphicalEditPart)getHost()).getDiagramPreferencesHint());
- // get the command and execute it.
- CreateCommand nodeCreationCommand = new CreateCommand(((IGraphicalEditPart)getHost()).getEditingDomain(), descriptor, ((View)((View)((IGraphicalEditPart)getHost()).getTopGraphicEditPart().getModel()).eContainer()));
- cc.compose(nodeCreationCommand);
- IFigure interruptibleActivityRegionFigure = ((IGraphicalEditPart)getHost()).getFigure();
- interruptibleActivityRegionFigure.getBounds();
- Point targetPoint = location.getCopy();
- targetPoint.setX(targetPoint.x() + 50);
- interruptibleActivityRegionFigure.translateToAbsolute(targetPoint);
- while(interruptibleActivityRegionFigure.containsPoint(targetPoint)) {
- targetPoint.setX(targetPoint.x() + 50);
- }
- SetBoundsCommand setBoundsCommand = new SetBoundsCommand(getEditingDomain(), "move", (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue(), targetPoint); //$NON-NLS-1$
- cc.compose(setBoundsCommand);
- targetAdapter = (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue();
- } else {
- targetAdapter = new SemanticAdapter(null, targetEditPart.getModel());
- }
- CommonDeferredCreateConnectionViewCommand aLinkCommand = new CommonDeferredCreateConnectionViewCommand(getEditingDomain(), ((IHintedType)getUMLElementType(linkVISUALID)).getSemanticHint(), sourceAdapter, targetAdapter, getViewer(), getDiagramPreferencesHint(), linkdescriptor, null);
- aLinkCommand.setElement(semanticLink);
- cc.compose(aLinkCommand);
- return cc;
- }
-
- /**
- * Avoid selection of label edit parts
- *
- * @see org.eclipse.papyrus.uml.diagram.common.editpolicies.OldCommonDiagramDragDropEditPolicy#isEditPartTypeSuitableForEClass(java.lang.Class,
- * org.eclipse.emf.ecore.EClass)
- */
- @Override
- protected boolean isEditPartTypeSuitableForEClass(Class<? extends GraphicalEditPart> editPartClass, EClass eClass) {
- // avoid selecting a label instead of the activity node
- return !LabelEditPart.class.isAssignableFrom(editPartClass);
- }
-
- /**
- * This action enables to drop an action's local conditions when an action
- * is dropped. Check of the existing action view is run at execution time to
- * avoid duplication of the action's view. This action is an intern class
- * since it is narrowly linked with this edit policy properties and
- * operations
- */
- private class DropActionLocalConditionsAfterActionCommand extends Command {
-
- /** The drop request */
- private DropObjectsRequest request;
-
- /** The dropped action */
- private Element droppedAction;
-
- /** The command which have been executed (known at execution time) */
- private List<Command> executedCommands = new LinkedList<Command>();
-
- /**
- * Constructor.
- *
- * @param dropRequest
- * the initial request to drop elements
- * @param action
- * the dropped action (whose local conditions must follow)
- */
- public DropActionLocalConditionsAfterActionCommand(DropObjectsRequest dropRequest, Element action) {
- super(LABEL);
- request = dropRequest;
- droppedAction = action;
- }
-
- /**
- * This command can always execute, though it may have no effect
- *
- * @see org.eclipse.gef.commands.Command#canExecute()
- * @return true
- */
- @Override
- public boolean canExecute() {
- return true;
- }
-
- /**
- * Execute the command and drop each local condition view
- *
- * @see org.eclipse.gef.commands.Command#execute()
- */
- @Override
- public void execute() {
- // update request to unset the position, so that position is
- // automatically recomputed each time (to avoid superposition).
- Object hostView = getHost().getModel();
- if(hostView instanceof View) {
- if(droppedAction instanceof Action) {
- Point initialLocation = request.getLocation().getCopy();
- for(Constraint pre : ((Action)droppedAction).getLocalPreconditions()) {
- int visual = UMLVisualIDRegistry.getNodeVisualID((View)hostView, pre);
- Command localCmd = dropActionLocalCondition(request, pre, visual);
- if(localCmd != null && localCmd.canExecute()) {
- localCmd.execute();
- executedCommands.add(localCmd);
- // update the request's position to avoid conditions
- // superposition
- request.getLocation().translate(LOCAL_CONDITIONS_TRANSLATION_POINT);
- }
- }
- for(Constraint post : ((Action)droppedAction).getLocalPostconditions()) {
- int visual = UMLVisualIDRegistry.getNodeVisualID((View)hostView, post);
- Command localCmd = dropActionLocalCondition(request, post, visual);
- if(localCmd != null && localCmd.canExecute()) {
- localCmd.execute();
- executedCommands.add(localCmd);
- // update the request's position to avoid conditions
- // superposition
- request.getLocation().translate(LOCAL_CONDITIONS_TRANSLATION_POINT);
- }
- }
- // restore initial location
- request.getLocation().setLocation(initialLocation);
- }
- }
- }
-
- /**
- * Undo executed commands
- *
- * @see org.eclipse.gef.commands.Command#undo()
- */
- @Override
- public void undo() {
- // undo commands in the inverse order
- for(int i = executedCommands.size() - 1; i >= 0; i--) {
- Command cmd = executedCommands.get(i);
- cmd.undo();
- }
- executedCommands.clear();
- }
- }
-
- @Override
- protected Command getDropCommand(ChangeBoundsRequest request) {
- return super.getDropCommand(request);
- }
-}
+/***************************************************************************** + * Copyright (c) 2009 Atos Origin. + * + * + * 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 + * + * Contributors: + * Atos Origin - Initial API and implementation + * + *****************************************************************************/ +package org.eclipse.papyrus.uml.diagram.activity.edit.policies; + +import java.util.Collection; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; + +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.draw2d.IFigure; +import org.eclipse.draw2d.geometry.Point; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.gef.EditPart; +import org.eclipse.gef.commands.Command; +import org.eclipse.gef.commands.CompoundCommand; +import org.eclipse.gef.commands.UnexecutableCommand; +import org.eclipse.gef.requests.ChangeBoundsRequest; +import org.eclipse.gmf.runtime.common.core.command.CompositeCommand; +import org.eclipse.gmf.runtime.common.core.command.ICommand; +import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil; +import org.eclipse.gmf.runtime.diagram.ui.commands.CreateCommand; +import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy; +import org.eclipse.gmf.runtime.diagram.ui.commands.SetBoundsCommand; +import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart; +import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart; +import org.eclipse.gmf.runtime.diagram.ui.editparts.LabelEditPart; +import org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewRequest; +import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest.ViewDescriptor; +import org.eclipse.gmf.runtime.diagram.ui.requests.DropObjectsRequest; +import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter; +import org.eclipse.gmf.runtime.emf.type.core.IElementType; +import org.eclipse.gmf.runtime.emf.type.core.IHintedType; +import org.eclipse.gmf.runtime.notation.Edge; +import org.eclipse.gmf.runtime.notation.Node; +import org.eclipse.gmf.runtime.notation.View; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionLocalPostconditionEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionLocalPreconditionEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CallBehaviorActionEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CallOperationActionEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConstraintAsLocalPostcondEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConstraintAsLocalPrecondEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ControlFlowEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.DurationConstraintAsLocalPostcondEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.DurationConstraintAsLocalPrecondEditPart; +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.IntervalConstraintAsLocalPostcondEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.IntervalConstraintAsLocalPrecondEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ObjectFlowEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.OpaqueActionEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ReadSelfActionEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.TimeConstraintAsLocalPostcondEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.TimeConstraintAsLocalPrecondEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ValueSpecificationActionEditPart; +import org.eclipse.papyrus.uml.diagram.activity.helper.ActivityLinkMappingHelper; +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.commands.CommonDeferredCreateConnectionViewCommand; +import org.eclipse.papyrus.uml.diagram.common.commands.SemanticAdapter; +import org.eclipse.papyrus.uml.diagram.common.editpolicies.CommonDiagramDragDropEditPolicy; +import org.eclipse.papyrus.uml.diagram.common.util.DiagramEditPartsUtil; +import org.eclipse.uml2.uml.Action; +import org.eclipse.uml2.uml.Activity; +import org.eclipse.uml2.uml.ActivityEdge; +import org.eclipse.uml2.uml.ActivityNode; +import org.eclipse.uml2.uml.Behavior; +import org.eclipse.uml2.uml.Constraint; +import org.eclipse.uml2.uml.Element; +import org.eclipse.uml2.uml.ObjectFlow; +import org.eclipse.uml2.uml.StructuredActivityNode; + +/** + * This class is used to execute the drag and drop from the outline. It can + * manage the drop of nodes and binary links. To manage specific drop the method + * CommonDiagramDragDropEditPolicy.getSpecificDropCommand has to be implemented + */ +public class CustomDiagramDragDropEditPolicy extends CommonDiagramDragDropEditPolicy { + + /** DropActionLocalConditionsAfterActionCommand label */ + private static final String LABEL = "DropLocalConditions"; + + /** Point to translate successive local conditions to avoid overlapping */ + private static final Point LOCAL_CONDITIONS_TRANSLATION_POINT = new Point(160, 0); + + /** + * Instantiates a new custom diagram drag drop edit policy with the right + * link mapping helper + */ + public CustomDiagramDragDropEditPolicy() { + super(ActivityLinkMappingHelper.getInstance()); + } + + /** + * {@inheritDoc} + */ + @Override + protected Set<Integer> getDroppableElementVisualId() { + Set<Integer> droppableElementsVisualID = new HashSet<Integer>(); + droppableElementsVisualID.add(OpaqueActionEditPart.VISUAL_ID); + droppableElementsVisualID.add(CallBehaviorActionEditPart.VISUAL_ID); + droppableElementsVisualID.add(CallOperationActionEditPart.VISUAL_ID); + droppableElementsVisualID.add(TimeConstraintAsLocalPrecondEditPart.VISUAL_ID); + droppableElementsVisualID.add(TimeConstraintAsLocalPostcondEditPart.VISUAL_ID); + droppableElementsVisualID.add(DurationConstraintAsLocalPrecondEditPart.VISUAL_ID); + droppableElementsVisualID.add(DurationConstraintAsLocalPostcondEditPart.VISUAL_ID); + droppableElementsVisualID.add(IntervalConstraintAsLocalPrecondEditPart.VISUAL_ID); + droppableElementsVisualID.add(IntervalConstraintAsLocalPostcondEditPart.VISUAL_ID); + droppableElementsVisualID.add(ConstraintAsLocalPrecondEditPart.VISUAL_ID); + droppableElementsVisualID.add(ConstraintAsLocalPostcondEditPart.VISUAL_ID); + droppableElementsVisualID.add(ObjectFlowEditPart.VISUAL_ID); + droppableElementsVisualID.add(ControlFlowEditPart.VISUAL_ID); + droppableElementsVisualID.add(ValueSpecificationActionEditPart.VISUAL_ID); + droppableElementsVisualID.add(ReadSelfActionEditPart.VISUAL_ID); + droppableElementsVisualID.add(ExpansionNodeAsInEditPart.VISUAL_ID); + droppableElementsVisualID.add(ExpansionNodeAsOutEditPart.VISUAL_ID); + return droppableElementsVisualID; + } + + /** + * {@inheritDoc} + */ + @Override + public IElementType getUMLElementType(int elementID) { + return UMLElementTypes.getElementType(elementID); + } + + /** + * {@inheritDoc} + */ + @Override + public int getNodeVisualID(View containerView, EObject domainElement) { + return UMLVisualIDRegistry.getNodeVisualID(containerView, domainElement); + } + + /** + * {@inheritDoc} + */ + @Override + public int getLinkWithClassVisualID(EObject domainElement) { + return UMLVisualIDRegistry.getLinkWithClassVisualID(domainElement); + } + + /** + * {@inheritDoc} + */ + @Override + protected Command getSpecificDropCommand(DropObjectsRequest dropRequest, Element semanticElement, int nodeVISUALID, int linkVISUALID) { + switch(nodeVISUALID) { + case OpaqueActionEditPart.VISUAL_ID: + case CallBehaviorActionEditPart.VISUAL_ID: + case CallOperationActionEditPart.VISUAL_ID: + case ValueSpecificationActionEditPart.VISUAL_ID: + case ReadSelfActionEditPart.VISUAL_ID: + return dropAction(dropRequest, semanticElement, nodeVISUALID); + case ExpansionNodeAsInEditPart.VISUAL_ID: + case ExpansionNodeAsOutEditPart.VISUAL_ID: + return dropExpansionNode(dropRequest, semanticElement, nodeVISUALID); + case TimeConstraintAsLocalPrecondEditPart.VISUAL_ID: + case TimeConstraintAsLocalPostcondEditPart.VISUAL_ID: + case DurationConstraintAsLocalPrecondEditPart.VISUAL_ID: + case DurationConstraintAsLocalPostcondEditPart.VISUAL_ID: + case IntervalConstraintAsLocalPrecondEditPart.VISUAL_ID: + case IntervalConstraintAsLocalPostcondEditPart.VISUAL_ID: + case ConstraintAsLocalPrecondEditPart.VISUAL_ID: + case ConstraintAsLocalPostcondEditPart.VISUAL_ID: + return dropActionLocalCondition(dropRequest, semanticElement, nodeVISUALID); + } + switch(linkVISUALID) { + case ObjectFlowEditPart.VISUAL_ID: + case ControlFlowEditPart.VISUAL_ID: + return dropActivityEdge(dropRequest, semanticElement, linkVISUALID); + } + return super.getSpecificDropCommand(dropRequest, semanticElement, nodeVISUALID, linkVISUALID); + } + + protected Command dropExpansionNode(DropObjectsRequest dropRequest, + Element semanticElement, int nodeVISUALID) { + // The element to drop is a node + /* + * Check if the element is contained in this new container. + * A special case as to be handle for structured element as contained node are not contained by the reference OwnedElement + */ + // Retrieve it's expected graphical parent + EObject graphicalParent = ((GraphicalEditPart)getHost()).resolveSemanticElement(); + if(graphicalParent instanceof StructuredActivityNode) { + if(!((StructuredActivityNode)graphicalParent).getNodes().contains(semanticElement)) { + return UnexecutableCommand.INSTANCE; + } + } else if(graphicalParent instanceof Element) { + if(!((Element)graphicalParent).getOwnedElements().contains(semanticElement)) { + return UnexecutableCommand.INSTANCE; + } + } + CompoundCommand globalCmd = new CompoundCommand(); + if(globalCmd.isEmpty()) { + ICommand cmd = getDefaultDropNodeCommand(nodeVISUALID, dropRequest.getLocation(), semanticElement); + globalCmd.add(new ICommandProxy(cmd)); + } + return globalCmd; + } + + /** + * Specific drop action for an action (with its local conditions) + * + * @param dropRequest + * the drop request + * @param semanticElement + * the semantic link + * @param nodeVISUALID + * the node visual id + * + * @return the command for action + */ + protected Command dropAction(final DropObjectsRequest dropRequest, final Element semanticElement, int nodeVISUALID) { + // The element to drop is a node + /* + * Check if the element is contained in this new container. + * A special case as to be handle for structured element as contained node are not contained by the reference OwnedElement + */ + // Retrieve it's expected graphical parent + EObject graphicalParent = ((GraphicalEditPart)getHost()).resolveSemanticElement(); + if(graphicalParent instanceof StructuredActivityNode) { + if(!((StructuredActivityNode)graphicalParent).getNodes().contains(semanticElement)) { + return UnexecutableCommand.INSTANCE; + } + } else if(graphicalParent instanceof Element) { + if(!((Element)graphicalParent).getOwnedElements().contains(semanticElement)) { + return UnexecutableCommand.INSTANCE; + } + } + CompoundCommand globalCmd = new CompoundCommand(); + if(globalCmd.isEmpty()) { + ICommand cmd = getDefaultDropNodeCommand(nodeVISUALID, dropRequest.getLocation(), semanticElement); + globalCmd.add(new ICommandProxy(cmd)); + } + // also drop local conditions + DropActionLocalConditionsAfterActionCommand cmd = new DropActionLocalConditionsAfterActionCommand(dropRequest, semanticElement); + globalCmd.add(cmd); + return globalCmd; + } + + /** + * Specific drop action for an action's local condition + * + * @param dropRequest + * the drop request + * @param semanticElement + * the semantic link + * @param nodeVISUALID + * the node visual id + * + * @return the command for local condition + */ + protected Command dropActionLocalCondition(DropObjectsRequest dropRequest, Element semanticElement, int nodeVISUALID) { + if(getHost() instanceof GraphicalEditPart) { + // Adapt the location + Point location = dropRequest.getLocation().getCopy(); + ((GraphicalEditPart)getHost()).getContentPane().translateToRelative(location); + ((GraphicalEditPart)getHost()).getContentPane().translateFromParent(location); + location.translate(((GraphicalEditPart)getHost()).getContentPane().getClientArea().getLocation().getNegated()); + location.y += 100; + // Retrieve expected graphical parent + EObject graphicalParent = ((GraphicalEditPart)getHost()).resolveSemanticElement(); + // verification of container differs from usually, condition is + // graphically contained by the activity + if(graphicalParent instanceof Activity) { + // drop the constraint and its link to the action + Element linkSource = semanticElement.getOwner(); + Element linkTarget = semanticElement; + // check for existing link part + for(Object targetView : DiagramEditPartsUtil.getEObjectViews(linkTarget)) { + if(targetView instanceof View) { + EditPart targetEditpart = DiagramEditPartsUtil.getEditPartFromView((View)targetView, getHost()); + if(targetEditpart instanceof ActionLocalPreconditionEditPart || targetEditpart instanceof ActionLocalPostconditionEditPart) { + // condition link is already drawn. + return UnexecutableCommand.INSTANCE; + } + } + } + if(TimeConstraintAsLocalPrecondEditPart.VISUAL_ID == nodeVISUALID || DurationConstraintAsLocalPrecondEditPart.VISUAL_ID == nodeVISUALID || IntervalConstraintAsLocalPrecondEditPart.VISUAL_ID == nodeVISUALID || ConstraintAsLocalPrecondEditPart.VISUAL_ID == nodeVISUALID) { + return new ICommandProxy(dropBinaryLink(new CompositeCommand("drop Local Precondition link"), linkSource, linkTarget, ActionLocalPreconditionEditPart.VISUAL_ID, location, semanticElement)); + } else if(TimeConstraintAsLocalPostcondEditPart.VISUAL_ID == nodeVISUALID || DurationConstraintAsLocalPostcondEditPart.VISUAL_ID == nodeVISUALID || IntervalConstraintAsLocalPostcondEditPart.VISUAL_ID == nodeVISUALID || ConstraintAsLocalPostcondEditPart.VISUAL_ID == nodeVISUALID) { + return new ICommandProxy(dropBinaryLink(new CompositeCommand("drop Local Postcondition link"), linkSource, linkTarget, ActionLocalPostconditionEditPart.VISUAL_ID, location, semanticElement)); + } + } + } + return UnexecutableCommand.INSTANCE; + } + + /** + * the method provides command to create the binary link into the diagram. + * If the source and the target views do not exist, these views will be + * created. + * + * @param cc + * the composite command that will contain the set of command to + * create the binary link + * @param source + * the source the element source of the link + * @param target + * the target the element target of the link + * @param linkVISUALID + * the link VISUALID used to create the view + * @param location + * the location the location where the view will be be created + * @param semanticLink + * the semantic link that will be attached to the view + * + * @return the composite command + */ + public CompositeCommand dropObjectFlowSpecification(CompositeCommand cc, ObjectFlow source, Behavior target, int linkVISUALID, int specificationVISUALID, Point location, Element semanticLink) { + // look for editpart + ObjectFlowEditPart sourceEditPart = lookForEdgePart(source); + // look for editpart linked with the object flow + GraphicalEditPart targetEditPart = null; + if(sourceEditPart != null) { + // TODO check that there is not already a representation linked to + // the source object flow + } + // descriptor of the link + CreateConnectionViewRequest.ConnectionViewDescriptor linkdescriptor = new CreateConnectionViewRequest.ConnectionViewDescriptor(getUMLElementType(linkVISUALID), ((IHintedType)getUMLElementType(linkVISUALID)).getSemanticHint(), getDiagramPreferencesHint()); + IAdaptable sourceAdapter = null; + IAdaptable targetAdapter = null; + if(sourceEditPart == null) { + // creation of the node + ViewDescriptor descriptor = new ViewDescriptor(new EObjectAdapter(source), Edge.class, null, ViewUtil.APPEND, true, ((IGraphicalEditPart)getHost()).getDiagramPreferencesHint()); + // get the command and execute it. + CreateCommand nodeCreationCommand = new CreateCommand(((IGraphicalEditPart)getHost()).getEditingDomain(), descriptor, ((View)getHost().getModel())); + cc.compose(nodeCreationCommand); + SetBoundsCommand setBoundsCommand = new SetBoundsCommand(getEditingDomain(), "move", (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue(), new Point(location.x, location.y + 100)); + cc.compose(setBoundsCommand); + sourceAdapter = (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue(); + } else { + sourceAdapter = new SemanticAdapter(null, sourceEditPart.getModel()); + } + if(targetEditPart == null) { + // creation of the node + String nodeSemanticHint = ((IHintedType)getUMLElementType(specificationVISUALID)).getSemanticHint(); + ViewDescriptor descriptor = new ViewDescriptor(new EObjectAdapter(target), Node.class, nodeSemanticHint, ViewUtil.APPEND, true, ((IGraphicalEditPart)getHost()).getDiagramPreferencesHint()); + // get the command and execute it. + CreateCommand nodeCreationCommand = new CreateCommand(((IGraphicalEditPart)getHost()).getEditingDomain(), descriptor, ((View)getHost().getModel())); + cc.compose(nodeCreationCommand); + SetBoundsCommand setBoundsCommand = new SetBoundsCommand(getEditingDomain(), "move", (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue(), new Point(location.x, location.y - 100)); + cc.compose(setBoundsCommand); + targetAdapter = (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue(); + } else { + targetAdapter = new SemanticAdapter(null, targetEditPart.getModel()); + } + CommonDeferredCreateConnectionViewCommand aLinkCommand = new CommonDeferredCreateConnectionViewCommand(getEditingDomain(), ((IHintedType)getUMLElementType(linkVISUALID)).getSemanticHint(), sourceAdapter, targetAdapter, getViewer(), getDiagramPreferencesHint(), linkdescriptor, null); + aLinkCommand.setElement(semanticLink); + cc.compose(aLinkCommand); + return cc; + } + + /** + * Look for editPart from its semantic. + * + * @param semantic + * the semantic + * + * @return the edits the part or null if not found + */ + private ObjectFlowEditPart lookForEdgePart(EObject semantic) { + Collection<EditPart> editPartSet = getHost().getViewer().getEditPartRegistry().values(); + Iterator<EditPart> editPartIterator = editPartSet.iterator(); + ObjectFlowEditPart existedEditPart = null; + while(editPartIterator.hasNext() && existedEditPart == null) { + EditPart currentEditPart = editPartIterator.next(); + if(currentEditPart instanceof ObjectFlowEditPart && semantic.equals(((ObjectFlowEditPart)currentEditPart).resolveSemanticElement())) { + existedEditPart = (ObjectFlowEditPart)currentEditPart; + } + } + return existedEditPart; + } + + /** + * Specific drop action for an activity edge + * + * @param dropRequest + * the drop request + * @param semanticLink + * the semantic link + * @param linkVISUALID + * the link visual id + * + * @return the command for association + */ + protected Command dropActivityEdge(DropObjectsRequest dropRequest, Element semanticLink, int linkVISUALID) { + Collection<?> sources = ActivityLinkMappingHelper.getInstance().getSource(semanticLink); + Collection<?> targets = ActivityLinkMappingHelper.getInstance().getTarget(semanticLink); + if(sources.size() == 1 && targets.size() == 1) { + ActivityNode source = (ActivityNode)sources.toArray()[0]; + ActivityNode target = (ActivityNode)targets.toArray()[0]; + CompositeCommand dropBinaryLink = dropBinaryLink(new CompositeCommand("drop Activity Edge"), source, target, linkVISUALID, dropRequest.getLocation(), semanticLink); + // If the activity edge is interruptible edge we forbib to drag it outside the interuptible edge + if(dropBinaryLink != null && semanticLink instanceof ActivityEdge && ((ActivityEdge)semanticLink).getInterrupts() != null) { + if(!((ActivityEdge)semanticLink).getInterrupts().equals(((IGraphicalEditPart)getHost()).resolveSemanticElement())) { + return UnexecutableCommand.INSTANCE; + } else { + return new ICommandProxy(getInterruptbleEdgeCommand(new CompositeCommand("drop Interruptible Activity Edge"), source, target, linkVISUALID, dropRequest.getLocation(), semanticLink));////$NON-NLS-0$ + } + } + return new ICommandProxy(dropBinaryLink); + } else { + return UnexecutableCommand.INSTANCE; + } + } + + /** + * Get the command to drag and drop an interruptible Edge + * Set the source inside the Interruptible Edge and set the target outside the interruptible edge + * + * @param dropBinaryLink + * {@link CompositeCommand} to compose the newly created command + * @param semanticLink + * @param point + * @param linkVISUALID + * @param target + * @param source + */ + protected CompositeCommand getInterruptbleEdgeCommand(CompositeCommand cc, Element source, Element target, int linkVISUALID, Point location, Element semanticLink) { + // look for editpart + GraphicalEditPart sourceEditPart = (GraphicalEditPart)lookForEditPart(source); + GraphicalEditPart targetEditPart = (GraphicalEditPart)lookForEditPart(target); + // descriptor of the link + CreateConnectionViewRequest.ConnectionViewDescriptor linkdescriptor = new CreateConnectionViewRequest.ConnectionViewDescriptor(getUMLElementType(linkVISUALID), ((IHintedType)getUMLElementType(linkVISUALID)).getSemanticHint(), getDiagramPreferencesHint()); + IAdaptable sourceAdapter = null; + IAdaptable targetAdapter = null; + if(sourceEditPart == null) { + // creation of the node + ViewDescriptor descriptor = new ViewDescriptor(new EObjectAdapter(source), Node.class, null, ViewUtil.APPEND, true, ((IGraphicalEditPart)getHost()).getDiagramPreferencesHint()); + // get the command and execute it. + CreateCommand nodeCreationCommand = new CreateCommand(((IGraphicalEditPart)getHost()).getEditingDomain(), descriptor, ((View)getHost().getModel())); + cc.compose(nodeCreationCommand); + SetBoundsCommand setBoundsCommand = new SetBoundsCommand(getEditingDomain(), "move", (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue(), new Point(location.x, location.y)); //$NON-NLS-1$ + cc.compose(setBoundsCommand); + sourceAdapter = (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue(); + } else { + sourceAdapter = new SemanticAdapter(null, sourceEditPart.getModel()); + } + if(targetEditPart == null) { + // creation of the node + ViewDescriptor descriptor = new ViewDescriptor(new EObjectAdapter(target), Node.class, null, ViewUtil.APPEND, true, ((IGraphicalEditPart)getHost()).getDiagramPreferencesHint()); + // get the command and execute it. + CreateCommand nodeCreationCommand = new CreateCommand(((IGraphicalEditPart)getHost()).getEditingDomain(), descriptor, ((View)((View)((IGraphicalEditPart)getHost()).getTopGraphicEditPart().getModel()).eContainer())); + cc.compose(nodeCreationCommand); + IFigure interruptibleActivityRegionFigure = ((IGraphicalEditPart)getHost()).getFigure(); + interruptibleActivityRegionFigure.getBounds(); + Point targetPoint = location.getCopy(); + targetPoint.setX(targetPoint.x() + 50); + interruptibleActivityRegionFigure.translateToAbsolute(targetPoint); + while(interruptibleActivityRegionFigure.containsPoint(targetPoint)) { + targetPoint.setX(targetPoint.x() + 50); + } + SetBoundsCommand setBoundsCommand = new SetBoundsCommand(getEditingDomain(), "move", (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue(), targetPoint); //$NON-NLS-1$ + cc.compose(setBoundsCommand); + targetAdapter = (IAdaptable)nodeCreationCommand.getCommandResult().getReturnValue(); + } else { + targetAdapter = new SemanticAdapter(null, targetEditPart.getModel()); + } + CommonDeferredCreateConnectionViewCommand aLinkCommand = new CommonDeferredCreateConnectionViewCommand(getEditingDomain(), ((IHintedType)getUMLElementType(linkVISUALID)).getSemanticHint(), sourceAdapter, targetAdapter, getViewer(), getDiagramPreferencesHint(), linkdescriptor, null); + aLinkCommand.setElement(semanticLink); + cc.compose(aLinkCommand); + return cc; + } + + /** + * Avoid selection of label edit parts + * + * @see org.eclipse.papyrus.uml.diagram.common.editpolicies.OldCommonDiagramDragDropEditPolicy#isEditPartTypeSuitableForEClass(java.lang.Class, + * org.eclipse.emf.ecore.EClass) + */ + @Override + protected boolean isEditPartTypeSuitableForEClass(Class<? extends GraphicalEditPart> editPartClass, EClass eClass) { + // avoid selecting a label instead of the activity node + return !LabelEditPart.class.isAssignableFrom(editPartClass); + } + + /** + * This action enables to drop an action's local conditions when an action + * is dropped. Check of the existing action view is run at execution time to + * avoid duplication of the action's view. This action is an intern class + * since it is narrowly linked with this edit policy properties and + * operations + */ + private class DropActionLocalConditionsAfterActionCommand extends Command { + + /** The drop request */ + private DropObjectsRequest request; + + /** The dropped action */ + private Element droppedAction; + + /** The command which have been executed (known at execution time) */ + private List<Command> executedCommands = new LinkedList<Command>(); + + /** + * Constructor. + * + * @param dropRequest + * the initial request to drop elements + * @param action + * the dropped action (whose local conditions must follow) + */ + public DropActionLocalConditionsAfterActionCommand(DropObjectsRequest dropRequest, Element action) { + super(LABEL); + request = dropRequest; + droppedAction = action; + } + + /** + * This command can always execute, though it may have no effect + * + * @see org.eclipse.gef.commands.Command#canExecute() + * @return true + */ + @Override + public boolean canExecute() { + return true; + } + + /** + * Execute the command and drop each local condition view + * + * @see org.eclipse.gef.commands.Command#execute() + */ + @Override + public void execute() { + // update request to unset the position, so that position is + // automatically recomputed each time (to avoid superposition). + Object hostView = getHost().getModel(); + if(hostView instanceof View) { + if(droppedAction instanceof Action) { + Point initialLocation = request.getLocation().getCopy(); + for(Constraint pre : ((Action)droppedAction).getLocalPreconditions()) { + int visual = UMLVisualIDRegistry.getNodeVisualID((View)hostView, pre); + Command localCmd = dropActionLocalCondition(request, pre, visual); + if(localCmd != null && localCmd.canExecute()) { + localCmd.execute(); + executedCommands.add(localCmd); + // update the request's position to avoid conditions + // superposition + request.getLocation().translate(LOCAL_CONDITIONS_TRANSLATION_POINT); + } + } + for(Constraint post : ((Action)droppedAction).getLocalPostconditions()) { + int visual = UMLVisualIDRegistry.getNodeVisualID((View)hostView, post); + Command localCmd = dropActionLocalCondition(request, post, visual); + if(localCmd != null && localCmd.canExecute()) { + localCmd.execute(); + executedCommands.add(localCmd); + // update the request's position to avoid conditions + // superposition + request.getLocation().translate(LOCAL_CONDITIONS_TRANSLATION_POINT); + } + } + // restore initial location + request.getLocation().setLocation(initialLocation); + } + } + } + + /** + * Undo executed commands + * + * @see org.eclipse.gef.commands.Command#undo() + */ + @Override + public void undo() { + // undo commands in the inverse order + for(int i = executedCommands.size() - 1; i >= 0; i--) { + Command cmd = executedCommands.get(i); + cmd.undo(); + } + executedCommands.clear(); + } + } + + @Override + protected Command getDropCommand(ChangeBoundsRequest request) { + return super.getDropCommand(request); + } +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/CustomExpansionRegionStructureCompartmentCreationEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/CustomExpansionRegionStructureCompartmentCreationEditPolicy.java new file mode 100644 index 00000000000..bee10fda46c --- /dev/null +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/CustomExpansionRegionStructureCompartmentCreationEditPolicy.java @@ -0,0 +1,38 @@ +/** + * + */ +package org.eclipse.papyrus.uml.diagram.activity.edit.policies; + +import org.eclipse.gef.EditPart; +import org.eclipse.gef.Request; +import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest; +import org.eclipse.papyrus.uml.diagram.common.editpolicies.PapyrusCreationEditPolicy; + +/** + * + */ +public class CustomExpansionRegionStructureCompartmentCreationEditPolicy extends PapyrusCreationEditPolicy { + + @Override + public boolean understandsRequest(Request request) { + if(request instanceof CreateViewRequest) { + String hint = ((CreateViewRequest)request).getViewDescriptors().get(0).getSemanticHint(); + if("3074".equals(hint) || "3075".equals(hint)) { + return true; + } + } + return super.understandsRequest(request); + } + + @Override + public EditPart getTargetEditPart(Request request) { + if(request instanceof CreateViewRequest) { + String hint = ((CreateViewRequest)request).getViewDescriptors().get(0).getSemanticHint(); + if("3074".equals(hint) || "3075".equals(hint)) { + return getHost().getParent(); + } + } + return super.getTargetEditPart(request); + } + +}
\ No newline at end of file diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java index ca195e0dc1d..625246b0893 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/custom-src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java @@ -1,16 +1,33 @@ -package org.eclipse.papyrus.uml.diagram.activity.edit.policies;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-
-public class CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy extends ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy {
-
- @Override
- protected Command getCreateCommand(CreateElementRequest req) {
- // handled by CreateActionLocalConditionEditPolicy, return null
- if(CreateActionLocalConditionEditPolicy.LOCAL_CONDITION_TYPES.contains(req.getElementType())) {
- return null;
- }
- return super.getCreateCommand(req);
- }
-}
+package org.eclipse.papyrus.uml.diagram.activity.edit.policies; + +import org.eclipse.gef.EditPart; +import org.eclipse.gef.Request; +import org.eclipse.gef.commands.Command; +import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest; +import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest; + +public class CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy extends ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy { + + @Override + public EditPart getTargetEditPart(Request request) { + if(request instanceof CreateViewRequest) { + // for create request of expansion nodes (input & output elements, delegates to parent) + CreateViewRequest createViewRequest = (CreateViewRequest)request; + String semanticHint = createViewRequest.getViewDescriptors().get(0).getSemanticHint(); + if("3074".equals(semanticHint) || "3075".equals(semanticHint)) { + return getHost().getParent(); + } + } + return super.getTargetEditPart(request); + } + + @Override + protected Command getCreateCommand(CreateElementRequest req) { + // handled by CreateActionLocalConditionEditPolicy, return null + if(CreateActionLocalConditionEditPolicy.LOCAL_CONDITION_TYPES.contains(req.getElementType())) { + return null; + } + + return super.getCreateCommand(req); + } +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/plugin.xml b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/plugin.xml index 184e676f03f..d3aad06cb02 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/plugin.xml +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/plugin.xml @@ -1,7 +1,7 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
+<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> +<plugin> + <extension point="org.eclipse.ui.contexts" id="ui-context"> <?gmfgen generated="true"?> <context @@ -11,144 +11,144 @@ parentId="org.eclipse.gmf.runtime.diagram.ui.diagramContext"> </context> </extension> -
- <extension point="org.eclipse.gmf.runtime.common.ui.services.action.contributionItemProviders">
- <contributionItemProvider checkPluginLoaded="false" class="org.eclipse.papyrus.uml.diagram.activity.providers.ActivityDiagramContributionItemProvider">
- <Priority name="Low"/>
- <popupContribution class="org.eclipse.gmf.runtime.diagram.ui.providers.DiagramContextMenuProvider">
- <popupStructuredContributionCriteria objectClass="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart" policyClass="org.eclipse.papyrus.uml.diagram.activity.providers.ActivityDiagramContributionPolicyClass"/>
- <popupAction id="papyrus.restoreRelatedLinksAction" path="/navigateMenu/additions"/>
- </popupContribution>
- </contributionItemProvider>
- </extension>
-
- <extension
- point="org.eclipse.ui.commands">
- <command
- description="Create a new Activity Diagram"
- categoryId="org.eclipse.papyrus.editor.category"
- id="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand"
- name="Create a new Activity Diagram">
- </command>
- </extension>
-
- <extension
- point="org.eclipse.ui.handlers">
- <handler
- class="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramWithNavigationHandler"
- commandId="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand">
- <activeWhen>
- <with variable="activeEditorId">
- <equals value="org.eclipse.papyrus.infra.core.papyrusEditor"/>
- </with>
- </activeWhen>
- </handler>
- </extension>
-
-<extension
- point="org.eclipse.ui.menus">
-
- <menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar">
- <toolbar id="org.eclipse.papyrus.uml.diagram.ui.toolbar">
- <command commandId="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand"
- icon="icons/obj16/Diagram_Activity.gif"
- label="Create a new Activity Diagram"
- style="push"
- tooltip="Create a new Activity Diagram">
- <visibleWhen>
- <reference definitionId="org.eclipse.papyrus.uml.diagram.common.IsPapyrusActiveWithUMLModel"/>
- </visibleWhen>
- </command>
- </toolbar>
- </menuContribution>
-
- <menuContribution locationURI="menu:org.eclipse.papyrus.ui.menu">
- <menu id="org.eclipse.papyrus.uml.diagram.ui.menu.diagrams"
- label="Diagrams">
- <command commandId="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand"
- icon="icons/obj16/Diagram_Activity.gif"
- label="Create a new Activity Diagram"
- style="push"
- tooltip="Create a new Activity Diagram">
- <visibleWhen>
- <reference definitionId="org.eclipse.papyrus.uml.diagram.common.IsPapyrusActiveWithUMLModel"/>
- </visibleWhen>
- </command>
- </menu>
- </menuContribution>
-
- <menuContribution locationURI="popup:org.eclipse.papyrus.views.modelexplorer.popupmenu.creatediagram">
- <command commandId="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand"
- icon="icons/obj16/Diagram_Activity.gif"
- label="Create a new Activity Diagram"
- style="push"
- tooltip="Create a new Activity Diagram">
- <visibleWhen>
- <reference definitionId="org.eclipse.papyrus.uml.diagram.common.IsPapyrusActiveWithUMLModel"/>
- </visibleWhen>
- </command>
- </menuContribution>
-
-</extension>
-
-
- <extension
- point="org.eclipse.papyrus.infra.core.papyrusDiagram">
- <editorDiagram
- contextId="com.cea.papyrus.gmf.editor.context"
- factoryClass="org.eclipse.papyrus.uml.diagram.activity.ActivityDiagramEditorFactory"
- icon="icons/obj16/Diagram_Activity.gif">
- </editorDiagram>
- <creationCommand
- creationCommandClass="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand"
- creationCondition="org.eclipse.papyrus.uml.diagram.activity.ActivityDiagramCreationCondition"
- icon="icons/obj16/Diagram_Activity.gif"
- language="uml"
- id="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand"
- label="UML Activity Diagram">
- </creationCommand>
- </extension>
-
-
- <extension point="org.eclipse.gmf.runtime.emf.ui.modelingAssistantProviders">
- <modelingAssistantProvider
- class="org.eclipse.papyrus.uml.diagram.activity.providers.UMLModelingAssistantProvider">
- <Priority
- name="Lowest">
- </Priority>
- </modelingAssistantProvider>
- </extension>
-
- <?gmfgen generated="true"?>
-
- <?gmfgen generated="true"?>
-
- <extension point="org.eclipse.ui.preferencePages" id="prefpages">
- <?gmfgen generated="true"?>
- <page
- id="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- name="PapyrusUMLActivityDiagram Diagram"
- category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.DiagramGeneralPreferencePage">
- </page>
+ + <extension point="org.eclipse.gmf.runtime.common.ui.services.action.contributionItemProviders"> + <contributionItemProvider checkPluginLoaded="false" class="org.eclipse.papyrus.uml.diagram.activity.providers.ActivityDiagramContributionItemProvider"> + <Priority name="Low"/> + <popupContribution class="org.eclipse.gmf.runtime.diagram.ui.providers.DiagramContextMenuProvider"> + <popupStructuredContributionCriteria objectClass="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart" policyClass="org.eclipse.papyrus.uml.diagram.activity.providers.ActivityDiagramContributionPolicyClass"/> + <popupAction id="papyrus.restoreRelatedLinksAction" path="/navigateMenu/additions"/> + </popupContribution> + </contributionItemProvider> + </extension> + + <extension + point="org.eclipse.ui.commands"> + <command + description="Create a new Activity Diagram" + categoryId="org.eclipse.papyrus.editor.category" + id="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand" + name="Create a new Activity Diagram"> + </command> + </extension> + + <extension + point="org.eclipse.ui.handlers"> + <handler + class="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramWithNavigationHandler" + commandId="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand"> + <activeWhen> + <with variable="activeEditorId"> + <equals value="org.eclipse.papyrus.infra.core.papyrusEditor"/> + </with> + </activeWhen> + </handler> + </extension> + +<extension + point="org.eclipse.ui.menus"> + + <menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar"> + <toolbar id="org.eclipse.papyrus.uml.diagram.ui.toolbar"> + <command commandId="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand" + icon="icons/obj16/Diagram_Activity.gif" + label="Create a new Activity Diagram" + style="push" + tooltip="Create a new Activity Diagram"> + <visibleWhen> + <reference definitionId="org.eclipse.papyrus.uml.diagram.common.IsPapyrusActiveWithUMLModel"/> + </visibleWhen> + </command> + </toolbar> + </menuContribution> + + <menuContribution locationURI="menu:org.eclipse.papyrus.ui.menu"> + <menu id="org.eclipse.papyrus.uml.diagram.ui.menu.diagrams" + label="Diagrams"> + <command commandId="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand" + icon="icons/obj16/Diagram_Activity.gif" + label="Create a new Activity Diagram" + style="push" + tooltip="Create a new Activity Diagram"> + <visibleWhen> + <reference definitionId="org.eclipse.papyrus.uml.diagram.common.IsPapyrusActiveWithUMLModel"/> + </visibleWhen> + </command> + </menu> + </menuContribution> + + <menuContribution locationURI="popup:org.eclipse.papyrus.views.modelexplorer.popupmenu.creatediagram"> + <command commandId="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand" + icon="icons/obj16/Diagram_Activity.gif" + label="Create a new Activity Diagram" + style="push" + tooltip="Create a new Activity Diagram"> + <visibleWhen> + <reference definitionId="org.eclipse.papyrus.uml.diagram.common.IsPapyrusActiveWithUMLModel"/> + </visibleWhen> + </command> + </menuContribution> + +</extension> + + + <extension + point="org.eclipse.papyrus.infra.core.papyrusDiagram"> + <editorDiagram + contextId="com.cea.papyrus.gmf.editor.context" + factoryClass="org.eclipse.papyrus.uml.diagram.activity.ActivityDiagramEditorFactory" + icon="icons/obj16/Diagram_Activity.gif"> + </editorDiagram> + <creationCommand + creationCommandClass="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand" + creationCondition="org.eclipse.papyrus.uml.diagram.activity.ActivityDiagramCreationCondition" + icon="icons/obj16/Diagram_Activity.gif" + language="uml" + id="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand" + label="UML Activity Diagram"> + </creationCommand> + </extension> + + + <extension point="org.eclipse.gmf.runtime.emf.ui.modelingAssistantProviders"> + <modelingAssistantProvider + class="org.eclipse.papyrus.uml.diagram.activity.providers.UMLModelingAssistantProvider"> + <Priority + name="Lowest"> + </Priority> + </modelingAssistantProvider> + </extension> + + <?gmfgen generated="true"?> + + <?gmfgen generated="true"?> + + <extension point="org.eclipse.ui.preferencePages" id="prefpages"> + <?gmfgen generated="true"?> + <page + id="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + name="PapyrusUMLActivityDiagram Diagram" + category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.DiagramGeneralPreferencePage"> + </page> - <page
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.DiagramPrintingPreferencePage"
- name="%prefpage.org.eclipse.uml2.uml.diagram.printing"
- category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.DiagramPrintingPreferencePage">
- </page>
+ <page + id="org.eclipse.papyrus.uml.diagram.activity.preferences.DiagramPrintingPreferencePage" + name="%prefpage.org.eclipse.uml2.uml.diagram.printing" + category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.DiagramPrintingPreferencePage"> + </page> - <page
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.DiagramRulersAndGridPreferencePage"
- name="%prefpage.org.eclipse.uml2.uml.diagram.rulersAndGrid"
- category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.DiagramRulersAndGridPreferencePage">
- </page>
+ <page + id="org.eclipse.papyrus.uml.diagram.activity.preferences.DiagramRulersAndGridPreferencePage" + name="%prefpage.org.eclipse.uml2.uml.diagram.rulersAndGrid" + category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.DiagramRulersAndGridPreferencePage"> + </page> - </extension>
+ </extension> <extension point="org.eclipse.ui.views.properties.tabbed.propertyContributor" id="prop-contrib"> <?gmfgen generated="true"?> @@ -212,18 +212,18 @@ </propertySection> </propertySections> </extension> -
-
-<?gmfgen generated="true"?>
-
- <extension point="org.eclipse.core.runtime.preferences">
- <?gmfgen generated="true"?>
- <initializer class="org.eclipse.papyrus.uml.diagram.activity.preferences.DiagramPreferenceInitializer"/>
- </extension>
- <extension point="org.eclipse.core.runtime.preferences">
- <?gmfgen generated="false"?>
- <initializer class="org.eclipse.papyrus.uml.diagram.activity.preferences.DiagramSpecificPreferenceInitializer"/>
- </extension>
+ + +<?gmfgen generated="true"?> + + <extension point="org.eclipse.core.runtime.preferences"> + <?gmfgen generated="true"?> + <initializer class="org.eclipse.papyrus.uml.diagram.activity.preferences.DiagramPreferenceInitializer"/> + </extension> + <extension point="org.eclipse.core.runtime.preferences"> + <?gmfgen generated="false"?> + <initializer class="org.eclipse.papyrus.uml.diagram.activity.preferences.DiagramSpecificPreferenceInitializer"/> + </extension> <extension point="org.eclipse.gmf.runtime.diagram.core.viewProviders" id="view-provider"> <?gmfgen generated="true"?> <viewProvider class="org.eclipse.papyrus.uml.diagram.activity.providers.UMLViewProvider"> @@ -1571,19 +1571,19 @@ <extension point="org.eclipse.ui.handlers" id="menu-handlers"> <?gmfgen generated="true"?> </extension> -<extension point="org.eclipse.gmf.runtime.common.ui.services.markerNavigationProviders" id="markers-navigation">
- <?gmfgen generated="true"?>
- <MarkerNavigationProvider class="org.eclipse.papyrus.uml.diagram.activity.providers.UMLMarkerNavigationProvider">
- <MarkerType name="org.eclipse.papyrus.uml.diagram.activity.diagnostic"/>
- <Priority name="Lowest"/>
- </MarkerNavigationProvider>
- </extension>
-
-<extension id="diagnostic" name="Papyrus activity editor Plugin problems" point="org.eclipse.core.resources.markers">
- <?gmfgen generated="true"?>
- <super type="org.eclipse.core.resources.problemmarker"/>
- <super type="org.eclipse.gmf.runtime.common.ui.services.marker"/>
- <persistent value="true"/>
+<extension point="org.eclipse.gmf.runtime.common.ui.services.markerNavigationProviders" id="markers-navigation"> + <?gmfgen generated="true"?> + <MarkerNavigationProvider class="org.eclipse.papyrus.uml.diagram.activity.providers.UMLMarkerNavigationProvider"> + <MarkerType name="org.eclipse.papyrus.uml.diagram.activity.diagnostic"/> + <Priority name="Lowest"/> + </MarkerNavigationProvider> + </extension> + +<extension id="diagnostic" name="Papyrus activity editor Plugin problems" point="org.eclipse.core.resources.markers"> + <?gmfgen generated="true"?> + <super type="org.eclipse.core.resources.problemmarker"/> + <super type="org.eclipse.gmf.runtime.common.ui.services.marker"/> + <persistent value="true"/> </extension><extension point="org.eclipse.emf.validation.constraintProviders"> <?gmfgen generated="true"?> <category id="org.eclipse.uml2.uml.util.UMLValidator.validate" mandatory="false" name="validateUMLModel"> @@ -1760,8 +1760,8 @@ name="validateNotUnique" mode="Live" severity="ERROR" statusCode="200"> - <![CDATA[-- must be applied on corresponding parameter, if only it exists
-true
+ <![CDATA[-- must be applied on corresponding parameter, if only it exists +true --not self.isUnique]]> <description><![CDATA[Object nodes are not unique typed elements]]></description> <message><![CDATA[isUnique must be false for object nodes.]]></message> @@ -1772,9 +1772,9 @@ true name="validateSelectionBehavior" mode="Batch" severity="ERROR" statusCode="200"> - <![CDATA[-- must be applied on corresponding parameter, if only it exists
-true
---((not self.selection.oclIsUndefined()) implies self.isOrdered) and
+ <![CDATA[-- must be applied on corresponding parameter, if only it exists +true +--((not self.selection.oclIsUndefined()) implies self.isOrdered) and --(self.isOrdered implies (not self.selection.oclIsUndefined()))]]> <description><![CDATA[If an object node has a selection behavior, then the ordering of the object node is ordered, and vice versa.]]></description> <message><![CDATA[isOrdered means there is a selection behavior for object nodes.]]></message> @@ -1785,7 +1785,7 @@ true name="validateObjectFlowEdges" mode="Batch" severity="ERROR" statusCode="200"> - <![CDATA[true
+ <![CDATA[true -- Already checked by validateControlFlow_validateObjectNodes]]> <description><![CDATA[All edges coming into or going out of object nodes must be object flow edges.]]></description> <message><![CDATA[All edges coming into or going out of object nodes must be object flow edges.]]></message> @@ -1834,7 +1834,7 @@ true name="validateOneOutputPin" mode="Live" severity="ERROR" statusCode="200"> - <![CDATA[(not self.fromAction.oclIsUndefined()) implies
+ <![CDATA[(not self.fromAction.oclIsUndefined()) implies self.fromAction.output->size() = 1]]> <description><![CDATA[The fromAction of an action input pin must have exactly one output pin.]]></description> <message><![CDATA[The fromAction of an action input pin must have exactly one output pin.]]></message> @@ -1845,7 +1845,7 @@ self.fromAction.output->size() = 1]]> name="validateInputPin" mode="Live" severity="ERROR" statusCode="200"> - <![CDATA[(not self.fromAction.oclIsUndefined()) implies
+ <![CDATA[(not self.fromAction.oclIsUndefined()) implies self.fromAction.input->forAll(oclIsKindOf(ActionInputPin))]]> <description><![CDATA[The fromAction of an action input pin must only have action input pins as input pins.]]></description> <message><![CDATA[The fromAction of an action input pin must only have action input pins as input pins.]]></message> @@ -1856,9 +1856,9 @@ self.fromAction.input->forAll(oclIsKindOf(ActionInputPin))]]> name="validateNoControlOrDataFlow" mode="Live" severity="ERROR" statusCode="200"> - <![CDATA[(not self.fromAction.oclIsUndefined()) implies
-(self.fromAction.incoming->isEmpty() and self.fromAction.outgoing->isEmpty()
-and self.fromAction.input->forAll(incoming->isEmpty() and outgoing->isEmpty())
+ <![CDATA[(not self.fromAction.oclIsUndefined()) implies +(self.fromAction.incoming->isEmpty() and self.fromAction.outgoing->isEmpty() +and self.fromAction.input->forAll(incoming->isEmpty() and outgoing->isEmpty()) and self.fromAction.output->forAll(incoming->isEmpty() and outgoing->isEmpty()))]]> <description><![CDATA[The fromAction of an action input pin cannot have control or data flows coming into or out of it or its pins.]]></description> <message><![CDATA[The fromAction of an action input pin cannot have control or data flows coming into or out of it or its pins.]]></message> @@ -1915,7 +1915,7 @@ and self.fromAction.output->forAll(incoming->isEmpty() and outgoing->isEmpty())) name="validateOwned" mode="Live" severity="ERROR" statusCode="200"> - <![CDATA[self.owner.oclIsKindOf(Activity)
+ <![CDATA[self.owner.oclIsKindOf(Activity) or self.owner.oclIsKindOf(ActivityGroup)]]> <description><![CDATA[Activity edges may be owned only by activities or groups.]]></description> <message><![CDATA[Activity edges may be owned only by activities or groups.]]></message> @@ -1926,7 +1926,7 @@ or self.owner.oclIsKindOf(ActivityGroup)]]> name="validateStructuredNode" mode="Live" severity="ERROR" statusCode="200"> - <![CDATA[true
+ <![CDATA[true -- constraint is checked by the model structure]]> <description><![CDATA[Activity edges may be owned by at most one structured node.]]></description> <message><![CDATA[Activity edges may be owned by at most one structured node.]]></message> @@ -1937,8 +1937,8 @@ or self.owner.oclIsKindOf(ActivityGroup)]]> name="validateHasSourceAndTarget" mode="Batch" severity="ERROR" statusCode="200"> - <![CDATA[-- This constraint is implemented separately for not being in live mode.
--- Other constraints have been relaxed to supprot null source and target
+ <![CDATA[-- This constraint is implemented separately for not being in live mode. +-- Other constraints have been relaxed to supprot null source and target not self.source.oclIsUndefined() and not self.target.oclIsUndefined()]]> <description><![CDATA[The source and target of an edge must be defined.]]></description> <message><![CDATA[The source and target of an edge must be defined.]]></message> @@ -1961,7 +1961,7 @@ not self.source.oclIsUndefined() and not self.target.oclIsUndefined()]]> name="validateNoActions" mode="Live" severity="ERROR" statusCode="200"> - <![CDATA[(self.source.oclIsUndefined() or not self.source.oclIsKindOf(Action))
+ <![CDATA[(self.source.oclIsUndefined() or not self.source.oclIsKindOf(Action)) and (self.target.oclIsUndefined() or not self.target.oclIsKindOf(Action))]]> <description><![CDATA[Object flows may not have actions at either end.]]></description> <message><![CDATA[You can not link an action with an object flow]]></message> @@ -2044,13 +2044,13 @@ and (self.target.oclIsUndefined() or not self.target.oclIsKindOf(Action))]]> name="validateObjectNodes" mode="Live" severity="ERROR" statusCode="200"> - <![CDATA[(self.source.oclIsUndefined() or
- (self.source.oclIsKindOf(ObjectNode) implies
- self.source.oclAsType(ObjectNode).isControlType)
-) and
-(self.target.oclIsUndefined() or
- (self.target.oclIsKindOf(ObjectNode) implies
- self.target.oclAsType(ObjectNode).isControlType)
+ <![CDATA[(self.source.oclIsUndefined() or + (self.source.oclIsKindOf(ObjectNode) implies + self.source.oclAsType(ObjectNode).isControlType) +) and +(self.target.oclIsUndefined() or + (self.target.oclIsKindOf(ObjectNode) implies + self.target.oclAsType(ObjectNode).isControlType) )]]> <description><![CDATA[Control flows may not have object nodes at either end, except for object nodes with control type]]></description> <message><![CDATA[You can not link an object node with a control flow (except if its control type is true).]]></message> @@ -2063,8 +2063,8 @@ and (self.target.oclIsUndefined() or not self.target.oclIsKindOf(Action))]]> name="validateIncomingOutgoingEdges" mode="Batch" severity="ERROR" statusCode="200"> - <![CDATA[self.outgoing->size() > 0 and
-self.incoming->size() > 0 and
+ <![CDATA[self.outgoing->size() > 0 and +self.incoming->size() > 0 and self.incoming->size() <= 2]]> <description><![CDATA[A decision node has one or two incoming edges and at least one outgoing edge.]]></description> <message><![CDATA[A decision node has one or two incoming edges and at least one outgoing edge.]]></message> @@ -2075,9 +2075,9 @@ self.incoming->size() <= 2]]> name="validateEdges" mode="Batch" severity="ERROR" statusCode="200"> - <![CDATA[(self.incoming->reject(i | i = self.decisionInputFlow)->forAll(oclIsKindOf(ObjectFlow)) and
- self.outgoing->forAll(oclIsKindOf(ObjectFlow)) ) or
-(self.incoming->reject(i | i = self.decisionInputFlow)->forAll(oclIsKindOf(ControlFlow)) and
+ <![CDATA[(self.incoming->reject(i | i = self.decisionInputFlow)->forAll(oclIsKindOf(ObjectFlow)) and + self.outgoing->forAll(oclIsKindOf(ObjectFlow)) ) or +(self.incoming->reject(i | i = self.decisionInputFlow)->forAll(oclIsKindOf(ControlFlow)) and self.outgoing->forAll(oclIsKindOf(ControlFlow)) )]]> <description><![CDATA[The edges coming into and out of a decision node, other than the decision input flow (if any), must be either all object flows or all control flows.]]></description> <message><![CDATA[Edges linking the decision node must have be of the same type (except decision input flow).]]></message> @@ -2088,7 +2088,7 @@ self.incoming->size() <= 2]]> name="validateDecisionInputFlowIncoming" mode="Live" severity="ERROR" statusCode="200"> - <![CDATA[(not self.decisionInputFlow.oclIsUndefined()) implies
+ <![CDATA[(not self.decisionInputFlow.oclIsUndefined()) implies self.incoming->includes(self.decisionInputFlow)]]> <description><![CDATA[The decisionInputFlow of a decision node must be an incoming edge of the decision node.]]></description> <message><![CDATA[The decisionInputFlow of a decision node must be an incoming edge of the decision node.]]></message> @@ -2099,12 +2099,12 @@ self.incoming->includes(self.decisionInputFlow)]]> name="validateParameters" mode="Live" severity="ERROR" statusCode="200"> - <![CDATA[(not self.decisionInput.oclIsUndefined()) implies (
-self.decisionInput.ownedParameter->select(
- direction = ParameterDirectionKind::out or
- direction = ParameterDirectionKind::inout)->size() = 0
-and self.decisionInput.ownedParameter->select(
- direction = ParameterDirectionKind::return)->size() = 1
+ <![CDATA[(not self.decisionInput.oclIsUndefined()) implies ( +self.decisionInput.ownedParameter->select( + direction = ParameterDirectionKind::out or + direction = ParameterDirectionKind::inout)->size() = 0 +and self.decisionInput.ownedParameter->select( + direction = ParameterDirectionKind::return)->size() = 1 )]]> <description><![CDATA[A decision input behavior has no output parameters, no in-out parameters and one return parameter.]]></description> <message><![CDATA[A decision input behavior has no output parameters, no in-out parameters and one return parameter.]]></message> @@ -2115,12 +2115,12 @@ and self.decisionInput.ownedParameter->select( name="validateZeroInputParameters" mode="Batch" severity="ERROR" statusCode="200"> - <![CDATA[(not self.decisionInput.oclIsUndefined()) implies (
- (self.decisionInputFlow.oclIsUndefined() and
- self.incoming->select(i | i.oclIsKindOf(ControlFlow))->size() = 1
- ) implies
- self.decisionInput.ownedParameter->select(
- direction = ParameterDirectionKind::_in)->size() = 0
+ <![CDATA[(not self.decisionInput.oclIsUndefined()) implies ( + (self.decisionInputFlow.oclIsUndefined() and + self.incoming->select(i | i.oclIsKindOf(ControlFlow))->size() = 1 + ) implies + self.decisionInput.ownedParameter->select( + direction = ParameterDirectionKind::_in)->size() = 0 )]]> <description><![CDATA[If the decision node has no decision input flow and an incoming control flow, then a decision input behavior has zero input parameters.]]></description> <message><![CDATA[If the decision node has no decision input flow and an incoming control flow, then a decision input behavior has zero input parameters.]]></message> @@ -2173,9 +2173,9 @@ and self.decisionInput.ownedParameter->select( name="validateEdges" mode="Batch" severity="ERROR" statusCode="200"> - <![CDATA[(self.outgoing->exists(e | e.oclIsKindOf(ObjectFlow)) implies
- self.incoming->forAll(e | e.oclIsKindOf(ObjectFlow))) and
-(self.outgoing->exists(e | e.oclIsKindOf(ControlFlow)) implies
+ <![CDATA[(self.outgoing->exists(e | e.oclIsKindOf(ObjectFlow)) implies + self.incoming->forAll(e | e.oclIsKindOf(ObjectFlow))) and +(self.outgoing->exists(e | e.oclIsKindOf(ControlFlow)) implies self.incoming->forAll(e | e.oclIsKindOf(ControlFlow)))]]> <description><![CDATA[The edges coming into and out of a merge node must be either all object flows or all control flows.]]></description> <message><![CDATA[The edges coming into and out of a merge node must be either all object flows or all control flows.]]></message> @@ -2198,9 +2198,9 @@ and self.decisionInput.ownedParameter->select( name="validateEdges" mode="Batch" severity="ERROR" statusCode="200"> - <![CDATA[(self.incoming->exists(e | e.oclIsKindOf(ObjectFlow)) implies
- self.outgoing->forAll(e | e.oclIsKindOf(ObjectFlow))) and
-(self.incoming->exists(e | e.oclIsKindOf(ControlFlow)) implies
+ <![CDATA[(self.incoming->exists(e | e.oclIsKindOf(ObjectFlow)) implies + self.outgoing->forAll(e | e.oclIsKindOf(ObjectFlow))) and +(self.incoming->exists(e | e.oclIsKindOf(ControlFlow)) implies self.outgoing->forAll(e | e.oclIsKindOf(ControlFlow)))]]> <description><![CDATA[The edges coming into and out of a fork node must be either all object flows or all control flows.]]></description> <message><![CDATA[The edges coming into and out of a fork node must be either all object flows or all control flows.]]></message> @@ -2223,9 +2223,9 @@ and self.decisionInput.ownedParameter->select( name="validateIncomingObjectFlow" mode="Batch" severity="ERROR" statusCode="200"> - <![CDATA[(self.incoming->select(e | e.oclIsKindOf(ObjectFlow))->notEmpty() implies
- self.outgoing->exists(e | e.oclIsKindOf(ObjectFlow))) and
-(self.incoming->select(e | e.oclIsKindOf(ObjectFlow))->isEmpty() implies
+ <![CDATA[(self.incoming->select(e | e.oclIsKindOf(ObjectFlow))->notEmpty() implies + self.outgoing->exists(e | e.oclIsKindOf(ObjectFlow))) and +(self.incoming->select(e | e.oclIsKindOf(ObjectFlow))->isEmpty() implies self.outgoing->exists(e | e.oclIsKindOf(ControlFlow)))]]> <description><![CDATA[If a join node has an incoming object flow, it must have an outgoing object flow, otherwise, it must have an outgoing control flow.]]></description> <message><![CDATA[If a join node has an incoming object flow, it must have an outgoing object flow, otherwise, it must have an outgoing control flow.]]></message> @@ -2238,7 +2238,7 @@ and self.decisionInput.ownedParameter->select( name="validateIncomingOrOutgoing" mode="Live" severity="ERROR" statusCode="200"> - <![CDATA[(self.incoming->notEmpty() implies self.outgoing->isEmpty()) and
+ <![CDATA[(self.incoming->notEmpty() implies self.outgoing->isEmpty()) and (self.outgoing->notEmpty() implies self.incoming->isEmpty())]]> <description><![CDATA[An activity parameter node must not have both incoming and outgoing edges.]]></description> <message><![CDATA[An activity parameter node must not have both incoming and outgoing edges.]]></message> @@ -2349,7 +2349,7 @@ and self.decisionInput.ownedParameter->select( name="validateValideTypeOwningFeature" mode="Batch" severity="ERROR" statusCode="200"> - <![CDATA[self.structuralFeature.featuringClassifier.oclAsType(Type)->includes(self.object.type) or
+ <![CDATA[self.structuralFeature.featuringClassifier.oclAsType(Type)->includes(self.object.type) or self.structuralFeature.oclAsType(Property).opposite.type = self.object.type]]> <description><![CDATA[Check that the structural feature must either be owned by the type of the object input pin, or it must be an owned end of a binary]]></description> <message><![CDATA[The structural feature must either be owned by the type of the object input pin, or it must be an owned end of a binary]]></message> @@ -2568,1905 +2568,1924 @@ self.structuralFeature.oclAsType(Property).opposite.type = self.object.type]]> </binding> </extension> -
-<extension point="org.eclipse.emf.validation.constraintProviders">
- <?gmfgen generated="false"?>
- <category id="org.eclipse.uml2.uml.util.UMLValidator.validate/pinAndParameterSynchronization" mandatory="false" name="validatePinAndParameterSynchronization">
- <![CDATA[Validate that Pin and corresponding Parameter are correctly synchronized]]>
- </category>
- <constraintProvider cache="true">
- <package namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML"/>
- <constraints categories="org.eclipse.uml2.uml.util.UMLValidator.validate/pinAndParameterSynchronization">
- <constraint id="org.eclipse.papyrus.uml.diagram.activity.helper.PinAndParameterSynchronizer"
- lang="Java"
- name="PinAndParameterSynchronizer"
- class="org.eclipse.papyrus.uml.diagram.activity.helper.PinAndParameterSynchronizer"
+ +<extension point="org.eclipse.emf.validation.constraintProviders"> + <?gmfgen generated="false"?> + <category id="org.eclipse.uml2.uml.util.UMLValidator.validate/pinAndParameterSynchronization" mandatory="false" name="validatePinAndParameterSynchronization"> + <![CDATA[Validate that Pin and corresponding Parameter are correctly synchronized]]> + </category> + <constraintProvider cache="true"> + <package namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML"/> + <constraints categories="org.eclipse.uml2.uml.util.UMLValidator.validate/pinAndParameterSynchronization"> + <constraint id="org.eclipse.papyrus.uml.diagram.activity.helper.PinAndParameterSynchronizer" + lang="Java" + name="PinAndParameterSynchronizer" + class="org.eclipse.papyrus.uml.diagram.activity.helper.PinAndParameterSynchronizer" mode="Live" severity="ERROR" statusCode="200"> - <description><![CDATA[Action's Pins and invoked object's Parameters are synchronized]]></description>
- <message><![CDATA[Action's Pins must correspond to the called object's Parameters]]></message>
- <target class="uml.Pin"/>
- <target class="uml.Parameter"/>
- <target class="uml.Property"/>
- <target class="uml.CallOperationAction"/>
- <target class="uml.Operation"/>
- <target class="uml.CallBehaviorAction"/>
- <target class="uml.Behavior"/>
- <target class="uml.ValueSpecification"/>
- <target class="uml.SendSignalAction"/>
- <target class="uml.Signal"/>
- <target class="uml.SendObjectAction"/>
- <target class="uml.BroadcastSignalAction"/>
+ <description><![CDATA[Action's Pins and invoked object's Parameters are synchronized]]></description> + <message><![CDATA[Action's Pins must correspond to the called object's Parameters]]></message> + <target class="uml.Pin"/> + <target class="uml.Parameter"/> + <target class="uml.Property"/> + <target class="uml.CallOperationAction"/> + <target class="uml.Operation"/> + <target class="uml.CallBehaviorAction"/> + <target class="uml.Behavior"/> + <target class="uml.ValueSpecification"/> + <target class="uml.SendSignalAction"/> + <target class="uml.Signal"/> + <target class="uml.SendObjectAction"/> + <target class="uml.BroadcastSignalAction"/> </constraint> - </constraints>
- </constraintProvider>
- </extension>
-
- <extension point="org.eclipse.emf.validation.constraintBindings">
- <?gmfgen generated="false"?>
- <clientContext default="false" id="org.eclipse.papyrus.uml.diagram.activityDefaultCtx">
- <selector class="org.eclipse.papyrus.uml.diagram.activity.providers.UMLValidationProvider$DefaultCtx"/>
- </clientContext>
- <binding context="org.eclipse.papyrus.uml.diagram.activityDefaultCtx">
- <constraint ref="org.eclipse.papyrus.uml.diagram.activity.helper.PinAndParameterSynchronizer"/>
- </binding>
-
- </extension>
-
- <extension point="org.eclipse.emf.validation.constraintProviders">
- <?gmfgen generated="false"?>
- <category id="org.eclipse.uml2.uml.util.UMLValidator.validate/activityParameterAndParameterSynchronization" mandatory="false" name="synchronizeActivityParameterAndParameter">
- <![CDATA[Validate that Activity Parameter Node and corresponding Parameter type are correctly synchronized]]>
- </category>
- <constraintProvider cache="true">
- <package namespaceUri="http://www.eclipse.org/uml2/3.0.0/UML"/>
- <constraints categories="org.eclipse.uml2.uml.util.UMLValidator.validate/activityParameterAndParameterSynchronization">
- <constraint id="org.eclipse.papyrus.uml.diagram.activity.helper.ActivityParameterAndParameterSynchronizer"
- lang="Java"
- name="ActivityParameterAndParameterSynchronizer"
- class="org.eclipse.papyrus.uml.diagram.activity.helper.ActivityParameterAndParameterSynchronizer"
+ </constraints> + </constraintProvider> + </extension> + + <extension point="org.eclipse.emf.validation.constraintBindings"> + <?gmfgen generated="false"?> + <clientContext default="false" id="org.eclipse.papyrus.uml.diagram.activityDefaultCtx"> + <selector class="org.eclipse.papyrus.uml.diagram.activity.providers.UMLValidationProvider$DefaultCtx"/> + </clientContext> + <binding context="org.eclipse.papyrus.uml.diagram.activityDefaultCtx"> + <constraint ref="org.eclipse.papyrus.uml.diagram.activity.helper.PinAndParameterSynchronizer"/> + </binding> + + </extension> + + <extension point="org.eclipse.emf.validation.constraintProviders"> + <?gmfgen generated="false"?> + <category id="org.eclipse.uml2.uml.util.UMLValidator.validate/activityParameterAndParameterSynchronization" mandatory="false" name="synchronizeActivityParameterAndParameter"> + <![CDATA[Validate that Activity Parameter Node and corresponding Parameter type are correctly synchronized]]> + </category> + <constraintProvider cache="true"> + <package namespaceUri="http://www.eclipse.org/uml2/3.0.0/UML"/> + <constraints categories="org.eclipse.uml2.uml.util.UMLValidator.validate/activityParameterAndParameterSynchronization"> + <constraint id="org.eclipse.papyrus.uml.diagram.activity.helper.ActivityParameterAndParameterSynchronizer" + lang="Java" + name="ActivityParameterAndParameterSynchronizer" + class="org.eclipse.papyrus.uml.diagram.activity.helper.ActivityParameterAndParameterSynchronizer" mode="Live" severity="ERROR" statusCode="200"> - <description><![CDATA[Validate that Activity Parameter Node and corresponding Parameter type are correctly synchronized]]></description>
- <message>Activity parameter node must be synchronized with its parameter.</message>
- <target class="uml.Activity"/>
- <target class="uml.Parameter"/>
- <target class="uml.ActivityParameterNode"/>
+ <description><![CDATA[Validate that Activity Parameter Node and corresponding Parameter type are correctly synchronized]]></description> + <message>Activity parameter node must be synchronized with its parameter.</message> + <target class="uml.Activity"/> + <target class="uml.Parameter"/> + <target class="uml.ActivityParameterNode"/> </constraint> - </constraints>
- </constraintProvider>
- </extension>
-
- <extension point="org.eclipse.emf.validation.constraintBindings">
- <?gmfgen generated="false"?>
- <clientContext default="false" id="org.eclipse.papyrus.uml.diagram.activityDefaultCtx">
- <selector class="org.eclipse.papyrus.uml.diagram.activity.providers.UMLValidationProvider$DefaultCtx"/>
- </clientContext>
- <binding context="org.eclipse.papyrus.uml.diagram.activityDefaultCtx">
- <constraint ref="org.eclipse.papyrus.uml.diagram.activity.helper.ActivityParameterAndParameterSynchronizer"/>
- </binding>
-
- </extension>
-
- <extension
- point="org.eclipse.ui.views.properties.tabbed.propertySections">
- <propertySections
- contributorId="TreeOutlinePage">
- <propertySection
- class="org.eclipse.papyrus.uml.diagram.activity.tabbedproperties.appearance.SwitchSegmentDirectionSection"
- filter="org.eclipse.papyrus.uml.diagram.activity.tabbedproperties.appearance.SwitchSegmentDirectionSectionFilter"
- id="org.eclipse.papyrus.tabbedproperties.appearance.switchSegmentDirectionSection"
- tab="org.eclipse.papyrus.tabbedproperties.appearance.appearancetab">
- </propertySection>
- </propertySections>
- </extension>
- <!--
- <extension
- point="org.eclipse.papyrus.uml.diagram.common.groups.groupcontainment"
- name="ActivityGroup"
- id="org.eclipse.papyrus.uml.diagram.activity.activitygroup">
- <modelContainer editPartType="org.eclipse.papyrus.uml.diagram.activity.edit.parts.StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart"
- descriptor="org.eclipse.papyrus.uml.diagram.activity.groupcontainment.StructuredActivityNodeContainment"/>
- <modelContainer
- descriptor="org.eclipse.papyrus.uml.diagram.activity.groupcontainment.ConditionalNodeContainment"
- editPartType="org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConditionalNodeStructuredActivityNodeContentCompartmentEditPart">
- </modelContainer>
- <modelContainer
- descriptor="org.eclipse.papyrus.uml.diagram.activity.groupcontainment.ExpansionRegionContainment"
- editPartType="org.eclipse.papyrus.uml.diagram.activity.edit.parts.ExpansionRegionStructuredActivityNodeContentCompartmentEditPart">
- </modelContainer>
- <modelContainer
- descriptor="org.eclipse.papyrus.uml.diagram.activity.groupcontainment.LoopNodeContainment"
- editPartType="org.eclipse.papyrus.uml.diagram.activity.edit.parts.LoopNodeStructuredActivityNodeContentCompartmentEditPart">
- </modelContainer>
- <modelContainer
- descriptor="org.eclipse.papyrus.uml.diagram.activity.groupcontainment.SequenceNodeContainment"
- editPartType="org.eclipse.papyrus.uml.diagram.activity.edit.parts.SequenceNodeStructuredActivityNodeContentCompartmentEditPart">
- </modelContainer>
- <referenceContainer
- descriptor="org.eclipse.papyrus.uml.diagram.activity.groupcontainment.InterruptibleActivityRegionContainment"
- editPartType="org.eclipse.papyrus.uml.diagram.activity.edit.parts.InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart"/>
- <referenceContainer
- descriptor="org.eclipse.papyrus.uml.diagram.activity.groupcontainment.ActivityPartitionContainment"
- editPartType="org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityPartitionActivityPartitionContentCompartmentEditPart"/>
- </extension>
- -->
-<extension id="validationDecoratorProvider" name="ValidationDecorations" point="org.eclipse.gmf.runtime.diagram.ui.decoratorProviders">
- <?gmfgen generated="true"?>
- <decoratorProvider class="org.eclipse.papyrus.uml.diagram.activity.providers.UMLValidationDecoratorProvider">
- <Priority name="Lowest"/>
- <object class="org.eclipse.gmf.runtime.diagram.ui.editparts.IPrimaryEditPart(org.eclipse.gmf.runtime.diagram.ui)" id="PRIMARY_VIEW"/>
- <context decoratorTargets="PRIMARY_VIEW"/>
- </decoratorProvider>
- </extension>
-
+ </constraints> + </constraintProvider> + </extension> + + <extension point="org.eclipse.emf.validation.constraintBindings"> + <?gmfgen generated="false"?> + <clientContext default="false" id="org.eclipse.papyrus.uml.diagram.activityDefaultCtx"> + <selector class="org.eclipse.papyrus.uml.diagram.activity.providers.UMLValidationProvider$DefaultCtx"/> + </clientContext> + <binding context="org.eclipse.papyrus.uml.diagram.activityDefaultCtx"> + <constraint ref="org.eclipse.papyrus.uml.diagram.activity.helper.ActivityParameterAndParameterSynchronizer"/> + </binding> + + </extension> + + <extension + point="org.eclipse.ui.views.properties.tabbed.propertySections"> + <propertySections + contributorId="TreeOutlinePage"> + <propertySection + class="org.eclipse.papyrus.uml.diagram.activity.tabbedproperties.appearance.SwitchSegmentDirectionSection" + filter="org.eclipse.papyrus.uml.diagram.activity.tabbedproperties.appearance.SwitchSegmentDirectionSectionFilter" + id="org.eclipse.papyrus.tabbedproperties.appearance.switchSegmentDirectionSection" + tab="org.eclipse.papyrus.tabbedproperties.appearance.appearancetab"> + </propertySection> + </propertySections> + </extension> + <!-- + <extension + point="org.eclipse.papyrus.uml.diagram.common.groups.groupcontainment" + name="ActivityGroup" + id="org.eclipse.papyrus.uml.diagram.activity.activitygroup"> + <modelContainer editPartType="org.eclipse.papyrus.uml.diagram.activity.edit.parts.StructuredActivityNodeStructuredActivityNodeContentCompartmentEditPart" + descriptor="org.eclipse.papyrus.uml.diagram.activity.groupcontainment.StructuredActivityNodeContainment"/> + <modelContainer + descriptor="org.eclipse.papyrus.uml.diagram.activity.groupcontainment.ConditionalNodeContainment" + editPartType="org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConditionalNodeStructuredActivityNodeContentCompartmentEditPart"> + </modelContainer> + <modelContainer + descriptor="org.eclipse.papyrus.uml.diagram.activity.groupcontainment.ExpansionRegionContainment" + editPartType="org.eclipse.papyrus.uml.diagram.activity.edit.parts.ExpansionRegionStructuredActivityNodeContentCompartmentEditPart"> + </modelContainer> + <modelContainer + descriptor="org.eclipse.papyrus.uml.diagram.activity.groupcontainment.LoopNodeContainment" + editPartType="org.eclipse.papyrus.uml.diagram.activity.edit.parts.LoopNodeStructuredActivityNodeContentCompartmentEditPart"> + </modelContainer> + <modelContainer + descriptor="org.eclipse.papyrus.uml.diagram.activity.groupcontainment.SequenceNodeContainment" + editPartType="org.eclipse.papyrus.uml.diagram.activity.edit.parts.SequenceNodeStructuredActivityNodeContentCompartmentEditPart"> + </modelContainer> + <referenceContainer + descriptor="org.eclipse.papyrus.uml.diagram.activity.groupcontainment.InterruptibleActivityRegionContainment" + editPartType="org.eclipse.papyrus.uml.diagram.activity.edit.parts.InterruptibleActivityRegionInterruptibleActivityRegionContentCompartmentEditPart"/> + <referenceContainer + descriptor="org.eclipse.papyrus.uml.diagram.activity.groupcontainment.ActivityPartitionContainment" + editPartType="org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActivityPartitionActivityPartitionContentCompartmentEditPart"/> + </extension> + --> +<extension id="validationDecoratorProvider" name="ValidationDecorations" point="org.eclipse.gmf.runtime.diagram.ui.decoratorProviders"> + <?gmfgen generated="true"?> + <decoratorProvider class="org.eclipse.papyrus.uml.diagram.activity.providers.UMLValidationDecoratorProvider"> + <Priority name="Lowest"/> + <object class="org.eclipse.gmf.runtime.diagram.ui.editparts.IPrimaryEditPart(org.eclipse.gmf.runtime.diagram.ui)" id="PRIMARY_VIEW"/> + <context decoratorTargets="PRIMARY_VIEW"/> + </decoratorProvider> + </extension> + <extension point="org.eclipse.emf.validation.ui.UIRegisteredClientContext"> <?gmfgen generated="true"?> <clientContext id="org.eclipse.papyrus.uml.diagram.activityDefaultCtx"/> </extension> -
-<extension point="org.eclipse.ui.preferencePages">
-
-
-
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ShapeNamedElementPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ShapeNamedElementPreferencePage"
- name="ShapeNamedElement Node" />
+ +<extension point="org.eclipse.ui.preferencePages"> + + + + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ShapeNamedElementPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ShapeNamedElementPreferencePage" + name="ShapeNamedElement Node" /> + + + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.TimeConstraintPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.TimeConstraintPreferencePage" + name="TimeConstraint Node" /> + + + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ExpansionNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ExpansionNodePreferencePage" + name="ExpansionNode Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.TimeConstraintPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.TimeConstraintPreferencePage"
- name="TimeConstraint Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ValuePinPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ValuePinPreferencePage" + name="ValuePin Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ExpansionNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ExpansionNodePreferencePage"
- name="ExpansionNode Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.CentralBufferNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.CentralBufferNodePreferencePage" + name="CentralBufferNode Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ValuePinPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ValuePinPreferencePage"
- name="ValuePin Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ReadStructuralFeatureActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ReadStructuralFeatureActionPreferencePage" + name="ReadStructuralFeatureAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.CentralBufferNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.CentralBufferNodePreferencePage"
- name="CentralBufferNode Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.LoopNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.LoopNodePreferencePage" + name="LoopNode Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ReadStructuralFeatureActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ReadStructuralFeatureActionPreferencePage"
- name="ReadStructuralFeatureAction Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.MergeNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.MergeNodePreferencePage" + name="MergeNode Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.LoopNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.LoopNodePreferencePage"
- name="LoopNode Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ActionInputPinPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ActionInputPinPreferencePage" + name="ActionInputPin Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.MergeNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.MergeNodePreferencePage"
- name="MergeNode Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.CreateObjectActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.CreateObjectActionPreferencePage" + name="CreateObjectAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ActionInputPinPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ActionInputPinPreferencePage"
- name="ActionInputPin Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.CallOperationActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.CallOperationActionPreferencePage" + name="CallOperationAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.CreateObjectActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.CreateObjectActionPreferencePage"
- name="CreateObjectAction Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.CallBehaviorActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.CallBehaviorActionPreferencePage" + name="CallBehaviorAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.CallOperationActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.CallOperationActionPreferencePage"
- name="CallOperationAction Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.BroadcastSignalActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.BroadcastSignalActionPreferencePage" + name="BroadcastSignalAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.CallBehaviorActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.CallBehaviorActionPreferencePage"
- name="CallBehaviorAction Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityPartitionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityPartitionPreferencePage" + name="ActivityPartition Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.BroadcastSignalActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.BroadcastSignalActionPreferencePage"
- name="BroadcastSignalAction Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.InputPinPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.InputPinPreferencePage" + name="InputPin Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityPartitionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityPartitionPreferencePage"
- name="ActivityPartition Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.SendObjectActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.SendObjectActionPreferencePage" + name="SendObjectAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.InputPinPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.InputPinPreferencePage"
- name="InputPin Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.InitialNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.InitialNodePreferencePage" + name="InitialNode Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.SendObjectActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.SendObjectActionPreferencePage"
- name="SendObjectAction Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.OutputPinPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.OutputPinPreferencePage" + name="OutputPin Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.InitialNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.InitialNodePreferencePage"
- name="InitialNode Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.AddVariableValueActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.AddVariableValueActionPreferencePage" + name="AddVariableValueAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.OutputPinPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.OutputPinPreferencePage"
- name="OutputPin Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.CommentPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.CommentPreferencePage" + name="Comment Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.AddVariableValueActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.AddVariableValueActionPreferencePage"
- name="AddVariableValueAction Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.DurationConstraintPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.DurationConstraintPreferencePage" + name="DurationConstraint Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.CommentPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.CommentPreferencePage"
- name="Comment Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.StructuredActivityNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.StructuredActivityNodePreferencePage" + name="StructuredActivityNode Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.DurationConstraintPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.DurationConstraintPreferencePage"
- name="DurationConstraint Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.SequenceNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.SequenceNodePreferencePage" + name="SequenceNode Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.StructuredActivityNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.StructuredActivityNodePreferencePage"
- name="StructuredActivityNode Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityParameterNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityParameterNodePreferencePage" + name="ActivityParameterNode Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.SequenceNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.SequenceNodePreferencePage"
- name="SequenceNode Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityPreferencePage" + name="Activity Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityParameterNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityParameterNodePreferencePage"
- name="ActivityParameterNode Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.OpaqueActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.OpaqueActionPreferencePage" + name="OpaqueAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityPreferencePage"
- name="Activity Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.DecisionNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.DecisionNodePreferencePage" + name="DecisionNode Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.OpaqueActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.OpaqueActionPreferencePage"
- name="OpaqueAction Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ValueSpecificationActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ValueSpecificationActionPreferencePage" + name="ValueSpecificationAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.DecisionNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.DecisionNodePreferencePage"
- name="DecisionNode Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.JoinNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.JoinNodePreferencePage" + name="JoinNode Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ValueSpecificationActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ValueSpecificationActionPreferencePage"
- name="ValueSpecificationAction Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ConstraintPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ConstraintPreferencePage" + name="Constraint Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.JoinNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.JoinNodePreferencePage"
- name="JoinNode Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.SendSignalActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.SendSignalActionPreferencePage" + name="SendSignalAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ConstraintPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ConstraintPreferencePage"
- name="Constraint Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.FlowFinalNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.FlowFinalNodePreferencePage" + name="FlowFinalNode Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.SendSignalActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.SendSignalActionPreferencePage"
- name="SendSignalAction Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.InterruptibleActivityRegionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.InterruptibleActivityRegionPreferencePage" + name="InterruptibleActivityRegion Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.FlowFinalNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.FlowFinalNodePreferencePage"
- name="FlowFinalNode Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.IntervalConstraintPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.IntervalConstraintPreferencePage" + name="IntervalConstraint Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.InterruptibleActivityRegionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.InterruptibleActivityRegionPreferencePage"
- name="InterruptibleActivityRegion Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ReadSelfActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ReadSelfActionPreferencePage" + name="ReadSelfAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.IntervalConstraintPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.IntervalConstraintPreferencePage"
- name="IntervalConstraint Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.DataStoreNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.DataStoreNodePreferencePage" + name="DataStoreNode Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ReadSelfActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ReadSelfActionPreferencePage"
- name="ReadSelfAction Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityFinalNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityFinalNodePreferencePage" + name="ActivityFinalNode Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.DataStoreNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.DataStoreNodePreferencePage"
- name="DataStoreNode Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ReadVariableActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ReadVariableActionPreferencePage" + name="ReadVariableAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityFinalNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ActivityFinalNodePreferencePage"
- name="ActivityFinalNode Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ParameterPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ParameterPreferencePage" + name="Parameter Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ReadVariableActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ReadVariableActionPreferencePage"
- name="ReadVariableAction Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ExpansionRegionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ExpansionRegionPreferencePage" + name="ExpansionRegion Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ParameterPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ParameterPreferencePage"
- name="Parameter Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.AcceptEventActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.AcceptEventActionPreferencePage" + name="AcceptEventAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ExpansionRegionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ExpansionRegionPreferencePage"
- name="ExpansionRegion Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.DestroyObjectActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.DestroyObjectActionPreferencePage" + name="DestroyObjectAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.AcceptEventActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.AcceptEventActionPreferencePage"
- name="AcceptEventAction Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.AddStructuralFeatureValueActionPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.AddStructuralFeatureValueActionPreferencePage" + name="AddStructuralFeatureValueAction Node" /> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.DestroyObjectActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.DestroyObjectActionPreferencePage"
- name="DestroyObjectAction Node" />
+ + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ForkNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ForkNodePreferencePage" + name="ForkNode Node" /> + + + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ConditionalNodePreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ConditionalNodePreferencePage" + name="ConditionalNode Node" /> + + + + + + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ControlFlowPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ControlFlowPreferencePage" + name="ControlFlow Link" /> + + + + + + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ExceptionHandlerPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ExceptionHandlerPreferencePage" + name="ExceptionHandler Link" /> + + + + <?gmfgen generated="true"?> + <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram" + class="org.eclipse.papyrus.uml.diagram.activity.preferences.ObjectFlowPreferencePage" + id="org.eclipse.papyrus.uml.diagram.activity.preferences.ObjectFlowPreferencePage" + name="ObjectFlow Link" /> + + +</extension> +<extension + id="Papyrus activity editor Plugin.palettedefinition" + name="Papyrus activity editor Plugin Predefined Entries" + point="org.eclipse.gmf.runtime.diagram.ui.paletteProviders"> + + <?gmfgen generated="true"?> + <paletteProvider class="org.eclipse.gmf.runtime.diagram.ui.providers.DefaultPaletteProvider"> + <Priority name="Lowest"/> + <contribution + factoryClass="org.eclipse.papyrus.uml.diagram.activity.part.UMLPaletteFactory"> + <predefinedEntry id="standardGroup/noteStack/noteTool" remove="true"/> + <predefinedEntry id="standardGroup/noteStack/textTool" remove="true"/> + <predefinedEntry id="standardGroup/noteStack/noteattachmentTool" remove="true"/> + <entry + defineOnly="true" + description="Create an Activity Partition" + id="createActivityPartition1CreationTool" + kind="tool" + label="Activity Partition" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityPartition.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityPartition.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Interruptible Activity Region" + id="createInterruptibleActivityRegion2CreationTool" + kind="tool" + label="Interruptible Activity Region" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InterruptibleActivityRegion.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InterruptibleActivityRegion.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Initial node" + id="createInitialnode1CreationTool" + kind="tool" + label="Initial node" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InitialNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InitialNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Activity final node" + id="createActivityfinal2CreationTool" + kind="tool" + label="Activity final" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityFinalNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityFinalNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Flow final node" + id="createFlowfinal3CreationTool" + kind="tool" + label="Flow final" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/FlowFinalNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/FlowFinalNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Decision node" + id="createDecisionnode4CreationTool" + kind="tool" + label="Decision node" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DecisionNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DecisionNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Merge node" + id="createMergenode5CreationTool" + kind="tool" + label="Merge node" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/MergeNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/MergeNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Merge node" + id="createJoinnode6CreationTool" + kind="tool" + label="Join node" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/JoinNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/JoinNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Fork node" + id="createForknode7CreationTool" + kind="tool" + label="Fork node" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ForkNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ForkNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Activity" + id="createActivity1CreationTool" + kind="tool" + label="Activity" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Activity.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Activity.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Activity Parameter Node" + id="createActivityParameterNode2CreationTool" + kind="tool" + label="Activity Parameter Node" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityParameterNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityParameterNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Central Buffer Node" + id="createCentralBufferNode3CreationTool" + kind="tool" + label="Central Buffer Node" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Data Store Node" + id="createDataStoreNode4CreationTool" + kind="tool" + label="Data Store Node" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Comment" + id="createComment5CreationTool" + kind="tool" + label="Comment" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Cosntraint" + id="createConstraint6CreationTool" + kind="tool" + label="Constraint" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Control Flow" + id="createControlFlow1CreationTool" + kind="tool" + label="Control Flow" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Exception Handler" + id="createExceptionHandler2CreationTool" + kind="tool" + label="Exception Handler" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExceptionHandler.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExceptionHandler.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Object Flow" + id="createObjectFlow3CreationTool" + kind="tool" + label="Object Flow" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ObjectFlow.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ObjectFlow.gif"> + </entry> + <entry + defineOnly="true" + description="Create of a link for comment" + id="createLink4CreationTool" + kind="tool" + label="Link" + large_icon="icons/obj16/Link.gif" + path="" + small_icon="icons/obj16/Link.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Constraint as Local Precondition for an Action" + id="createLocalPreconditionConstraint1CreationTool" + kind="tool" + label="Local Precondition Constraint" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Interval Constraint as Local Precondition for an Action" + id="createLocalPreconditionIntervalConstraint3CreationTool" + kind="tool" + label="Local Precondition Interval Constraint" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Duration Constraint as Local Precondition for an Action" + id="createLocalPreconditionDurationConstraint4CreationTool" + kind="tool" + label="Local Precondition Duration Constraint" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Time Constraint as Local Precondition for an Action" + id="createLocalPreconditionTimeConstraint5CreationTool" + kind="tool" + label="Local Precondition Time Constraint" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Constraint as Local Postcondition for an Action" + id="createLocalPostconditionConstraint6CreationTool" + kind="tool" + label="Local Postcondition Constraint" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Interval Constraint as Local Postcondition for an Action" + id="createLocalPostconditionIntervalConstraint8CreationTool" + kind="tool" + label="Local Postcondition Interval Constraint" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Duration Constraint as Local Postcondition for an Action" + id="createLocalPostconditionDurationConstraint9CreationTool" + kind="tool" + label="Local Postcondition Duration Constraint" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Time Constraint as Local Postcondition for an Action" + id="createLocalPostconditionTimeConstraint10CreationTool" + kind="tool" + label="Local Postcondition Time Constraint" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Output Pin" + id="createOutputPin1CreationTool" + kind="tool" + label="Output Pin" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/OutputPin.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/OutputPin.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Input Pin" + id="createInputPin2CreationTool" + kind="tool" + label="Input Pin" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InputPin.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InputPin.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Action Input Pin" + id="createActionInputPin3CreationTool" + kind="tool" + label="Action Input Pin" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionInputPin.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionInputPin.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Value Pin" + id="createValuePin4CreationTool" + kind="tool" + label="Value Pin" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ValuePin.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ValuePin.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Expansion Region" + id="createExpansionRegion1CreationTool" + kind="tool" + label="Expansion Region" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionRegion.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionRegion.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Expansion Node as Input of an Expansion Region" + id="createInputExpansionNode2CreationTool" + kind="tool" + label="Input Expansion Node" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Expansion Node as Output of an Expansion Region" + id="createOutputExpansionNode3CreationTool" + kind="tool" + label="Output Expansion Node" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Broadcast Signal Action" + id="createBroadcastSignalAction1CreationTool" + kind="tool" + label="Broadcast Signal Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/BroadcastSignalAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/BroadcastSignalAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Call Behavior Action node" + id="createCallBehaviorAction2CreationTool" + kind="tool" + label="Call Behavior Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/CallBehaviorAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/CallBehaviorAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Call Operation Action node" + id="createCallOperationAction3CreationTool" + kind="tool" + label="Call Operation Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/CallOperationAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/CallOperationAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Send Object Action node" + id="createSendObjectAction4CreationTool" + kind="tool" + label="Send Object Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/SendObjectAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/SendObjectAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Send Signal Action node" + id="createSendSignalAction5CreationTool" + kind="tool" + label="Send Signal Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Create Object Action" + id="createCreateObjectAction1CreationTool" + kind="tool" + label="Create Object Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateObjectAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateObjectAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Destroy Object Action" + id="createDestroyObjectAction2CreationTool" + kind="tool" + label="Destroy Object Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyObjectAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyObjectAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create a ReadSelfAction" + id="createReadSelfAction3CreationTool" + kind="tool" + label="ReadSelfAction" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadSelfAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadSelfAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Structured Activity Node" + id="createStructuredActivityNode1CreationTool" + kind="tool" + label="Structured Activity Node" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/StructuredActivityNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/StructuredActivityNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Loop Node" + id="createLoopNode2CreationTool" + kind="tool" + label="Loop Node" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/LoopNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/LoopNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Sequence Node" + id="createSequenceNode3CreationTool" + kind="tool" + label="Sequence Node" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/SequenceNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/SequenceNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Conditional Node" + id="createConditionalNode4CreationTool" + kind="tool" + label="Conditional Node" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ConditionalNode.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ConditionalNode.gif"> + </entry> + <entry + defineOnly="true" + description="Create Read Structural Feature Action" + id="createReadStructuralFeatureAction1CreationTool" + kind="tool" + label="Read Structural Feature Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create Add Structural Feature Value Action" + id="createAddStructuralFeatureValueAction2CreationTool" + kind="tool" + label="Add Structural Feature Value Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create Add Structural Feature Value Action" + id="createAddStructuralFeatureValueAction3CreationTool" + kind="tool" + label="Add Structural Feature Value Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create Read Structural Feature Action" + id="createReadStructuralFeatureAction4CreationTool" + kind="tool" + label="Read Structural Feature Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create Add Variable Value Action" + id="createAddVariableValueAction1CreationTool" + kind="tool" + label="Add Variable Value Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AddVariableValueAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AddVariableValueAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Read Variable Action" + id="createReadVariableAction2CreationTool" + kind="tool" + label="Read Variable Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadVariableAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadVariableAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Opaque Action node" + id="createOpaqueAction1CreationTool" + kind="tool" + label="Opaque Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create a Value Specification Action node" + id="createValueSpecificationAction2CreationTool" + kind="tool" + label="Value Specification Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ValueSpecificationAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ValueSpecificationAction.gif"> + </entry> + <entry + defineOnly="true" + description="Create an Accept Event Action node" + id="createAcceptEventAction1CreationTool" + kind="tool" + label="Accept Event Action" + large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptEventAction.gif" + path="" + small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptEventAction.gif"> + </entry> + + </contribution> + </paletteProvider> + + </extension> + + +<extension + point="org.eclipse.gmf.runtime.diagram.ui.editpolicyProviders"> + <editpolicyProvider + class="org.eclipse.papyrus.uml.diagram.activity.activitygroup.GroupEditPolicyProvider"> + <Priority + name="Low"> + </Priority> + </editpolicyProvider> +</extension> +<extension + point="org.eclipse.emf.transaction.listeners"> + <listener + class="org.eclipse.papyrus.uml.diagram.activity.listeners.InterruptibleEdgeListener"> + <editingDomain + id="org.eclipse.papyrus.SharedEditingDomainID"> + </editingDomain></listener> + <listener + class="org.eclipse.papyrus.uml.diagram.activity.listeners.ExceptionHandlerListener"> + <editingDomain + id="org.eclipse.papyrus.SharedEditingDomainID"> + </editingDomain> + </listener> + <listener + class="org.eclipse.papyrus.uml.diagram.activity.listeners.InInterruptibleActivityRegionListener"> + <editingDomain + id="org.eclipse.papyrus.SharedEditingDomainID"> + </editingDomain> + </listener> + <listener + class="org.eclipse.papyrus.uml.diagram.activity.listeners.ObjectNodeListener"> + <editingDomain + id="org.eclipse.papyrus.SharedEditingDomainID"> + </editingDomain> + </listener> + <listener + class="org.eclipse.papyrus.uml.diagram.activity.listeners.ObjectFlowListener"> + <editingDomain + id="org.eclipse.papyrus.SharedEditingDomainID"> + </editingDomain> + </listener> + </extension> + + <extension + point="org.eclipse.gmf.runtime.diagram.ui.editpartProviders"> + <editpartProvider + class="org.eclipse.papyrus.uml.diagram.activity.providers.CustomUMLEditPartProvider"> + <Priority + name="Highest"> + </Priority> + <object + class="org.eclipse.gmf.runtime.notation.Diagram" + id="generated-diagram"> + <method + name="getType()" + value="PapyrusUMLActivityDiagram"> + </method> + </object> + <object + class="org.eclipse.gmf.runtime.notation.Node" + id="generated-nodes"> + <method + name="getType()"> + </method> + </object> + <object + class="org.eclipse.gmf.runtime.notation.Edge" + id="generated-links"> + <method + name="getType()"> + </method> + </object> + <object + class="org.eclipse.gmf.runtime.notation.Node" + id="generated-labels"> + <method + name="getType()"> + </method> + </object> + <object + class="org.eclipse.gmf.runtime.notation.Node" + id="generated-compartments"> + <method + name="getType()"> + </method> + </object> + <context + views="generated-diagram,generated-nodes,generated-links,generated-labels,generated-compartments"> + </context> + </editpartProvider> +</extension> + +<extension point="org.eclipse.gmf.runtime.diagram.core.viewProviders" id="view-provider"> + <viewProvider class="org.eclipse.papyrus.uml.diagram.activity.providers.CustomUMLViewProvider"> + <Priority name="Medium"/> + <context viewClass="org.eclipse.gmf.runtime.notation.Diagram" semanticHints="PapyrusUMLActivityDiagram"/> + <context viewClass="org.eclipse.gmf.runtime.notation.Node"/> + <context viewClass="org.eclipse.gmf.runtime.notation.Edge"/> + </viewProvider> + </extension> + + + <extension + point="org.eclipse.ui.commands"> + <command + description="Synchronize pins and parameters" + categoryId="org.eclipse.papyrus.editor.category" + id="org.eclipse.papyrus.uml.diagram.activity.SynchronizePinsParametersCommand" + name="Synchronize pins and parameters"> + </command> + </extension> + +<extension + point="org.eclipse.ui.commands"> + <command + categoryId="org.eclipse.papyrus.editor.category" + description="Global Synchronize pins and parameters" + id="org.eclipse.papyrus.uml.diagram.activity.GlobalSynchronizePinsParametersCommand" + name="Global Synchronize pins and parameters"> + </command> +</extension> + +<extension + point="org.eclipse.ui.handlers"> + <handler + class="org.eclipse.papyrus.uml.diagram.activity.handlers.SynchronizePinsParametersHandler" + commandId="org.eclipse.papyrus.uml.diagram.activity.SynchronizePinsParametersCommand"> + </handler> + </extension> + +<extension + point="org.eclipse.ui.handlers"> + <handler + class="org.eclipse.papyrus.uml.diagram.activity.handlers.GlobalSynchronizePinsParametersHandler" + commandId="org.eclipse.papyrus.uml.diagram.activity.GlobalSynchronizePinsParametersCommand"> + </handler> +</extension> + +<!-- Defnition for seleciton is call action and editor is papyrus --> + <extension + point="org.eclipse.core.expressions.definitions"> -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.AddStructuralFeatureValueActionPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.AddStructuralFeatureValueActionPreferencePage"
- name="AddStructuralFeatureValueAction Node" />
+ <definition id="org.eclipse.papyrus.diagram.common.IsCallAction"> + <and> + -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ForkNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ForkNodePreferencePage"
- name="ForkNode Node" />
+ <with variable="selection"> + <test property="org.eclipse.papyrus.UMLCallActionTester.isCallAction" value="true" + forcePluginActivation="true"/> + </with> + + </and> + </definition> + </extension> + +<!--Test for selection of a call Action --> + <extension + point="org.eclipse.core.expressions.propertyTesters"> + <propertyTester + class="org.eclipse.papyrus.uml.diagram.activity.testers.UMLCallActionTester" + id="org.eclipse.papyrus.UMLCallActionTester" + namespace="org.eclipse.papyrus.UMLCallActionTester" + properties="isCallAction" + type="org.eclipse.jface.viewers.ISelection"> + </propertyTester> + </extension> + +<extension + point="org.eclipse.ui.menus"> + + <menuContribution locationURI="popup:org.eclipse.gmf.runtime.diagram.ui.DiagramEditorContextMenu?endof=fileMenu" + allPopups="false"> + <command + commandId="org.eclipse.papyrus.uml.diagram.activity.SynchronizePinsParametersCommand" + icon="icons/obj16/RefreshPin.png" + label="Synchronize pins and parameters" + mnemonic="Synchronize pins and parameters of the current selection" + style="push"> + <visibleWhen> + <and> + + <reference + definitionId="org.eclipse.papyrus.diagram.common.IsCallAction"> + </reference> + + </and> + </visibleWhen> + </command> + </menuContribution> + <menuContribution + allPopups="false" + locationURI="popup:org.eclipse.papyrus.views.modelexplorer.modelexplorer.popup"> + <command + commandId="org.eclipse.papyrus.uml.diagram.activity.SynchronizePinsParametersCommand" + icon="icons/obj16/RefreshPin.png" + label="Synchronize pins and parameters" + mnemonic="Synchronize pins and parameters of the current selection" + style="push"> + <visibleWhen> + <and> + <reference + definitionId="org.eclipse.papyrus.diagram.common.IsCallAction"> + </reference> + </and> + </visibleWhen> + </command> + </menuContribution> +</extension> +<extension + point="org.eclipse.ui.views.properties.tabbed.propertyTabs"> + <propertyTabs + contributorId="TreeOutlinePage"> + <propertyTab + category="org.eclipse.papyrus" + id="org.eclipse.papyrus.tabbedproperties.appearance.appearancetab" + label="Appearance"> + </propertyTab> + </propertyTabs> +</extension> + -
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ConditionalNodePreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ConditionalNodePreferencePage"
- name="ConditionalNode Node" />
-
-
-
-
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ControlFlowPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ControlFlowPreferencePage"
- name="ControlFlow Link" />
-
-
-
-
-
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ExceptionHandlerPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ExceptionHandlerPreferencePage"
- name="ExceptionHandler Link" />
-
-
-
- <?gmfgen generated="true"?>
- <page category="org.eclipse.papyrus.infra.gmfdiag.preferences.diagrams.PapyrusUMLActivityDiagram"
- class="org.eclipse.papyrus.uml.diagram.activity.preferences.ObjectFlowPreferencePage"
- id="org.eclipse.papyrus.uml.diagram.activity.preferences.ObjectFlowPreferencePage"
- name="ObjectFlow Link" />
-
-
-</extension>
-<extension
- id="Papyrus activity editor Plugin.palettedefinition"
- name="Papyrus activity editor Plugin Predefined Entries"
- point="org.eclipse.gmf.runtime.diagram.ui.paletteProviders">
-
- <?gmfgen generated="true"?>
- <paletteProvider class="org.eclipse.gmf.runtime.diagram.ui.providers.DefaultPaletteProvider">
- <Priority name="Lowest"/>
- <contribution
- factoryClass="org.eclipse.papyrus.uml.diagram.activity.part.UMLPaletteFactory">
- <predefinedEntry id="standardGroup/noteStack/noteTool" remove="true"/>
- <predefinedEntry id="standardGroup/noteStack/textTool" remove="true"/>
- <predefinedEntry id="standardGroup/noteStack/noteattachmentTool" remove="true"/>
- <entry
- defineOnly="true"
- description="Create an Activity Partition"
- id="createActivityPartition1CreationTool"
- kind="tool"
- label="Activity Partition"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityPartition.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityPartition.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Interruptible Activity Region"
- id="createInterruptibleActivityRegion2CreationTool"
- kind="tool"
- label="Interruptible Activity Region"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InterruptibleActivityRegion.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InterruptibleActivityRegion.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Initial node"
- id="createInitialnode1CreationTool"
- kind="tool"
- label="Initial node"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InitialNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InitialNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Activity final node"
- id="createActivityfinal2CreationTool"
- kind="tool"
- label="Activity final"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityFinalNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityFinalNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Flow final node"
- id="createFlowfinal3CreationTool"
- kind="tool"
- label="Flow final"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/FlowFinalNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/FlowFinalNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Decision node"
- id="createDecisionnode4CreationTool"
- kind="tool"
- label="Decision node"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DecisionNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DecisionNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Merge node"
- id="createMergenode5CreationTool"
- kind="tool"
- label="Merge node"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/MergeNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/MergeNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Merge node"
- id="createJoinnode6CreationTool"
- kind="tool"
- label="Join node"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/JoinNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/JoinNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Fork node"
- id="createForknode7CreationTool"
- kind="tool"
- label="Fork node"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ForkNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ForkNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Activity"
- id="createActivity1CreationTool"
- kind="tool"
- label="Activity"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Activity.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Activity.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Activity Parameter Node"
- id="createActivityParameterNode2CreationTool"
- kind="tool"
- label="Activity Parameter Node"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityParameterNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActivityParameterNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Central Buffer Node"
- id="createCentralBufferNode3CreationTool"
- kind="tool"
- label="Central Buffer Node"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Data Store Node"
- id="createDataStoreNode4CreationTool"
- kind="tool"
- label="Data Store Node"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DataStoreNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Comment"
- id="createComment5CreationTool"
- kind="tool"
- label="Comment"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Cosntraint"
- id="createConstraint6CreationTool"
- kind="tool"
- label="Constraint"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Control Flow"
- id="createControlFlow1CreationTool"
- kind="tool"
- label="Control Flow"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ControlFlow.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Exception Handler"
- id="createExceptionHandler2CreationTool"
- kind="tool"
- label="Exception Handler"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExceptionHandler.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExceptionHandler.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Object Flow"
- id="createObjectFlow3CreationTool"
- kind="tool"
- label="Object Flow"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ObjectFlow.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ObjectFlow.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create of a link for comment"
- id="createLink4CreationTool"
- kind="tool"
- label="Link"
- large_icon="icons/obj16/Link.gif"
- path=""
- small_icon="icons/obj16/Link.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Constraint as Local Precondition for an Action"
- id="createLocalPreconditionConstraint1CreationTool"
- kind="tool"
- label="Local Precondition Constraint"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Interval Constraint as Local Precondition for an Action"
- id="createLocalPreconditionIntervalConstraint3CreationTool"
- kind="tool"
- label="Local Precondition Interval Constraint"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Duration Constraint as Local Precondition for an Action"
- id="createLocalPreconditionDurationConstraint4CreationTool"
- kind="tool"
- label="Local Precondition Duration Constraint"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Time Constraint as Local Precondition for an Action"
- id="createLocalPreconditionTimeConstraint5CreationTool"
- kind="tool"
- label="Local Precondition Time Constraint"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Constraint as Local Postcondition for an Action"
- id="createLocalPostconditionConstraint6CreationTool"
- kind="tool"
- label="Local Postcondition Constraint"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Constraint.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Interval Constraint as Local Postcondition for an Action"
- id="createLocalPostconditionIntervalConstraint8CreationTool"
- kind="tool"
- label="Local Postcondition Interval Constraint"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/IntervalConstraint.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Duration Constraint as Local Postcondition for an Action"
- id="createLocalPostconditionDurationConstraint9CreationTool"
- kind="tool"
- label="Local Postcondition Duration Constraint"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DurationConstraint.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Time Constraint as Local Postcondition for an Action"
- id="createLocalPostconditionTimeConstraint10CreationTool"
- kind="tool"
- label="Local Postcondition Time Constraint"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/TimeConstraint.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Output Pin"
- id="createOutputPin1CreationTool"
- kind="tool"
- label="Output Pin"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/OutputPin.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/OutputPin.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Input Pin"
- id="createInputPin2CreationTool"
- kind="tool"
- label="Input Pin"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InputPin.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/InputPin.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Action Input Pin"
- id="createActionInputPin3CreationTool"
- kind="tool"
- label="Action Input Pin"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionInputPin.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ActionInputPin.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Value Pin"
- id="createValuePin4CreationTool"
- kind="tool"
- label="Value Pin"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ValuePin.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ValuePin.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Expansion Region"
- id="createExpansionRegion1CreationTool"
- kind="tool"
- label="Expansion Region"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionRegion.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionRegion.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Expansion Node as Input of an Expansion Region"
- id="createInputExpansionNode2CreationTool"
- kind="tool"
- label="Input Expansion Node"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Expansion Node as Output of an Expansion Region"
- id="createOutputExpansionNode3CreationTool"
- kind="tool"
- label="Output Expansion Node"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ExpansionNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Broadcast Signal Action"
- id="createBroadcastSignalAction1CreationTool"
- kind="tool"
- label="Broadcast Signal Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/BroadcastSignalAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/BroadcastSignalAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Call Behavior Action node"
- id="createCallBehaviorAction2CreationTool"
- kind="tool"
- label="Call Behavior Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/CallBehaviorAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/CallBehaviorAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Call Operation Action node"
- id="createCallOperationAction3CreationTool"
- kind="tool"
- label="Call Operation Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/CallOperationAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/CallOperationAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Send Object Action node"
- id="createSendObjectAction4CreationTool"
- kind="tool"
- label="Send Object Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/SendObjectAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/SendObjectAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Send Signal Action node"
- id="createSendSignalAction5CreationTool"
- kind="tool"
- label="Send Signal Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/SendSignalAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Create Object Action"
- id="createCreateObjectAction1CreationTool"
- kind="tool"
- label="Create Object Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateObjectAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/CreateObjectAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Destroy Object Action"
- id="createDestroyObjectAction2CreationTool"
- kind="tool"
- label="Destroy Object Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyObjectAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/DestroyObjectAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a ReadSelfAction"
- id="createReadSelfAction3CreationTool"
- kind="tool"
- label="ReadSelfAction"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadSelfAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadSelfAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Structured Activity Node"
- id="createStructuredActivityNode1CreationTool"
- kind="tool"
- label="Structured Activity Node"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/StructuredActivityNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/StructuredActivityNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Loop Node"
- id="createLoopNode2CreationTool"
- kind="tool"
- label="Loop Node"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/LoopNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/LoopNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Sequence Node"
- id="createSequenceNode3CreationTool"
- kind="tool"
- label="Sequence Node"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/SequenceNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/SequenceNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Conditional Node"
- id="createConditionalNode4CreationTool"
- kind="tool"
- label="Conditional Node"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ConditionalNode.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ConditionalNode.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create Read Structural Feature Action"
- id="createReadStructuralFeatureAction1CreationTool"
- kind="tool"
- label="Read Structural Feature Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create Add Structural Feature Value Action"
- id="createAddStructuralFeatureValueAction2CreationTool"
- kind="tool"
- label="Add Structural Feature Value Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create Add Structural Feature Value Action"
- id="createAddStructuralFeatureValueAction3CreationTool"
- kind="tool"
- label="Add Structural Feature Value Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AddStructuralFeatureValueAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create Read Structural Feature Action"
- id="createReadStructuralFeatureAction4CreationTool"
- kind="tool"
- label="Read Structural Feature Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadStructuralFeatureAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create Add Variable Value Action"
- id="createAddVariableValueAction1CreationTool"
- kind="tool"
- label="Add Variable Value Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AddVariableValueAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AddVariableValueAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Read Variable Action"
- id="createReadVariableAction2CreationTool"
- kind="tool"
- label="Read Variable Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadVariableAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ReadVariableAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Opaque Action node"
- id="createOpaqueAction1CreationTool"
- kind="tool"
- label="Opaque Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/OpaqueAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create a Value Specification Action node"
- id="createValueSpecificationAction2CreationTool"
- kind="tool"
- label="Value Specification Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ValueSpecificationAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/ValueSpecificationAction.gif">
- </entry>
- <entry
- defineOnly="true"
- description="Create an Accept Event Action node"
- id="createAcceptEventAction1CreationTool"
- kind="tool"
- label="Accept Event Action"
- large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptEventAction.gif"
- path=""
- small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/AcceptEventAction.gif">
- </entry>
-
- </contribution>
- </paletteProvider>
-
- </extension>
-
-
-<extension
- point="org.eclipse.gmf.runtime.diagram.ui.editpolicyProviders">
- <editpolicyProvider
- class="org.eclipse.papyrus.uml.diagram.activity.activitygroup.GroupEditPolicyProvider">
- <Priority
- name="Low">
- </Priority>
- </editpolicyProvider>
-</extension>
-<extension
- point="org.eclipse.emf.transaction.listeners">
- <listener
- class="org.eclipse.papyrus.uml.diagram.activity.listeners.InterruptibleEdgeListener">
- <editingDomain
- id="org.eclipse.papyrus.SharedEditingDomainID">
- </editingDomain></listener>
- <listener
- class="org.eclipse.papyrus.uml.diagram.activity.listeners.ExceptionHandlerListener">
- <editingDomain
- id="org.eclipse.papyrus.SharedEditingDomainID">
- </editingDomain>
- </listener>
- <listener
- class="org.eclipse.papyrus.uml.diagram.activity.listeners.InInterruptibleActivityRegionListener">
- <editingDomain
- id="org.eclipse.papyrus.SharedEditingDomainID">
- </editingDomain>
- </listener>
- <listener
- class="org.eclipse.papyrus.uml.diagram.activity.listeners.ObjectNodeListener">
- <editingDomain
- id="org.eclipse.papyrus.SharedEditingDomainID">
- </editingDomain>
- </listener>
- <listener
- class="org.eclipse.papyrus.uml.diagram.activity.listeners.ObjectFlowListener">
- <editingDomain
- id="org.eclipse.papyrus.SharedEditingDomainID">
- </editingDomain>
- </listener>
- </extension>
-
- <extension
- point="org.eclipse.gmf.runtime.diagram.ui.editpartProviders">
- <editpartProvider
- class="org.eclipse.papyrus.uml.diagram.activity.providers.CustomUMLEditPartProvider">
- <Priority
- name="Highest">
- </Priority>
- <object
- class="org.eclipse.gmf.runtime.notation.Diagram"
- id="generated-diagram">
- <method
- name="getType()"
- value="PapyrusUMLActivityDiagram">
- </method>
- </object>
- <object
- class="org.eclipse.gmf.runtime.notation.Node"
- id="generated-nodes">
- <method
- name="getType()">
- </method>
- </object>
- <object
- class="org.eclipse.gmf.runtime.notation.Edge"
- id="generated-links">
- <method
- name="getType()">
- </method>
- </object>
- <object
- class="org.eclipse.gmf.runtime.notation.Node"
- id="generated-labels">
- <method
- name="getType()">
- </method>
- </object>
- <object
- class="org.eclipse.gmf.runtime.notation.Node"
- id="generated-compartments">
- <method
- name="getType()">
- </method>
- </object>
- <context
- views="generated-diagram,generated-nodes,generated-links,generated-labels,generated-compartments">
- </context>
- </editpartProvider>
-</extension>
-
-<extension point="org.eclipse.gmf.runtime.diagram.core.viewProviders" id="view-provider">
- <viewProvider class="org.eclipse.papyrus.uml.diagram.activity.providers.CustomUMLViewProvider">
- <Priority name="Medium"/>
- <context viewClass="org.eclipse.gmf.runtime.notation.Diagram" semanticHints="PapyrusUMLActivityDiagram"/>
- <context viewClass="org.eclipse.gmf.runtime.notation.Node"/>
- <context viewClass="org.eclipse.gmf.runtime.notation.Edge"/>
- </viewProvider>
- </extension>
-
-
- <extension
- point="org.eclipse.ui.commands">
- <command
- description="Synchronize pins and parameters"
- categoryId="org.eclipse.papyrus.editor.category"
- id="org.eclipse.papyrus.uml.diagram.activity.SynchronizePinsParametersCommand"
- name="Synchronize pins and parameters">
- </command>
- </extension>
-
-<extension
- point="org.eclipse.ui.commands">
- <command
- categoryId="org.eclipse.papyrus.editor.category"
- description="Global Synchronize pins and parameters"
- id="org.eclipse.papyrus.uml.diagram.activity.GlobalSynchronizePinsParametersCommand"
- name="Global Synchronize pins and parameters">
- </command>
-</extension>
-
-<extension
- point="org.eclipse.ui.handlers">
- <handler
- class="org.eclipse.papyrus.uml.diagram.activity.handlers.SynchronizePinsParametersHandler"
- commandId="org.eclipse.papyrus.uml.diagram.activity.SynchronizePinsParametersCommand">
- </handler>
- </extension>
-
-<extension
- point="org.eclipse.ui.handlers">
- <handler
- class="org.eclipse.papyrus.uml.diagram.activity.handlers.GlobalSynchronizePinsParametersHandler"
- commandId="org.eclipse.papyrus.uml.diagram.activity.GlobalSynchronizePinsParametersCommand">
- </handler>
-</extension>
-
-<!-- Defnition for seleciton is call action and editor is papyrus -->
- <extension
- point="org.eclipse.core.expressions.definitions">
-
- <definition id="org.eclipse.papyrus.diagram.common.IsCallAction">
- <and>
-
-
- <with variable="selection">
- <test property="org.eclipse.papyrus.UMLCallActionTester.isCallAction" value="true"
- forcePluginActivation="true"/>
- </with>
-
- </and>
- </definition>
- </extension>
-
-<!--Test for selection of a call Action -->
- <extension
- point="org.eclipse.core.expressions.propertyTesters">
- <propertyTester
- class="org.eclipse.papyrus.uml.diagram.activity.testers.UMLCallActionTester"
- id="org.eclipse.papyrus.UMLCallActionTester"
- namespace="org.eclipse.papyrus.UMLCallActionTester"
- properties="isCallAction"
- type="org.eclipse.jface.viewers.ISelection">
- </propertyTester>
- </extension>
-
-<extension
- point="org.eclipse.ui.menus">
-
- <menuContribution locationURI="popup:org.eclipse.gmf.runtime.diagram.ui.DiagramEditorContextMenu?endof=fileMenu"
- allPopups="false">
- <command
- commandId="org.eclipse.papyrus.uml.diagram.activity.SynchronizePinsParametersCommand"
- icon="icons/obj16/RefreshPin.png"
- label="Synchronize pins and parameters"
- mnemonic="Synchronize pins and parameters of the current selection"
- style="push">
- <visibleWhen>
- <and>
-
- <reference
- definitionId="org.eclipse.papyrus.diagram.common.IsCallAction">
- </reference>
-
- </and>
- </visibleWhen>
- </command>
- </menuContribution>
- <menuContribution
- allPopups="false"
- locationURI="popup:org.eclipse.papyrus.views.modelexplorer.modelexplorer.popup">
- <command
- commandId="org.eclipse.papyrus.uml.diagram.activity.SynchronizePinsParametersCommand"
- icon="icons/obj16/RefreshPin.png"
- label="Synchronize pins and parameters"
- mnemonic="Synchronize pins and parameters of the current selection"
- style="push">
- <visibleWhen>
- <and>
- <reference
- definitionId="org.eclipse.papyrus.diagram.common.IsCallAction">
- </reference>
- </and>
- </visibleWhen>
- </command>
- </menuContribution>
-</extension>
-<extension
- point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
- <propertyTabs
- contributorId="TreeOutlinePage">
- <propertyTab
- category="org.eclipse.papyrus"
- id="org.eclipse.papyrus.tabbedproperties.appearance.appearancetab"
- label="Appearance">
- </propertyTab>
- </propertyTabs>
-</extension>
-
-
-
<!-- Specific Edit Helper for Activity Node --> - <!-- optionally, specify keybindings -->
- <!--specific palette-->
-<extension
- id="Papyrus activity editor Plugin.standard"
- name="Papyrus activity editor Plugin Standard Palette"
- point="org.eclipse.gmf.runtime.diagram.ui.paletteProviders">
-
- <?gmfgen generated="true"?>
- <paletteProvider class="org.eclipse.gmf.runtime.diagram.ui.providers.DefaultPaletteProvider">
- <Priority name="Low"/>
- <contribution
- factoryClass="org.eclipse.papyrus.uml.diagram.activity.part.UMLPaletteFactory">
- <predefinedEntry id="standardGroup/noteStack/noteTool" remove="true"/>
- <predefinedEntry id="standardGroup/noteStack/textTool" remove="true"/>
- <predefinedEntry id="standardGroup/noteStack/noteattachmentTool" remove="true"/>
- <entry
- id="createNodes3Group"
- kind="drawer"
- label="Nodes"
- large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
- path="/"
- small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
- <expand
- force="true">
- </expand>
- </entry>
- <predefinedEntry
- id="createActivity1CreationTool"
- path="/createNodes3Group">
- </predefinedEntry>
- <predefinedEntry
- id="createActivityParameterNode2CreationTool"
- path="/createNodes3Group">
- </predefinedEntry>
- <predefinedEntry
- id="createCentralBufferNode3CreationTool"
- path="/createNodes3Group">
- </predefinedEntry>
- <predefinedEntry
- id="createDataStoreNode4CreationTool"
- path="/createNodes3Group">
- </predefinedEntry>
- <predefinedEntry
- id="createComment5CreationTool"
- path="/createNodes3Group">
- </predefinedEntry>
- <entry
- description="ActivityGroup"
- id="createActivityGroupGroup"
- kind="stack"
- label="ActivityGroup"
- large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
- path="/createNodes3Group"
- small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
- <expand
- force="true">
- </expand>
- </entry>
-
- <predefinedEntry
- id="createActivityPartition1CreationTool"
- path="/createNodes3Group/createActivityGroupGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createInterruptibleActivityRegion2CreationTool"
- path="/createNodes3Group/createActivityGroupGroup">
- </predefinedEntry>
-
- <entry
- description="ControlNodes"
- id="createControlNodesGroup"
- kind="stack"
- label="ControlNodes"
- large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
- path="/createNodes3Group"
- small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
- <expand
- force="true">
- </expand>
- </entry>
-
- <predefinedEntry
- id="createInitialnode1CreationTool"
- path="/createNodes3Group/createControlNodesGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createActivityfinal2CreationTool"
- path="/createNodes3Group/createControlNodesGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createFlowfinal3CreationTool"
- path="/createNodes3Group/createControlNodesGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createDecisionnode4CreationTool"
- path="/createNodes3Group/createControlNodesGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createMergenode5CreationTool"
- path="/createNodes3Group/createControlNodesGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createJoinnode6CreationTool"
- path="/createNodes3Group/createControlNodesGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createForknode7CreationTool"
- path="/createNodes3Group/createControlNodesGroup">
- </predefinedEntry>
-
-
-
- <entry
- description=""
- id="createEdges4Group"
- kind="drawer"
- label="Edges"
- large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
- path="/"
- small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
- <expand
- force="true">
- </expand>
- </entry>
-
- <predefinedEntry
- id="createControlFlow1CreationTool"
- path="/createEdges4Group">
- </predefinedEntry>
- <predefinedEntry
- id="createExceptionHandler2CreationTool"
- path="/createEdges4Group">
- </predefinedEntry>
- <predefinedEntry
- id="createObjectFlow3CreationTool"
- path="/createEdges4Group">
- </predefinedEntry>
- <predefinedEntry
- id="createLink4CreationTool"
- path="/createEdges4Group">
- </predefinedEntry>
-
- <entry
- description="Constraints"
- id="createConstraintsGroup"
- kind="stack"
- label="Constraints"
- large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
- path="/createNodes3Group"
- small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
- <expand
- force="false">
- </expand>
- </entry>
- <entry
- description="Pins"
- id="createPinsGroup"
- kind="stack"
- label="Pins"
- large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
- path="/createNodes3Group"
- small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
- <expand
- force="true">
- </expand>
- </entry>
-
- <predefinedEntry
- id="createOutputPin1CreationTool"
- path="/createNodes3Group/createPinsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createInputPin2CreationTool"
- path="/createNodes3Group/createPinsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createActionInputPin3CreationTool"
- path="/createNodes3Group/createPinsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createValuePin4CreationTool"
- path="/createNodes3Group/createPinsGroup">
- </predefinedEntry>
-
- <entry
- description="ExpansionRegions"
- id="createExpansionRegionsGroup"
- kind="stack"
- label="ExpansionRegions"
- large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
- path="/createNodes3Group"
- small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
- <expand
- force="true">
- </expand>
- </entry>
-
- <predefinedEntry
- id="createExpansionRegion1CreationTool"
- path="/createNodes3Group/createExpansionRegionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createInputExpansionNode2CreationTool"
- path="/createNodes3Group/createExpansionRegionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createOutputExpansionNode3CreationTool"
- path="/createNodes3Group/createExpansionRegionsGroup">
- </predefinedEntry>
-
- <entry
- description="InvocationActions"
- id="InvocationActionsGroup"
- kind="stack"
- label="InvocationActions"
- large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
- path="/createNodes3Group"
- small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
- <expand
- force="true">
- </expand>
- </entry>
-
- <predefinedEntry
- id="createBroadcastSignalAction1CreationTool"
- path="/createNodes3Group/InvocationActionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createCallBehaviorAction2CreationTool"
- path="/createNodes3Group/InvocationActionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createCallOperationAction3CreationTool"
- path="/createNodes3Group/InvocationActionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createSendObjectAction4CreationTool"
- path="/createNodes3Group/InvocationActionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createSendSignalAction5CreationTool"
- path="/createNodes3Group/InvocationActionsGroup">
- </predefinedEntry>
-
- <entry
- description="ObjectActions"
- id="createObjectActionsGroup"
- kind="stack"
- label="ObjectActions"
- large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
- path="/createNodes3Group"
- small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
- <expand
- force="true">
- </expand>
- </entry>
-
- <predefinedEntry
- id="createCreateObjectAction1CreationTool"
- path="/createNodes3Group/createObjectActionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createDestroyObjectAction2CreationTool"
- path="/createNodes3Group/createObjectActionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createReadSelfAction3CreationTool"
- path="/createNodes3Group/createObjectActionsGroup">
- </predefinedEntry>
-
- <entry
- description="StructuredActions"
- id="createStructuredActionsGroup"
- kind="stack"
- label="StructuredActions"
- large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
- path="/createNodes3Group"
- small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
- <expand
- force="true">
- </expand>
- </entry>
-
- <predefinedEntry
- id="createStructuredActivityNode1CreationTool"
- path="/createNodes3Group/createStructuredActionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createLoopNode2CreationTool"
- path="/createNodes3Group/createStructuredActionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createSequenceNode3CreationTool"
- path="/createNodes3Group/createStructuredActionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createConditionalNode4CreationTool"
- path="/createNodes3Group/createStructuredActionsGroup">
- </predefinedEntry>
-
- <entry
- description="StructuralFeatureActions"
- id="createStructuralFeatureActionsGroup"
- kind="stack"
- label="StructuralFeatureActions"
- large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
- path="/createNodes3Group"
- small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
- <expand
- force="true">
- </expand>
- </entry>
-
- <predefinedEntry
- id="createReadStructuralFeatureAction1CreationTool"
- path="/createNodes3Group/createStructuralFeatureActionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createAddStructuralFeatureValueAction2CreationTool"
- path="/createNodes3Group/createStructuralFeatureActionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createAddStructuralFeatureValueAction3CreationTool"
- path="/createNodes3Group/createStructuralFeatureActionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createReadStructuralFeatureAction4CreationTool"
- path="/createNodes3Group/createStructuralFeatureActionsGroup">
- </predefinedEntry>
-
- <entry
- description="VariableActions"
- id="createVariableActionsGroup"
- kind="stack"
- label="VariableActions"
- large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
- path="/createNodes3Group"
- small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
- <expand
- force="true">
- </expand>
- </entry>
-
- <predefinedEntry
- id="createAddVariableValueAction1CreationTool"
- path="/createNodes3Group/createVariableActionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createReadVariableAction2CreationTool"
- path="/createNodes3Group/createVariableActionsGroup">
- </predefinedEntry>
-
- <entry
- description="MiscellaneousActions"
- id="createOtherActionsGroup"
- kind="stack"
- label="MiscellaneousActions"
- large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
- path="/createNodes3Group"
- small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
- <expand
- force="true">
- </expand>
- </entry>
-
- <predefinedEntry
- id="createOpaqueAction1CreationTool"
- path="/createNodes3Group/createOtherActionsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createValueSpecificationAction2CreationTool"
- path="/createNodes3Group/createOtherActionsGroup">
- </predefinedEntry>
-
- <entry
- description="AcceptEventActions"
- id="createAcceptEventActions14Group"
- kind="stack"
- label="AcceptEventActions"
- large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"
- path="/createNodes3Group"
- small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif">
- <expand
- force="true">
- </expand>
- </entry>
-
- <predefinedEntry
- id="createAcceptEventAction1CreationTool"
- path="/createNodes3Group/createAcceptEventActions14Group">
- </predefinedEntry>
- <predefinedEntry
- id="createConstraint6CreationTool"
- path="/createNodes3Group/createConstraintsGroup">
- </predefinedEntry>
-
- <predefinedEntry
- id="createLocalPreconditionConstraint1CreationTool"
- path="/createNodes3Group/createConstraintsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createLocalPreconditionInteractionConstraint2CreationTool"
- path="/createNodes3Group/createConstraintsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createLocalPreconditionIntervalConstraint3CreationTool"
- path="/createNodes3Group/createConstraintsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createLocalPreconditionDurationConstraint4CreationTool"
- path="/createNodes3Group/createConstraintsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createLocalPreconditionTimeConstraint5CreationTool"
- path="/createNodes3Group/createConstraintsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createLocalPostconditionConstraint6CreationTool"
- path="/createNodes3Group/createConstraintsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createLocalPostconditionInteractionConstraint7CreationTool"
- path="/createNodes3Group/createConstraintsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createLocalPostconditionIntervalConstraint8CreationTool"
- path="/createNodes3Group/createConstraintsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createLocalPostconditionDurationConstraint9CreationTool"
- path="/createNodes3Group/createConstraintsGroup">
- </predefinedEntry>
- <predefinedEntry
- id="createLocalPostconditionTimeConstraint10CreationTool"
- path="/createNodes3Group/createConstraintsGroup">
- </predefinedEntry>
-
-
-
-
- </contribution>
- <editor id="org.eclipse.papyrus.uml.diagram.activity"/>
- </paletteProvider>
-
- </extension>
-
-
- <!-- Diagram specific advices -->
-<extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypes">
-
- <metamodel nsURI="http://www.eclipse.org/uml2/4.0.0/UML">
-
- <!-- specific advices (pop up on creation) -->
- <adviceBinding id="org.eclipse.papyrus.uml.diagram.activity.edit.advices.CallBehaviorActionEditHelperAdvice" class="org.eclipse.papyrus.uml.diagram.activity.edit.advices.CallBehaviorActionEditHelperAdvice" inheritance="none" typeId="org.eclipse.papyrus.uml.diagram.activity.CallBehaviorAction_3008"/>
- <adviceBinding id="org.eclipse.papyrus.uml.diagram.activity.edit.advices.CallOperationActionEditHelperAdvice" class="org.eclipse.papyrus.uml.diagram.activity.edit.advices.CallOperationActionEditHelperAdvice" inheritance="all" typeId="org.eclipse.papyrus.uml.diagram.activity.CallOperationAction_3010"/>
- <adviceBinding id="org.eclipse.papyrus.uml.diagram.activity.edit.advices.SendSignalActionEditHelperAdvice" class="org.eclipse.papyrus.uml.diagram.activity.edit.advices.SendSignalActionEditHelperAdvice" inheritance="all" typeId="org.eclipse.papyrus.uml.diagram.activity.SendSignalAction_3052"/>
-
- </metamodel>
-</extension>
-
-<!-- UML ElementType bindings to Papyrus shared IClientContext -->
-<extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings">
-
- <!-- Bindings declaration to shared IClientContext -->
- <binding context="org.eclipse.papyrus.infra.services.edit.TypeContext">
- <elementType ref="org.eclipse.papyrus.uml.diagram.activity.edit.advices.CallBehaviorActionEditHelperAdvice"></elementType>
- <elementType ref="org.eclipse.papyrus.uml.diagram.activity.edit.advices.CallOperationActionEditHelperAdvice"></elementType>
- <elementType ref="org.eclipse.papyrus.uml.diagram.activity.edit.advices.SendSignalActionEditHelperAdvice"></elementType>
- </binding>
-
-</extension>
-<extension point="org.eclipse.papyrus.infra.gmfdiag.common.notationTypesMapping">
- <diagramMappings diagramID="PapyrusUMLActivityDiagram">
- <mapping type="PapyrusUMLActivityDiagram" humanReadableType="ActivityDiagram"/>
-
- <mapping
- humanReadableType="ActivityFigureParameter"
- type="7001">
- </mapping>
-
- <mapping
- humanReadableType="ActivityFigurePrecondition"
- type="7002">
- </mapping>
-
- <mapping
- humanReadableType="ActivityFigurePostCondtion"
- type="7003">
- </mapping>
-
- <mapping
- humanReadableType="ActivityFigureContent"
- type="7004">
- </mapping>
-
- <mapping
- humanReadableType="StructuredActivityNodeContent"
- type="7008">
- </mapping>
-
- <mapping
- humanReadableType="StructuredActivityNodeContent"
- type="7009">
- </mapping>
-
- <mapping
- humanReadableType="StructuredActivityNodeContent"
- type="7010">
- </mapping>
-
- <mapping
- humanReadableType="StructuredActivityNodeContent"
- type="7012">
- </mapping>
-
- <mapping
- humanReadableType="StructuredActivityNodeContent"
- type="7005">
- </mapping>
-
- <mapping
- humanReadableType="ActivityPartitionContent"
- type="7006">
- </mapping>
-
- <mapping
- humanReadableType="InterruptibleActivityRegionContent"
- type="7007">
- </mapping>
-
- <mapping
- humanReadableType="ActivityFigureParameter"
- type="7014">
- </mapping>
-
- <mapping
- humanReadableType="ActivityFigurePrecondition"
- type="7015">
- </mapping>
-
- <mapping
- humanReadableType="ActivityFigurePostCondtion"
- type="7016">
- </mapping>
-
- <mapping
- humanReadableType="ActivityFigureContent"
- type="7013">
- </mapping>
-
-
-
-
-
-
-
- <mapping
- humanReadableType="Name"
- type="6001">
- </mapping>
-
- <mapping
- humanReadableType="Weight"
- type="6002">
- </mapping>
-
- <mapping
- humanReadableType="Selection"
- type="6005">
- </mapping>
-
- <mapping
- humanReadableType="Transformation"
- type="6006">
- </mapping>
-
- <mapping
- humanReadableType="DecisionInputFlow"
- type="6007">
- </mapping>
-
- <mapping
- humanReadableType="Guard"
- type="6008">
- </mapping>
-
- <mapping
- humanReadableType="Stereotype"
- type="6010">
- </mapping>
-
-
-
- <mapping
- humanReadableType="Name"
- type="6003">
- </mapping>
-
- <mapping
- humanReadableType="Weight"
- type="6004">
- </mapping>
-
- <mapping
- humanReadableType="Guard"
- type="6009">
- </mapping>
-
- <mapping
- humanReadableType="Stereotype"
- type="6011">
- </mapping>
-
-
-
-
-
-
-
-
- </diagramMappings>
- </extension>
-</plugin>
+ <!-- optionally, specify keybindings --> + <!--specific palette--> +<extension + id="Papyrus activity editor Plugin.standard" + name="Papyrus activity editor Plugin Standard Palette" + point="org.eclipse.gmf.runtime.diagram.ui.paletteProviders"> + + <?gmfgen generated="true"?> + <paletteProvider class="org.eclipse.gmf.runtime.diagram.ui.providers.DefaultPaletteProvider"> + <Priority name="Low"/> + <contribution + factoryClass="org.eclipse.papyrus.uml.diagram.activity.part.UMLPaletteFactory"> + <predefinedEntry id="standardGroup/noteStack/noteTool" remove="true"/> + <predefinedEntry id="standardGroup/noteStack/textTool" remove="true"/> + <predefinedEntry id="standardGroup/noteStack/noteattachmentTool" remove="true"/> + <entry + id="createNodes3Group" + kind="drawer" + label="Nodes" + large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif" + path="/" + small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <expand + force="true"> + </expand> + </entry> + <predefinedEntry + id="createActivity1CreationTool" + path="/createNodes3Group"> + </predefinedEntry> + <predefinedEntry + id="createActivityParameterNode2CreationTool" + path="/createNodes3Group"> + </predefinedEntry> + <predefinedEntry + id="createCentralBufferNode3CreationTool" + path="/createNodes3Group"> + </predefinedEntry> + <predefinedEntry + id="createDataStoreNode4CreationTool" + path="/createNodes3Group"> + </predefinedEntry> + <predefinedEntry + id="createComment5CreationTool" + path="/createNodes3Group"> + </predefinedEntry> + <entry + description="ActivityGroup" + id="createActivityGroupGroup" + kind="stack" + label="ActivityGroup" + large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif" + path="/createNodes3Group" + small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <expand + force="true"> + </expand> + </entry> + + <predefinedEntry + id="createActivityPartition1CreationTool" + path="/createNodes3Group/createActivityGroupGroup"> + </predefinedEntry> + <predefinedEntry + id="createInterruptibleActivityRegion2CreationTool" + path="/createNodes3Group/createActivityGroupGroup"> + </predefinedEntry> + + <entry + description="ControlNodes" + id="createControlNodesGroup" + kind="stack" + label="ControlNodes" + large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif" + path="/createNodes3Group" + small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <expand + force="true"> + </expand> + </entry> + + <predefinedEntry + id="createInitialnode1CreationTool" + path="/createNodes3Group/createControlNodesGroup"> + </predefinedEntry> + <predefinedEntry + id="createActivityfinal2CreationTool" + path="/createNodes3Group/createControlNodesGroup"> + </predefinedEntry> + <predefinedEntry + id="createFlowfinal3CreationTool" + path="/createNodes3Group/createControlNodesGroup"> + </predefinedEntry> + <predefinedEntry + id="createDecisionnode4CreationTool" + path="/createNodes3Group/createControlNodesGroup"> + </predefinedEntry> + <predefinedEntry + id="createMergenode5CreationTool" + path="/createNodes3Group/createControlNodesGroup"> + </predefinedEntry> + <predefinedEntry + id="createJoinnode6CreationTool" + path="/createNodes3Group/createControlNodesGroup"> + </predefinedEntry> + <predefinedEntry + id="createForknode7CreationTool" + path="/createNodes3Group/createControlNodesGroup"> + </predefinedEntry> + + + + <entry + description="" + id="createEdges4Group" + kind="drawer" + label="Edges" + large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif" + path="/" + small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <expand + force="true"> + </expand> + </entry> + + <predefinedEntry + id="createControlFlow1CreationTool" + path="/createEdges4Group"> + </predefinedEntry> + <predefinedEntry + id="createExceptionHandler2CreationTool" + path="/createEdges4Group"> + </predefinedEntry> + <predefinedEntry + id="createObjectFlow3CreationTool" + path="/createEdges4Group"> + </predefinedEntry> + <predefinedEntry + id="createLink4CreationTool" + path="/createEdges4Group"> + </predefinedEntry> + + <entry + description="Constraints" + id="createConstraintsGroup" + kind="stack" + label="Constraints" + large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif" + path="/createNodes3Group" + small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <expand + force="false"> + </expand> + </entry> + <entry + description="Pins" + id="createPinsGroup" + kind="stack" + label="Pins" + large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif" + path="/createNodes3Group" + small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <expand + force="true"> + </expand> + </entry> + + <predefinedEntry + id="createOutputPin1CreationTool" + path="/createNodes3Group/createPinsGroup"> + </predefinedEntry> + <predefinedEntry + id="createInputPin2CreationTool" + path="/createNodes3Group/createPinsGroup"> + </predefinedEntry> + <predefinedEntry + id="createActionInputPin3CreationTool" + path="/createNodes3Group/createPinsGroup"> + </predefinedEntry> + <predefinedEntry + id="createValuePin4CreationTool" + path="/createNodes3Group/createPinsGroup"> + </predefinedEntry> + + <entry + description="ExpansionRegions" + id="createExpansionRegionsGroup" + kind="stack" + label="ExpansionRegions" + large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif" + path="/createNodes3Group" + small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <expand + force="true"> + </expand> + </entry> + + <predefinedEntry + id="createExpansionRegion1CreationTool" + path="/createNodes3Group/createExpansionRegionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createInputExpansionNode2CreationTool" + path="/createNodes3Group/createExpansionRegionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createOutputExpansionNode3CreationTool" + path="/createNodes3Group/createExpansionRegionsGroup"> + </predefinedEntry> + + <entry + description="InvocationActions" + id="InvocationActionsGroup" + kind="stack" + label="InvocationActions" + large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif" + path="/createNodes3Group" + small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <expand + force="true"> + </expand> + </entry> + + <predefinedEntry + id="createBroadcastSignalAction1CreationTool" + path="/createNodes3Group/InvocationActionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createCallBehaviorAction2CreationTool" + path="/createNodes3Group/InvocationActionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createCallOperationAction3CreationTool" + path="/createNodes3Group/InvocationActionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createSendObjectAction4CreationTool" + path="/createNodes3Group/InvocationActionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createSendSignalAction5CreationTool" + path="/createNodes3Group/InvocationActionsGroup"> + </predefinedEntry> + + <entry + description="ObjectActions" + id="createObjectActionsGroup" + kind="stack" + label="ObjectActions" + large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif" + path="/createNodes3Group" + small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <expand + force="true"> + </expand> + </entry> + + <predefinedEntry + id="createCreateObjectAction1CreationTool" + path="/createNodes3Group/createObjectActionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createDestroyObjectAction2CreationTool" + path="/createNodes3Group/createObjectActionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createReadSelfAction3CreationTool" + path="/createNodes3Group/createObjectActionsGroup"> + </predefinedEntry> + + <entry + description="StructuredActions" + id="createStructuredActionsGroup" + kind="stack" + label="StructuredActions" + large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif" + path="/createNodes3Group" + small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <expand + force="true"> + </expand> + </entry> + + <predefinedEntry + id="createStructuredActivityNode1CreationTool" + path="/createNodes3Group/createStructuredActionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createLoopNode2CreationTool" + path="/createNodes3Group/createStructuredActionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createSequenceNode3CreationTool" + path="/createNodes3Group/createStructuredActionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createConditionalNode4CreationTool" + path="/createNodes3Group/createStructuredActionsGroup"> + </predefinedEntry> + + <entry + description="StructuralFeatureActions" + id="createStructuralFeatureActionsGroup" + kind="stack" + label="StructuralFeatureActions" + large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif" + path="/createNodes3Group" + small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <expand + force="true"> + </expand> + </entry> + + <predefinedEntry + id="createReadStructuralFeatureAction1CreationTool" + path="/createNodes3Group/createStructuralFeatureActionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createAddStructuralFeatureValueAction2CreationTool" + path="/createNodes3Group/createStructuralFeatureActionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createAddStructuralFeatureValueAction3CreationTool" + path="/createNodes3Group/createStructuralFeatureActionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createReadStructuralFeatureAction4CreationTool" + path="/createNodes3Group/createStructuralFeatureActionsGroup"> + </predefinedEntry> + + <entry + description="VariableActions" + id="createVariableActionsGroup" + kind="stack" + label="VariableActions" + large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif" + path="/createNodes3Group" + small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <expand + force="true"> + </expand> + </entry> + + <predefinedEntry + id="createAddVariableValueAction1CreationTool" + path="/createNodes3Group/createVariableActionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createReadVariableAction2CreationTool" + path="/createNodes3Group/createVariableActionsGroup"> + </predefinedEntry> + + <entry + description="MiscellaneousActions" + id="createOtherActionsGroup" + kind="stack" + label="MiscellaneousActions" + large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif" + path="/createNodes3Group" + small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <expand + force="true"> + </expand> + </entry> + + <predefinedEntry + id="createOpaqueAction1CreationTool" + path="/createNodes3Group/createOtherActionsGroup"> + </predefinedEntry> + <predefinedEntry + id="createValueSpecificationAction2CreationTool" + path="/createNodes3Group/createOtherActionsGroup"> + </predefinedEntry> + + <entry + description="AcceptEventActions" + id="createAcceptEventActions14Group" + kind="stack" + label="AcceptEventActions" + large_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif" + path="/createNodes3Group" + small_icon="platform:/plugin/org.eclipse.gmf.runtime.diagram.ui/icons/group.gif"> + <expand + force="true"> + </expand> + </entry> + + <predefinedEntry + id="createAcceptEventAction1CreationTool" + path="/createNodes3Group/createAcceptEventActions14Group"> + </predefinedEntry> + <predefinedEntry + id="createConstraint6CreationTool" + path="/createNodes3Group/createConstraintsGroup"> + </predefinedEntry> + + <predefinedEntry + id="createLocalPreconditionConstraint1CreationTool" + path="/createNodes3Group/createConstraintsGroup"> + </predefinedEntry> + <predefinedEntry + id="createLocalPreconditionInteractionConstraint2CreationTool" + path="/createNodes3Group/createConstraintsGroup"> + </predefinedEntry> + <predefinedEntry + id="createLocalPreconditionIntervalConstraint3CreationTool" + path="/createNodes3Group/createConstraintsGroup"> + </predefinedEntry> + <predefinedEntry + id="createLocalPreconditionDurationConstraint4CreationTool" + path="/createNodes3Group/createConstraintsGroup"> + </predefinedEntry> + <predefinedEntry + id="createLocalPreconditionTimeConstraint5CreationTool" + path="/createNodes3Group/createConstraintsGroup"> + </predefinedEntry> + <predefinedEntry + id="createLocalPostconditionConstraint6CreationTool" + path="/createNodes3Group/createConstraintsGroup"> + </predefinedEntry> + <predefinedEntry + id="createLocalPostconditionInteractionConstraint7CreationTool" + path="/createNodes3Group/createConstraintsGroup"> + </predefinedEntry> + <predefinedEntry + id="createLocalPostconditionIntervalConstraint8CreationTool" + path="/createNodes3Group/createConstraintsGroup"> + </predefinedEntry> + <predefinedEntry + id="createLocalPostconditionDurationConstraint9CreationTool" + path="/createNodes3Group/createConstraintsGroup"> + </predefinedEntry> + <predefinedEntry + id="createLocalPostconditionTimeConstraint10CreationTool" + path="/createNodes3Group/createConstraintsGroup"> + </predefinedEntry> + + + + + </contribution> + <editor id="org.eclipse.papyrus.uml.diagram.activity"/> + </paletteProvider> + + </extension> + + + <!-- Diagram specific advices --> +<extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypes"> + + <metamodel nsURI="http://www.eclipse.org/uml2/4.0.0/UML"> + + <!-- specific advices (pop up on creation) --> + <adviceBinding id="org.eclipse.papyrus.uml.diagram.activity.edit.advices.CallBehaviorActionEditHelperAdvice" class="org.eclipse.papyrus.uml.diagram.activity.edit.advices.CallBehaviorActionEditHelperAdvice" inheritance="none" typeId="org.eclipse.papyrus.uml.diagram.activity.CallBehaviorAction_3008"/> + <adviceBinding id="org.eclipse.papyrus.uml.diagram.activity.edit.advices.CallOperationActionEditHelperAdvice" class="org.eclipse.papyrus.uml.diagram.activity.edit.advices.CallOperationActionEditHelperAdvice" inheritance="all" typeId="org.eclipse.papyrus.uml.diagram.activity.CallOperationAction_3010"/> + <adviceBinding id="org.eclipse.papyrus.uml.diagram.activity.edit.advices.SendSignalActionEditHelperAdvice" class="org.eclipse.papyrus.uml.diagram.activity.edit.advices.SendSignalActionEditHelperAdvice" inheritance="all" typeId="org.eclipse.papyrus.uml.diagram.activity.SendSignalAction_3052"/> + + </metamodel> +</extension> + +<extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypes"> + <metamodel nsURI="http://www.eclipse.org/uml2/4.0.0/UML"> + <!-- specific advices - expansion region as in or out --> + <adviceBinding id="org.eclipse.papyrus.uml.diagram.activity.edit.advices.ExpansionNodeAsInputElementEditHelperAdvice" class="org.eclipse.papyrus.uml.diagram.activity.edit.advices.ExpansionNodeAsInputElementEditHelperAdvice" inheritance="none" typeId="org.eclipse.papyrus.uml.diagram.activity.ExpansionNode_3074"/> + <adviceBinding id="org.eclipse.papyrus.uml.diagram.activity.edit.advices.ExpansionNodeAsOutputElementEditHelperAdvice" class="org.eclipse.papyrus.uml.diagram.activity.edit.advices.ExpansionNodeAsOutputElementEditHelperAdvice" inheritance="none" typeId="org.eclipse.papyrus.uml.diagram.activity.ExpansionNode_3075"/> + </metamodel> +</extension> + +<!-- UML ElementType bindings to Papyrus shared IClientContext --> +<extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings"> + + <!-- Bindings declaration to shared IClientContext --> + <binding context="org.eclipse.papyrus.infra.services.edit.TypeContext"> + <elementType ref="org.eclipse.papyrus.uml.diagram.activity.edit.advices.ExpansionNodeAsInputElementEditHelperAdvice"></elementType> + <elementType ref="org.eclipse.papyrus.uml.diagram.activity.edit.advices.ExpansionNodeAsOutputElementEditHelperAdvice"></elementType> + </binding> + +</extension> + +<!-- UML ElementType bindings to Papyrus shared IClientContext --> +<extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings"> + + <!-- Bindings declaration to shared IClientContext --> + <binding context="org.eclipse.papyrus.infra.services.edit.TypeContext"> + <elementType ref="org.eclipse.papyrus.uml.diagram.activity.edit.advices.CallBehaviorActionEditHelperAdvice"></elementType> + <elementType ref="org.eclipse.papyrus.uml.diagram.activity.edit.advices.CallOperationActionEditHelperAdvice"></elementType> + <elementType ref="org.eclipse.papyrus.uml.diagram.activity.edit.advices.SendSignalActionEditHelperAdvice"></elementType> + </binding> + +</extension> +<extension point="org.eclipse.papyrus.infra.gmfdiag.common.notationTypesMapping"> + <diagramMappings diagramID="PapyrusUMLActivityDiagram"> + <mapping type="PapyrusUMLActivityDiagram" humanReadableType="ActivityDiagram"/> + + <mapping + humanReadableType="ActivityFigureParameter" + type="7001"> + </mapping> + + <mapping + humanReadableType="ActivityFigurePrecondition" + type="7002"> + </mapping> + + <mapping + humanReadableType="ActivityFigurePostCondtion" + type="7003"> + </mapping> + + <mapping + humanReadableType="ActivityFigureContent" + type="7004"> + </mapping> + + <mapping + humanReadableType="StructuredActivityNodeContent" + type="7008"> + </mapping> + + <mapping + humanReadableType="StructuredActivityNodeContent" + type="7009"> + </mapping> + + <mapping + humanReadableType="StructuredActivityNodeContent" + type="7010"> + </mapping> + + <mapping + humanReadableType="StructuredActivityNodeContent" + type="7012"> + </mapping> + + <mapping + humanReadableType="StructuredActivityNodeContent" + type="7005"> + </mapping> + + <mapping + humanReadableType="ActivityPartitionContent" + type="7006"> + </mapping> + + <mapping + humanReadableType="InterruptibleActivityRegionContent" + type="7007"> + </mapping> + + <mapping + humanReadableType="ActivityFigureParameter" + type="7014"> + </mapping> + + <mapping + humanReadableType="ActivityFigurePrecondition" + type="7015"> + </mapping> + + <mapping + humanReadableType="ActivityFigurePostCondtion" + type="7016"> + </mapping> + + <mapping + humanReadableType="ActivityFigureContent" + type="7013"> + </mapping> + + + + + + + + <mapping + humanReadableType="Name" + type="6001"> + </mapping> + + <mapping + humanReadableType="Weight" + type="6002"> + </mapping> + + <mapping + humanReadableType="Selection" + type="6005"> + </mapping> + + <mapping + humanReadableType="Transformation" + type="6006"> + </mapping> + + <mapping + humanReadableType="DecisionInputFlow" + type="6007"> + </mapping> + + <mapping + humanReadableType="Guard" + type="6008"> + </mapping> + + <mapping + humanReadableType="Stereotype" + type="6010"> + </mapping> + + + + <mapping + humanReadableType="Name" + type="6003"> + </mapping> + + <mapping + humanReadableType="Weight" + type="6004"> + </mapping> + + <mapping + humanReadableType="Guard" + type="6009"> + </mapping> + + <mapping + humanReadableType="Stereotype" + type="6011"> + </mapping> + + + + + + + + + </diagramMappings> + </extension> +</plugin> diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/parts/ExpansionRegionEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/parts/ExpansionRegionEditPart.java index c6ccd961179..25bdeb904a2 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/parts/ExpansionRegionEditPart.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/parts/ExpansionRegionEditPart.java @@ -1,1482 +1,1483 @@ -/*****************************************************************************
- * Copyright (c) 2010 Atos Origin.
- *
- *
- * 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
- *
- * Contributors:
- * Atos Origin - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.uml.diagram.activity.edit.parts;
-
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.PositionConstants;
-import org.eclipse.draw2d.Shape;
-import org.eclipse.draw2d.StackLayout;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.editpolicies.LayoutEditPolicy;
-import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
-import org.eclipse.gef.requests.CreateRequest;
-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.diagram.ui.figures.IBorderItemLocator;
-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.common.preferences.PreferencesConstantsHelper;
-import org.eclipse.papyrus.uml.diagram.activity.draw2d.StructuredActivityNodeFigure;
-import org.eclipse.papyrus.uml.diagram.activity.edit.policies.ExpansionRegionItemSemanticEditPolicy;
-import org.eclipse.papyrus.uml.diagram.activity.edit.policies.OpenDiagramEditPolicy;
-import org.eclipse.papyrus.uml.diagram.activity.locator.ExpansionNodePositionLocator;
-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.UMLNodeEditPart;
-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.PapyrusCreationEditPolicy;
-import org.eclipse.papyrus.uml.diagram.common.editpolicies.ShowHideCompartmentEditPolicy;
-import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * @generated
- */
-public class ExpansionRegionEditPart extends UMLNodeEditPart {
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 3070;
-
- /**
- * @generated
- */
- protected IFigure contentPane;
-
- /**
- * @generated
- */
- protected IFigure primaryShape;
-
- /**
- * @generated
- */
- public ExpansionRegionEditPart(View view) {
- super(view);
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies() {
- installEditPolicy(EditPolicyRoles.CREATION_ROLE, new PapyrusCreationEditPolicy());
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new ExpansionRegionItemSemanticEditPolicy());
- installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new DragDropEditPolicy());
- //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.ExpansionRegionCanonicalEditPolicy());
- installEditPolicy(EditPolicy.LAYOUT_ROLE, createLayoutEditPolicy());
- installEditPolicy(EditPolicyRoles.OPEN_ROLE, new OpenDiagramEditPolicy());
- installEditPolicy(ShowHideCompartmentEditPolicy.SHOW_HIDE_COMPARTMENT_POLICY, new ShowHideCompartmentEditPolicy());
- installEditPolicy(AppliedStereotypeLabelDisplayEditPolicy.STEREOTYPE_LABEL_POLICY, new AppliedStereotypeNodeLabelDisplayEditPolicy());
- // 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
- **/
- protected void handleNotificationEvent(Notification event) {
- super.handleNotificationEvent(event);
- }
-
- /**
- * @generated
- */
- protected LayoutEditPolicy createLayoutEditPolicy() {
- org.eclipse.gmf.runtime.diagram.ui.editpolicies.LayoutEditPolicy lep = new org.eclipse.gmf.runtime.diagram.ui.editpolicies.LayoutEditPolicy() {
-
- protected EditPolicy createChildEditPolicy(EditPart child) {
- View childView = (View)child.getModel();
- switch(UMLVisualIDRegistry.getVisualID(childView)) {
- case ExpansionNodeAsInEditPart.VISUAL_ID:
- case ExpansionNodeAsOutEditPart.VISUAL_ID:
- return new BorderItemResizableEditPolicy();
- }
- EditPolicy result = child.getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
- if(result == null) {
- result = new NonResizableEditPolicy();
- }
- return result;
- }
-
- protected Command getMoveChildrenCommand(Request request) {
- return null;
- }
-
- protected Command getCreateCommand(CreateRequest request) {
- return null;
- }
- };
- return lep;
- }
-
- /**
- * @generated
- */
- protected IFigure createNodeShape() {
- return primaryShape = new StructuredActivityNodeFigure();
- }
-
- /**
- * @generated
- */
- public StructuredActivityNodeFigure getPrimaryShape() {
- return (StructuredActivityNodeFigure)primaryShape;
- }
-
- /**
- * @generated
- */
- protected boolean addFixedChild(EditPart childEditPart) {
- if(childEditPart instanceof ExpansionRegionKeywordEditPart) {
- ((ExpansionRegionKeywordEditPart)childEditPart).setLabel(getPrimaryShape().getNameLabel());
- return true;
- }
- if(childEditPart instanceof ExpansionRegionStructuredActivityNodeContentCompartmentEditPart) {
- IFigure pane = getPrimaryShape().getStructuredActivityNodeCompartment();
- setupContentPane(pane); // FIXME each comparment should handle his content pane in his own way
- pane.add(((ExpansionRegionStructuredActivityNodeContentCompartmentEditPart)childEditPart).getFigure());
- return true;
- }
- //Papyrus Gencode :Affixed Expansion Node locator for Activity
- if(childEditPart instanceof ExpansionNodeAsInEditPart) {
- IBorderItemLocator locator = new ExpansionNodePositionLocator(getMainFigure(), PositionConstants.NORTH);
- getBorderedFigure().getBorderItemContainer().add(((ExpansionNodeAsInEditPart)childEditPart).getFigure(), locator);
- return true;
- }
- //Papyrus Gencode :Affixed Expansion Node locator for Activity
- if(childEditPart instanceof ExpansionNodeAsOutEditPart) {
- IBorderItemLocator locator = new ExpansionNodePositionLocator(getMainFigure(), PositionConstants.SOUTH);
- getBorderedFigure().getBorderItemContainer().add(((ExpansionNodeAsOutEditPart)childEditPart).getFigure(), locator);
- return true;
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected boolean removeFixedChild(EditPart childEditPart) {
- if(childEditPart instanceof ExpansionRegionKeywordEditPart) {
- return true;
- }
- if(childEditPart instanceof ExpansionRegionStructuredActivityNodeContentCompartmentEditPart) {
- IFigure pane = getPrimaryShape().getStructuredActivityNodeCompartment();
- pane.remove(((ExpansionRegionStructuredActivityNodeContentCompartmentEditPart)childEditPart).getFigure());
- return true;
- }
- if(childEditPart instanceof ExpansionNodeAsInEditPart) {
- getBorderedFigure().getBorderItemContainer().remove(((ExpansionNodeAsInEditPart)childEditPart).getFigure());
- return true;
- }
- if(childEditPart instanceof ExpansionNodeAsOutEditPart) {
- getBorderedFigure().getBorderItemContainer().remove(((ExpansionNodeAsOutEditPart)childEditPart).getFigure());
- return true;
- }
- return false;
- }
-
- /**
- * @generated
- */
- protected void addChildVisual(EditPart childEditPart, int index) {
- if(addFixedChild(childEditPart)) {
- return;
- }
- super.addChildVisual(childEditPart, -1);
- }
-
- /**
- * @generated
- */
- protected void removeChildVisual(EditPart childEditPart) {
- if(removeFixedChild(childEditPart)) {
- return;
- }
- super.removeChildVisual(childEditPart);
- }
-
- /**
- * @generated
- */
- protected IFigure getContentPaneFor(IGraphicalEditPart editPart) {
- if(editPart instanceof ExpansionRegionStructuredActivityNodeContentCompartmentEditPart) {
- return getPrimaryShape().getStructuredActivityNodeCompartment();
- }
- if(editPart instanceof IBorderItemEditPart) {
- return getBorderedFigure().getBorderItemContainer();
- }
- return getContentPane();
- }
-
- /**
- * @generated
- */
- protected NodeFigure createNodePlate() {
- String prefElementId = "ExpansionRegion";
- IPreferenceStore store = UMLDiagramEditorPlugin.getInstance().getPreferenceStore();
- String preferenceConstantWitdh = PreferenceInitializerForElementHelper.getpreferenceKey(getNotationView(), prefElementId, PreferencesConstantsHelper.WIDTH);
- String preferenceConstantHeight = PreferenceInitializerForElementHelper.getpreferenceKey(getNotationView(), prefElementId, PreferencesConstantsHelper.HEIGHT);
- 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
- */
- protected NodeFigure createMainFigure() {
- NodeFigure figure = createNodePlate();
- figure.setLayoutManager(new StackLayout());
- IFigure shape = createNodeShape();
- figure.add(shape);
- contentPane = setupContentPane(shape);
- return figure;
- }
-
- /**
- * 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(IFigure nodeShape) {
- if(nodeShape.getLayoutManager() == null) {
- ConstrainedToolbarLayout layout = new ConstrainedToolbarLayout();
- layout.setSpacing(5);
- nodeShape.setLayoutManager(layout);
- }
- return nodeShape; // use nodeShape itself as contentPane
- }
-
- /**
- * @generated
- */
- public IFigure getContentPane() {
- if(contentPane != null) {
- return contentPane;
- }
- return super.getContentPane();
- }
-
- /**
- * @generated
- */
- protected void setForegroundColor(Color color) {
- if(primaryShape != null) {
- primaryShape.setForegroundColor(color);
- }
- }
-
- /**
- * @generated
- */
- protected void setLineWidth(int width) {
- if(primaryShape instanceof Shape) {
- ((Shape)primaryShape).setLineWidth(width);
- }
- }
-
- /**
- * @generated
- */
- protected void setLineType(int style) {
- if(primaryShape instanceof Shape) {
- ((Shape)primaryShape).setLineStyle(style);
- }
- }
-
- /**
- * @generated
- */
- public EditPart getPrimaryChildEditPart() {
- return getChildBySemanticHint(UMLVisualIDRegistry.getType(ExpansionRegionKeywordEditPart.VISUAL_ID));
- }
-
- /**
- * @generated
- */
- public List<IElementType> getMARelTypesOnSource() {
- ArrayList<IElementType> types = new ArrayList<IElementType>(5);
- types.add(UMLElementTypes.ActionLocalPrecondition_4001);
- types.add(UMLElementTypes.ActionLocalPostcondition_4002);
- types.add(UMLElementTypes.ObjectFlow_4003);
- types.add(UMLElementTypes.ControlFlow_4004);
- types.add(UMLElementTypes.ExceptionHandler_4005);
- return types;
- }
-
- /**
- * @generated
- */
- public List<IElementType> getMARelTypesOnSourceAndTarget(IGraphicalEditPart targetEditPart) {
- LinkedList<IElementType> types = new LinkedList<IElementType>();
- if(targetEditPart instanceof DurationConstraintAsLocalPrecondEditPart) {
- types.add(UMLElementTypes.ActionLocalPrecondition_4001);
- }
- if(targetEditPart instanceof DurationConstraintAsLocalPostcondEditPart) {
- types.add(UMLElementTypes.ActionLocalPrecondition_4001);
- }
- if(targetEditPart instanceof TimeConstraintAsLocalPrecondEditPart) {
- types.add(UMLElementTypes.ActionLocalPrecondition_4001);
- }
- if(targetEditPart instanceof TimeConstraintAsLocalPostcondEditPart) {
- types.add(UMLElementTypes.ActionLocalPrecondition_4001);
- }
- if(targetEditPart instanceof IntervalConstraintAsLocalPrecondEditPart) {
- types.add(UMLElementTypes.ActionLocalPrecondition_4001);
- }
- if(targetEditPart instanceof IntervalConstraintAsLocalPostcondEditPart) {
- types.add(UMLElementTypes.ActionLocalPrecondition_4001);
- }
- if(targetEditPart instanceof ConstraintAsLocalPrecondEditPart) {
- types.add(UMLElementTypes.ActionLocalPrecondition_4001);
- }
- if(targetEditPart instanceof ConstraintAsLocalPostcondEditPart) {
- types.add(UMLElementTypes.ActionLocalPrecondition_4001);
- }
- if(targetEditPart instanceof ConstraintEditPartCN) {
- types.add(UMLElementTypes.ActionLocalPrecondition_4001);
- }
- if(targetEditPart instanceof DurationConstraintAsLocalPrecondEditPart) {
- types.add(UMLElementTypes.ActionLocalPostcondition_4002);
- }
- if(targetEditPart instanceof DurationConstraintAsLocalPostcondEditPart) {
- types.add(UMLElementTypes.ActionLocalPostcondition_4002);
- }
- if(targetEditPart instanceof TimeConstraintAsLocalPrecondEditPart) {
- types.add(UMLElementTypes.ActionLocalPostcondition_4002);
- }
- if(targetEditPart instanceof TimeConstraintAsLocalPostcondEditPart) {
- types.add(UMLElementTypes.ActionLocalPostcondition_4002);
- }
- if(targetEditPart instanceof IntervalConstraintAsLocalPrecondEditPart) {
- types.add(UMLElementTypes.ActionLocalPostcondition_4002);
- }
- if(targetEditPart instanceof IntervalConstraintAsLocalPostcondEditPart) {
- types.add(UMLElementTypes.ActionLocalPostcondition_4002);
- }
- if(targetEditPart instanceof ConstraintAsLocalPrecondEditPart) {
- types.add(UMLElementTypes.ActionLocalPostcondition_4002);
- }
- if(targetEditPart instanceof ConstraintAsLocalPostcondEditPart) {
- types.add(UMLElementTypes.ActionLocalPostcondition_4002);
- }
- if(targetEditPart instanceof ConstraintEditPartCN) {
- types.add(UMLElementTypes.ActionLocalPostcondition_4002);
- }
- if(targetEditPart instanceof InitialNodeEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ActivityFinalNodeEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof FlowFinalNodeEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof OpaqueActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ValuePinInOpaqueActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ActionInputPinInOpaqueActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInOpaqueActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof OutputPinInOpaqueActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof CallBehaviorActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ValuePinInCallBeActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ActionInputPinInCallBeActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInCallBeActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof OutputPinInCallBeActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof CallOperationActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ActionInputPinInCallOpActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ValuePinInCallOpActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInCallOpActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof OutputPinInCallOpActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ValuePinInCallOpActAsTargetEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ActionInputPinInCallOpActAsTargetEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInCallOpActAsTargetEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof DecisionNodeEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof MergeNodeEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ForkNodeEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof JoinNodeEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof DataStoreNodeEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof SendObjectActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ValuePinInSendObjActAsReqEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ActionInputPinInSendObjActAsReqEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInSendObjActAsReqEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ValuePinInSendObjActAsTargetEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ActionInputPinInSendObjActAsTargetEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInSendObjActAsTargetEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof SendSignalActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ActionInputPinInSendSigActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ValuePinInSendSigActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInSendSigActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ValuePinInSendSigActAsTargetEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ActionInputPinInSendSigActAsTargetEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInSendSigActAsTargetEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ActivityParameterNodeEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof AcceptEventActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof OutputPinInAcceptEventActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ValueSpecificationActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof OutputPinInValSpecActEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ConditionalNodeEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.ExpansionRegionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ExpansionNodeAsInEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ExpansionNodeAsOutEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof LoopNodeEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof OutputPinInLoopNodeAsBodyOutputEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof OutputPinInLoopNodeAsLoopVariableEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof OutputPinInLoopNodeAsResultEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof SequenceNodeEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof StructuredActivityNodeEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInLoopNodeAsVariableEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ReadSelfActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ReadSelfActionOutputPinEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof CreateObjectActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof OutputPinInCreateObjectActionAsResultEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ReadStructuralFeatureActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInReadStructuralFeatureAsObjectEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof OutputPinInReadStructuralFeatureAsResultEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof AddStructuralFeatureValueActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInAddStructuralFeatureValueActionAsObjectEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInAddStructuralFeatureValueActionAsValueEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof OutputPinInAddStructuralFeatureValueActionAsResultEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof DestroyObjectActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInDestroyObjectActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof ReadVariableActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof OutputPinInReadVariableActionAsResultEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof AddVariableValueActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInAddVariableValueActionAsInsertAtEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInAddVariableValueActionAsValueEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof BroadcastSignalActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof InputPinInBroadcastSignalActionEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- if(targetEditPart instanceof CentralBufferNodeEditPart) {
- types.add(UMLElementTypes.ObjectFlow_4003);
- }
- 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 CallBehaviorActionEditPart) {
- 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 org.eclipse.papyrus.uml.diagram.activity.edit.parts.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);
- }
- if(targetEditPart instanceof ValuePinInOpaqueActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ActionInputPinInOpaqueActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInOpaqueActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof OutputPinInOpaqueActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ValuePinInCallBeActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ActionInputPinInCallBeActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInCallBeActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof OutputPinInCallBeActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ActionInputPinInCallOpActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ValuePinInCallOpActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInCallOpActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof OutputPinInCallOpActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ValuePinInCallOpActAsTargetEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ActionInputPinInCallOpActAsTargetEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInCallOpActAsTargetEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof DataStoreNodeEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ValuePinInSendObjActAsReqEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ActionInputPinInSendObjActAsReqEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInSendObjActAsReqEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ValuePinInSendObjActAsTargetEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ActionInputPinInSendObjActAsTargetEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInSendObjActAsTargetEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ActionInputPinInSendSigActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ValuePinInSendSigActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInSendSigActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ValuePinInSendSigActAsTargetEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ActionInputPinInSendSigActAsTargetEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInSendSigActAsTargetEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ActivityParameterNodeEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof OutputPinInAcceptEventActionEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof OutputPinInValSpecActEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ExpansionNodeAsInEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ExpansionNodeAsOutEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof OutputPinInLoopNodeAsBodyOutputEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof OutputPinInLoopNodeAsLoopVariableEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof OutputPinInLoopNodeAsResultEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInLoopNodeAsVariableEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof ReadSelfActionOutputPinEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof OutputPinInCreateObjectActionAsResultEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInReadStructuralFeatureAsObjectEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof OutputPinInReadStructuralFeatureAsResultEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInAddStructuralFeatureValueActionAsObjectEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInAddStructuralFeatureValueActionAsValueEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof OutputPinInAddStructuralFeatureValueActionAsResultEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInDestroyObjectActionEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof OutputPinInReadVariableActionAsResultEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInAddVariableValueActionAsInsertAtEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInAddVariableValueActionAsValueEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof InputPinInBroadcastSignalActionEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- if(targetEditPart instanceof CentralBufferNodeEditPart) {
- types.add(UMLElementTypes.ExceptionHandler_4005);
- }
- return types;
- }
-
- /**
- * @generated
- */
- public List<IElementType> getMATypesForTarget(IElementType relationshipType) {
- LinkedList<IElementType> types = new LinkedList<IElementType>();
- if(relationshipType == UMLElementTypes.ActionLocalPrecondition_4001) {
- 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);
- } else if(relationshipType == UMLElementTypes.ActionLocalPostcondition_4002) {
- 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);
- } else if(relationshipType == UMLElementTypes.ObjectFlow_4003) {
- 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);
- } else 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);
- } else if(relationshipType == UMLElementTypes.ExceptionHandler_4005) {
- types.add(UMLElementTypes.ValuePin_3015);
- types.add(UMLElementTypes.ActionInputPin_3016);
- types.add(UMLElementTypes.InputPin_3013);
- types.add(UMLElementTypes.OutputPin_3014);
- types.add(UMLElementTypes.ValuePin_3017);
- types.add(UMLElementTypes.ActionInputPin_3018);
- types.add(UMLElementTypes.InputPin_3019);
- types.add(UMLElementTypes.OutputPin_3020);
- 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.DataStoreNode_3078);
- 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.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.OutputPin_3064);
- types.add(UMLElementTypes.OutputPin_3077);
- types.add(UMLElementTypes.ExpansionNode_3074);
- types.add(UMLElementTypes.ExpansionNode_3075);
- types.add(UMLElementTypes.OutputPin_3109);
- types.add(UMLElementTypes.OutputPin_3110);
- types.add(UMLElementTypes.OutputPin_3111);
- types.add(UMLElementTypes.InputPin_3105);
- types.add(UMLElementTypes.OutputPin_3084);
- types.add(UMLElementTypes.OutputPin_3087);
- types.add(UMLElementTypes.InputPin_3089);
- types.add(UMLElementTypes.OutputPin_3090);
- types.add(UMLElementTypes.InputPin_3092);
- types.add(UMLElementTypes.InputPin_3093);
- types.add(UMLElementTypes.OutputPin_3094);
- types.add(UMLElementTypes.InputPin_3096);
- types.add(UMLElementTypes.OutputPin_3098);
- types.add(UMLElementTypes.InputPin_3100);
- types.add(UMLElementTypes.InputPin_3101);
- types.add(UMLElementTypes.InputPin_3103);
- types.add(UMLElementTypes.CentralBufferNode_3104);
- }
- return types;
- }
-
- /**
- * @generated
- */
- public List<IElementType> getMARelTypesOnTarget() {
- ArrayList<IElementType> types = new ArrayList<IElementType>(4);
- types.add(UMLElementTypes.ObjectFlow_4003);
- types.add(UMLElementTypes.ControlFlow_4004);
- types.add(UMLElementTypes.CommentAnnotatedElement_4006);
- types.add(UMLElementTypes.ConstraintConstrainedElement_4007);
- return types;
- }
-
- /**
- * @generated
- */
- public List<IElementType> getMATypesForSource(IElementType relationshipType) {
- LinkedList<IElementType> types = new LinkedList<IElementType>();
- if(relationshipType == UMLElementTypes.ObjectFlow_4003) {
- 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);
- } else 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);
- } 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(EStructuralFeature feature) {
- 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 = PreferencesConstantsHelper.getElementConstant("ExpansionRegion", PreferencesConstantsHelper.COLOR_LINE);
- } else if(feature == NotationPackage.eINSTANCE.getFontStyle_FontColor()) {
- prefColor = PreferencesConstantsHelper.getElementConstant("ExpansionRegion", PreferencesConstantsHelper.COLOR_FONT);
- } else if(feature == NotationPackage.eINSTANCE.getFillStyle_FillColor()) {
- prefColor = PreferencesConstantsHelper.getElementConstant("ExpansionRegion", PreferencesConstantsHelper.COLOR_FILL);
- }
- result = FigureUtilities.RGBToInteger(PreferenceConverter.getColor((IPreferenceStore)preferenceStore, prefColor));
- } else if(feature == NotationPackage.eINSTANCE.getFillStyle_Transparency() || feature == NotationPackage.eINSTANCE.getFillStyle_Gradient()) {
- String prefGradient = PreferencesConstantsHelper.getElementConstant("ExpansionRegion", PreferencesConstantsHelper.COLOR_GRADIENT);
- 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;
- }
-}
+/***************************************************************************** + * Copyright (c) 2010 Atos Origin. + * + * + * 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 + * + * Contributors: + * Atos Origin - Initial API and implementation + * + *****************************************************************************/ +package org.eclipse.papyrus.uml.diagram.activity.edit.parts; + +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; + +import org.eclipse.draw2d.IFigure; +import org.eclipse.draw2d.PositionConstants; +import org.eclipse.draw2d.Shape; +import org.eclipse.draw2d.StackLayout; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.gef.EditPart; +import org.eclipse.gef.EditPolicy; +import org.eclipse.gef.Request; +import org.eclipse.gef.commands.Command; +import org.eclipse.gef.editpolicies.LayoutEditPolicy; +import org.eclipse.gef.editpolicies.NonResizableEditPolicy; +import org.eclipse.gef.requests.CreateRequest; +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.diagram.ui.figures.IBorderItemLocator; +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.common.preferences.PreferencesConstantsHelper; +import org.eclipse.papyrus.uml.diagram.activity.draw2d.StructuredActivityNodeFigure; +import org.eclipse.papyrus.uml.diagram.activity.edit.policies.CustomDiagramDragDropEditPolicy; +import org.eclipse.papyrus.uml.diagram.activity.edit.policies.ExpansionRegionItemSemanticEditPolicy; +import org.eclipse.papyrus.uml.diagram.activity.edit.policies.OpenDiagramEditPolicy; +import org.eclipse.papyrus.uml.diagram.activity.locator.ExpansionNodePositionLocator; +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.UMLNodeEditPart; +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.PapyrusCreationEditPolicy; +import org.eclipse.papyrus.uml.diagram.common.editpolicies.ShowHideCompartmentEditPolicy; +import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper; +import org.eclipse.swt.graphics.Color; + +/** + * @generated + */ +public class ExpansionRegionEditPart extends UMLNodeEditPart { + + /** + * @generated + */ + public static final int VISUAL_ID = 3070; + + /** + * @generated + */ + protected IFigure contentPane; + + /** + * @generated + */ + protected IFigure primaryShape; + + /** + * @generated + */ + public ExpansionRegionEditPart(View view) { + super(view); + } + + /** + * @generated + */ + protected void createDefaultEditPolicies() { + installEditPolicy(EditPolicyRoles.CREATION_ROLE, new PapyrusCreationEditPolicy()); + super.createDefaultEditPolicies(); + installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new ExpansionRegionItemSemanticEditPolicy()); + installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new CustomDiagramDragDropEditPolicy()); + //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.ExpansionRegionCanonicalEditPolicy()); + installEditPolicy(EditPolicy.LAYOUT_ROLE, createLayoutEditPolicy()); + installEditPolicy(EditPolicyRoles.OPEN_ROLE, new OpenDiagramEditPolicy()); + installEditPolicy(ShowHideCompartmentEditPolicy.SHOW_HIDE_COMPARTMENT_POLICY, new ShowHideCompartmentEditPolicy()); + installEditPolicy(AppliedStereotypeLabelDisplayEditPolicy.STEREOTYPE_LABEL_POLICY, new AppliedStereotypeNodeLabelDisplayEditPolicy()); + // 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 + **/ + protected void handleNotificationEvent(Notification event) { + super.handleNotificationEvent(event); + } + + /** + * @generated + */ + protected LayoutEditPolicy createLayoutEditPolicy() { + org.eclipse.gmf.runtime.diagram.ui.editpolicies.LayoutEditPolicy lep = new org.eclipse.gmf.runtime.diagram.ui.editpolicies.LayoutEditPolicy() { + + protected EditPolicy createChildEditPolicy(EditPart child) { + View childView = (View)child.getModel(); + switch(UMLVisualIDRegistry.getVisualID(childView)) { + case ExpansionNodeAsInEditPart.VISUAL_ID: + case ExpansionNodeAsOutEditPart.VISUAL_ID: + return new BorderItemResizableEditPolicy(); + } + EditPolicy result = child.getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE); + if(result == null) { + result = new NonResizableEditPolicy(); + } + return result; + } + + protected Command getMoveChildrenCommand(Request request) { + return null; + } + + protected Command getCreateCommand(CreateRequest request) { + return null; + } + }; + return lep; + } + + /** + * @generated + */ + protected IFigure createNodeShape() { + return primaryShape = new StructuredActivityNodeFigure(); + } + + /** + * @generated + */ + public StructuredActivityNodeFigure getPrimaryShape() { + return (StructuredActivityNodeFigure)primaryShape; + } + + /** + * @generated + */ + protected boolean addFixedChild(EditPart childEditPart) { + if(childEditPart instanceof ExpansionRegionKeywordEditPart) { + ((ExpansionRegionKeywordEditPart)childEditPart).setLabel(getPrimaryShape().getNameLabel()); + return true; + } + if(childEditPart instanceof ExpansionRegionStructuredActivityNodeContentCompartmentEditPart) { + IFigure pane = getPrimaryShape().getStructuredActivityNodeCompartment(); + setupContentPane(pane); // FIXME each comparment should handle his content pane in his own way + pane.add(((ExpansionRegionStructuredActivityNodeContentCompartmentEditPart)childEditPart).getFigure()); + return true; + } + //Papyrus Gencode :Affixed Expansion Node locator for Activity + if(childEditPart instanceof ExpansionNodeAsInEditPart) { + IBorderItemLocator locator = new ExpansionNodePositionLocator(getMainFigure(), PositionConstants.NORTH); + getBorderedFigure().getBorderItemContainer().add(((ExpansionNodeAsInEditPart)childEditPart).getFigure(), locator); + return true; + } + //Papyrus Gencode :Affixed Expansion Node locator for Activity + if(childEditPart instanceof ExpansionNodeAsOutEditPart) { + IBorderItemLocator locator = new ExpansionNodePositionLocator(getMainFigure(), PositionConstants.SOUTH); + getBorderedFigure().getBorderItemContainer().add(((ExpansionNodeAsOutEditPart)childEditPart).getFigure(), locator); + return true; + } + return false; + } + + /** + * @generated + */ + protected boolean removeFixedChild(EditPart childEditPart) { + if(childEditPart instanceof ExpansionRegionKeywordEditPart) { + return true; + } + if(childEditPart instanceof ExpansionRegionStructuredActivityNodeContentCompartmentEditPart) { + IFigure pane = getPrimaryShape().getStructuredActivityNodeCompartment(); + pane.remove(((ExpansionRegionStructuredActivityNodeContentCompartmentEditPart)childEditPart).getFigure()); + return true; + } + if(childEditPart instanceof ExpansionNodeAsInEditPart) { + getBorderedFigure().getBorderItemContainer().remove(((ExpansionNodeAsInEditPart)childEditPart).getFigure()); + return true; + } + if(childEditPart instanceof ExpansionNodeAsOutEditPart) { + getBorderedFigure().getBorderItemContainer().remove(((ExpansionNodeAsOutEditPart)childEditPart).getFigure()); + return true; + } + return false; + } + + /** + * @generated + */ + protected void addChildVisual(EditPart childEditPart, int index) { + if(addFixedChild(childEditPart)) { + return; + } + super.addChildVisual(childEditPart, -1); + } + + /** + * @generated + */ + protected void removeChildVisual(EditPart childEditPart) { + if(removeFixedChild(childEditPart)) { + return; + } + super.removeChildVisual(childEditPart); + } + + /** + * @generated + */ + protected IFigure getContentPaneFor(IGraphicalEditPart editPart) { + if(editPart instanceof ExpansionRegionStructuredActivityNodeContentCompartmentEditPart) { + return getPrimaryShape().getStructuredActivityNodeCompartment(); + } + if(editPart instanceof IBorderItemEditPart) { + return getBorderedFigure().getBorderItemContainer(); + } + return getContentPane(); + } + + /** + * @generated + */ + protected NodeFigure createNodePlate() { + String prefElementId = "ExpansionRegion"; + IPreferenceStore store = UMLDiagramEditorPlugin.getInstance().getPreferenceStore(); + String preferenceConstantWitdh = PreferenceInitializerForElementHelper.getpreferenceKey(getNotationView(), prefElementId, PreferencesConstantsHelper.WIDTH); + String preferenceConstantHeight = PreferenceInitializerForElementHelper.getpreferenceKey(getNotationView(), prefElementId, PreferencesConstantsHelper.HEIGHT); + 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 + */ + protected NodeFigure createMainFigure() { + NodeFigure figure = createNodePlate(); + figure.setLayoutManager(new StackLayout()); + IFigure shape = createNodeShape(); + figure.add(shape); + contentPane = setupContentPane(shape); + return figure; + } + + /** + * 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(IFigure nodeShape) { + if(nodeShape.getLayoutManager() == null) { + ConstrainedToolbarLayout layout = new ConstrainedToolbarLayout(); + layout.setSpacing(5); + nodeShape.setLayoutManager(layout); + } + return nodeShape; // use nodeShape itself as contentPane + } + + /** + * @generated + */ + public IFigure getContentPane() { + if(contentPane != null) { + return contentPane; + } + return super.getContentPane(); + } + + /** + * @generated + */ + protected void setForegroundColor(Color color) { + if(primaryShape != null) { + primaryShape.setForegroundColor(color); + } + } + + /** + * @generated + */ + protected void setLineWidth(int width) { + if(primaryShape instanceof Shape) { + ((Shape)primaryShape).setLineWidth(width); + } + } + + /** + * @generated + */ + protected void setLineType(int style) { + if(primaryShape instanceof Shape) { + ((Shape)primaryShape).setLineStyle(style); + } + } + + /** + * @generated + */ + public EditPart getPrimaryChildEditPart() { + return getChildBySemanticHint(UMLVisualIDRegistry.getType(ExpansionRegionKeywordEditPart.VISUAL_ID)); + } + + /** + * @generated + */ + public List<IElementType> getMARelTypesOnSource() { + ArrayList<IElementType> types = new ArrayList<IElementType>(5); + types.add(UMLElementTypes.ActionLocalPrecondition_4001); + types.add(UMLElementTypes.ActionLocalPostcondition_4002); + types.add(UMLElementTypes.ObjectFlow_4003); + types.add(UMLElementTypes.ControlFlow_4004); + types.add(UMLElementTypes.ExceptionHandler_4005); + return types; + } + + /** + * @generated + */ + public List<IElementType> getMARelTypesOnSourceAndTarget(IGraphicalEditPart targetEditPart) { + LinkedList<IElementType> types = new LinkedList<IElementType>(); + if(targetEditPart instanceof DurationConstraintAsLocalPrecondEditPart) { + types.add(UMLElementTypes.ActionLocalPrecondition_4001); + } + if(targetEditPart instanceof DurationConstraintAsLocalPostcondEditPart) { + types.add(UMLElementTypes.ActionLocalPrecondition_4001); + } + if(targetEditPart instanceof TimeConstraintAsLocalPrecondEditPart) { + types.add(UMLElementTypes.ActionLocalPrecondition_4001); + } + if(targetEditPart instanceof TimeConstraintAsLocalPostcondEditPart) { + types.add(UMLElementTypes.ActionLocalPrecondition_4001); + } + if(targetEditPart instanceof IntervalConstraintAsLocalPrecondEditPart) { + types.add(UMLElementTypes.ActionLocalPrecondition_4001); + } + if(targetEditPart instanceof IntervalConstraintAsLocalPostcondEditPart) { + types.add(UMLElementTypes.ActionLocalPrecondition_4001); + } + if(targetEditPart instanceof ConstraintAsLocalPrecondEditPart) { + types.add(UMLElementTypes.ActionLocalPrecondition_4001); + } + if(targetEditPart instanceof ConstraintAsLocalPostcondEditPart) { + types.add(UMLElementTypes.ActionLocalPrecondition_4001); + } + if(targetEditPart instanceof ConstraintEditPartCN) { + types.add(UMLElementTypes.ActionLocalPrecondition_4001); + } + if(targetEditPart instanceof DurationConstraintAsLocalPrecondEditPart) { + types.add(UMLElementTypes.ActionLocalPostcondition_4002); + } + if(targetEditPart instanceof DurationConstraintAsLocalPostcondEditPart) { + types.add(UMLElementTypes.ActionLocalPostcondition_4002); + } + if(targetEditPart instanceof TimeConstraintAsLocalPrecondEditPart) { + types.add(UMLElementTypes.ActionLocalPostcondition_4002); + } + if(targetEditPart instanceof TimeConstraintAsLocalPostcondEditPart) { + types.add(UMLElementTypes.ActionLocalPostcondition_4002); + } + if(targetEditPart instanceof IntervalConstraintAsLocalPrecondEditPart) { + types.add(UMLElementTypes.ActionLocalPostcondition_4002); + } + if(targetEditPart instanceof IntervalConstraintAsLocalPostcondEditPart) { + types.add(UMLElementTypes.ActionLocalPostcondition_4002); + } + if(targetEditPart instanceof ConstraintAsLocalPrecondEditPart) { + types.add(UMLElementTypes.ActionLocalPostcondition_4002); + } + if(targetEditPart instanceof ConstraintAsLocalPostcondEditPart) { + types.add(UMLElementTypes.ActionLocalPostcondition_4002); + } + if(targetEditPart instanceof ConstraintEditPartCN) { + types.add(UMLElementTypes.ActionLocalPostcondition_4002); + } + if(targetEditPart instanceof InitialNodeEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ActivityFinalNodeEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof FlowFinalNodeEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof OpaqueActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ValuePinInOpaqueActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ActionInputPinInOpaqueActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInOpaqueActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof OutputPinInOpaqueActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof CallBehaviorActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ValuePinInCallBeActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ActionInputPinInCallBeActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInCallBeActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof OutputPinInCallBeActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof CallOperationActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ActionInputPinInCallOpActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ValuePinInCallOpActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInCallOpActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof OutputPinInCallOpActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ValuePinInCallOpActAsTargetEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ActionInputPinInCallOpActAsTargetEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInCallOpActAsTargetEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof DecisionNodeEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof MergeNodeEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ForkNodeEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof JoinNodeEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof DataStoreNodeEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof SendObjectActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ValuePinInSendObjActAsReqEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ActionInputPinInSendObjActAsReqEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInSendObjActAsReqEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ValuePinInSendObjActAsTargetEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ActionInputPinInSendObjActAsTargetEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInSendObjActAsTargetEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof SendSignalActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ActionInputPinInSendSigActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ValuePinInSendSigActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInSendSigActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ValuePinInSendSigActAsTargetEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ActionInputPinInSendSigActAsTargetEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInSendSigActAsTargetEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ActivityParameterNodeEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof AcceptEventActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof OutputPinInAcceptEventActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ValueSpecificationActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof OutputPinInValSpecActEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ConditionalNodeEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof org.eclipse.papyrus.uml.diagram.activity.edit.parts.ExpansionRegionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ExpansionNodeAsInEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ExpansionNodeAsOutEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof LoopNodeEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof OutputPinInLoopNodeAsBodyOutputEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof OutputPinInLoopNodeAsLoopVariableEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof OutputPinInLoopNodeAsResultEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof SequenceNodeEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof StructuredActivityNodeEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInLoopNodeAsVariableEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ReadSelfActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ReadSelfActionOutputPinEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof CreateObjectActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof OutputPinInCreateObjectActionAsResultEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ReadStructuralFeatureActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInReadStructuralFeatureAsObjectEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof OutputPinInReadStructuralFeatureAsResultEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof AddStructuralFeatureValueActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInAddStructuralFeatureValueActionAsObjectEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInAddStructuralFeatureValueActionAsValueEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof OutputPinInAddStructuralFeatureValueActionAsResultEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof DestroyObjectActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInDestroyObjectActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof ReadVariableActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof OutputPinInReadVariableActionAsResultEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof AddVariableValueActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInAddVariableValueActionAsInsertAtEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInAddVariableValueActionAsValueEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof BroadcastSignalActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof InputPinInBroadcastSignalActionEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + if(targetEditPart instanceof CentralBufferNodeEditPart) { + types.add(UMLElementTypes.ObjectFlow_4003); + } + 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 CallBehaviorActionEditPart) { + 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 org.eclipse.papyrus.uml.diagram.activity.edit.parts.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); + } + if(targetEditPart instanceof ValuePinInOpaqueActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ActionInputPinInOpaqueActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInOpaqueActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof OutputPinInOpaqueActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ValuePinInCallBeActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ActionInputPinInCallBeActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInCallBeActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof OutputPinInCallBeActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ActionInputPinInCallOpActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ValuePinInCallOpActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInCallOpActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof OutputPinInCallOpActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ValuePinInCallOpActAsTargetEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ActionInputPinInCallOpActAsTargetEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInCallOpActAsTargetEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof DataStoreNodeEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ValuePinInSendObjActAsReqEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ActionInputPinInSendObjActAsReqEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInSendObjActAsReqEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ValuePinInSendObjActAsTargetEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ActionInputPinInSendObjActAsTargetEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInSendObjActAsTargetEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ActionInputPinInSendSigActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ValuePinInSendSigActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInSendSigActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ValuePinInSendSigActAsTargetEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ActionInputPinInSendSigActAsTargetEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInSendSigActAsTargetEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ActivityParameterNodeEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof OutputPinInAcceptEventActionEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof OutputPinInValSpecActEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ExpansionNodeAsInEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ExpansionNodeAsOutEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof OutputPinInLoopNodeAsBodyOutputEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof OutputPinInLoopNodeAsLoopVariableEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof OutputPinInLoopNodeAsResultEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInLoopNodeAsVariableEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof ReadSelfActionOutputPinEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof OutputPinInCreateObjectActionAsResultEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInReadStructuralFeatureAsObjectEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof OutputPinInReadStructuralFeatureAsResultEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInAddStructuralFeatureValueActionAsObjectEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInAddStructuralFeatureValueActionAsValueEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof OutputPinInAddStructuralFeatureValueActionAsResultEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInDestroyObjectActionEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof OutputPinInReadVariableActionAsResultEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInAddVariableValueActionAsInsertAtEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInAddVariableValueActionAsValueEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof InputPinInBroadcastSignalActionEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + if(targetEditPart instanceof CentralBufferNodeEditPart) { + types.add(UMLElementTypes.ExceptionHandler_4005); + } + return types; + } + + /** + * @generated + */ + public List<IElementType> getMATypesForTarget(IElementType relationshipType) { + LinkedList<IElementType> types = new LinkedList<IElementType>(); + if(relationshipType == UMLElementTypes.ActionLocalPrecondition_4001) { + 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); + } else if(relationshipType == UMLElementTypes.ActionLocalPostcondition_4002) { + 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); + } else if(relationshipType == UMLElementTypes.ObjectFlow_4003) { + 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); + } else 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); + } else if(relationshipType == UMLElementTypes.ExceptionHandler_4005) { + types.add(UMLElementTypes.ValuePin_3015); + types.add(UMLElementTypes.ActionInputPin_3016); + types.add(UMLElementTypes.InputPin_3013); + types.add(UMLElementTypes.OutputPin_3014); + types.add(UMLElementTypes.ValuePin_3017); + types.add(UMLElementTypes.ActionInputPin_3018); + types.add(UMLElementTypes.InputPin_3019); + types.add(UMLElementTypes.OutputPin_3020); + 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.DataStoreNode_3078); + 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.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.OutputPin_3064); + types.add(UMLElementTypes.OutputPin_3077); + types.add(UMLElementTypes.ExpansionNode_3074); + types.add(UMLElementTypes.ExpansionNode_3075); + types.add(UMLElementTypes.OutputPin_3109); + types.add(UMLElementTypes.OutputPin_3110); + types.add(UMLElementTypes.OutputPin_3111); + types.add(UMLElementTypes.InputPin_3105); + types.add(UMLElementTypes.OutputPin_3084); + types.add(UMLElementTypes.OutputPin_3087); + types.add(UMLElementTypes.InputPin_3089); + types.add(UMLElementTypes.OutputPin_3090); + types.add(UMLElementTypes.InputPin_3092); + types.add(UMLElementTypes.InputPin_3093); + types.add(UMLElementTypes.OutputPin_3094); + types.add(UMLElementTypes.InputPin_3096); + types.add(UMLElementTypes.OutputPin_3098); + types.add(UMLElementTypes.InputPin_3100); + types.add(UMLElementTypes.InputPin_3101); + types.add(UMLElementTypes.InputPin_3103); + types.add(UMLElementTypes.CentralBufferNode_3104); + } + return types; + } + + /** + * @generated + */ + public List<IElementType> getMARelTypesOnTarget() { + ArrayList<IElementType> types = new ArrayList<IElementType>(4); + types.add(UMLElementTypes.ObjectFlow_4003); + types.add(UMLElementTypes.ControlFlow_4004); + types.add(UMLElementTypes.CommentAnnotatedElement_4006); + types.add(UMLElementTypes.ConstraintConstrainedElement_4007); + return types; + } + + /** + * @generated + */ + public List<IElementType> getMATypesForSource(IElementType relationshipType) { + LinkedList<IElementType> types = new LinkedList<IElementType>(); + if(relationshipType == UMLElementTypes.ObjectFlow_4003) { + 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); + } else 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); + } 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(EStructuralFeature feature) { + 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 = PreferencesConstantsHelper.getElementConstant("ExpansionRegion", PreferencesConstantsHelper.COLOR_LINE); + } else if(feature == NotationPackage.eINSTANCE.getFontStyle_FontColor()) { + prefColor = PreferencesConstantsHelper.getElementConstant("ExpansionRegion", PreferencesConstantsHelper.COLOR_FONT); + } else if(feature == NotationPackage.eINSTANCE.getFillStyle_FillColor()) { + prefColor = PreferencesConstantsHelper.getElementConstant("ExpansionRegion", PreferencesConstantsHelper.COLOR_FILL); + } + result = FigureUtilities.RGBToInteger(PreferenceConverter.getColor((IPreferenceStore)preferenceStore, prefColor)); + } else if(feature == NotationPackage.eINSTANCE.getFillStyle_Transparency() || feature == NotationPackage.eINSTANCE.getFillStyle_Gradient()) { + String prefGradient = PreferencesConstantsHelper.getElementConstant("ExpansionRegion", PreferencesConstantsHelper.COLOR_GRADIENT); + 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; + } +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/parts/ExpansionRegionStructuredActivityNodeContentCompartmentEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/parts/ExpansionRegionStructuredActivityNodeContentCompartmentEditPart.java index 95ff0931c1f..dd6d021cba0 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/parts/ExpansionRegionStructuredActivityNodeContentCompartmentEditPart.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/parts/ExpansionRegionStructuredActivityNodeContentCompartmentEditPart.java @@ -1,128 +1,128 @@ -/*****************************************************************************
- * Copyright (c) 2010 Atos Origin.
- *
- *
- * 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
- *
- * Contributors:
- * Atos Origin - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.uml.diagram.activity.edit.parts;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.draw2d.geometry.Rectangle;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeCompartmentEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.DragDropEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.diagram.ui.figures.ResizableCompartmentFigure;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbarLayout;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.uml.diagram.activity.edit.policies.ActivityGroupCustomDragAndDropEditPolicy;
-import org.eclipse.papyrus.uml.diagram.activity.edit.policies.CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy;
-import org.eclipse.papyrus.uml.diagram.activity.edit.policies.ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy;
-import org.eclipse.papyrus.uml.diagram.activity.edit.policies.RemoveOrphanViewPolicy;
-import org.eclipse.papyrus.uml.diagram.activity.part.Messages;
-import org.eclipse.papyrus.uml.diagram.common.editpolicies.DuplicatePasteEditPolicy;
-import org.eclipse.papyrus.uml.diagram.common.editpolicies.PapyrusCreationEditPolicy;
-
-/**
- * @generated
- */
-public class ExpansionRegionStructuredActivityNodeContentCompartmentEditPart extends ShapeCompartmentEditPart {
-
- /**
- * @generated
- */
- public static final int VISUAL_ID = 7009;
-
- /**
- * @generated
- */
- public ExpansionRegionStructuredActivityNodeContentCompartmentEditPart(View view) {
- super(view);
- }
-
- /**
- * @generated
- */
- public String getCompartmentName() {
- return Messages.ExpansionRegionStructuredActivityNodeContentCompartmentEditPart_title;
- }
-
- /**
- * @generated NOT (remove the top border)
- */
- public IFigure createFigure() {
- ResizableCompartmentFigure result = (ResizableCompartmentFigure)super.createFigure();
- result.setTitleVisibility(false);
- // remove the top border
- result.setBorder(null);
- return result;
- }
-
- /**
- * @generated
- */
- protected void createDefaultEditPolicies() {
- super.createDefaultEditPolicies();
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy());
- installEditPolicy(EditPolicyRoles.CREATION_ROLE, new PapyrusCreationEditPolicy());
- installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new DragDropEditPolicy());
- installEditPolicy(DuplicatePasteEditPolicy.PASTE_ROLE, new DuplicatePasteEditPolicy());
- //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.ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy());
- installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new ActivityGroupCustomDragAndDropEditPolicy());
- installEditPolicy("RemoveOrphanView", new RemoveOrphanViewPolicy()); //$NON-NLS-1$
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy());
- }
-
- /**
- * @generated
- */
- protected void setRatio(Double ratio) {
- if(getFigure().getParent().getLayoutManager() instanceof ConstrainedToolbarLayout) {
- super.setRatio(ratio);
- }
- }
-
- /**
- * @generated
- */
- protected void handleNotificationEvent(Notification notification) {
- Object feature = notification.getFeature();
- if(NotationPackage.eINSTANCE.getSize_Width().equals(feature) || NotationPackage.eINSTANCE.getSize_Height().equals(feature) || NotationPackage.eINSTANCE.getLocation_X().equals(feature) || NotationPackage.eINSTANCE.getLocation_Y().equals(feature)) {
- refreshBounds();
- }
- super.handleNotificationEvent(notification);
- }
-
- /**
- * @generated
- */
- protected void refreshBounds() {
- int width = ((Integer)getStructuralFeatureValue(NotationPackage.eINSTANCE.getSize_Width())).intValue();
- int height = ((Integer)getStructuralFeatureValue(NotationPackage.eINSTANCE.getSize_Height())).intValue();
- Dimension size = new Dimension(width, height);
- int x = ((Integer)getStructuralFeatureValue(NotationPackage.eINSTANCE.getLocation_X())).intValue();
- int y = ((Integer)getStructuralFeatureValue(NotationPackage.eINSTANCE.getLocation_Y())).intValue();
- Point loc = new Point(x, y);
- ((GraphicalEditPart)getParent()).setLayoutConstraint(this, getFigure(), new Rectangle(loc, size));
- }
-
- /**
- * @generated
- */
- protected void refreshVisuals() {
- super.refreshVisuals();
- refreshBounds();
- }
-}
+/***************************************************************************** + * Copyright (c) 2010 Atos Origin. + * + * + * 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 + * + * Contributors: + * Atos Origin - Initial API and implementation + * + *****************************************************************************/ +package org.eclipse.papyrus.uml.diagram.activity.edit.parts; + +import org.eclipse.draw2d.IFigure; +import org.eclipse.draw2d.geometry.Dimension; +import org.eclipse.draw2d.geometry.Point; +import org.eclipse.draw2d.geometry.Rectangle; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.gef.GraphicalEditPart; +import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeCompartmentEditPart; +import org.eclipse.gmf.runtime.diagram.ui.editpolicies.DragDropEditPolicy; +import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles; +import org.eclipse.gmf.runtime.diagram.ui.figures.ResizableCompartmentFigure; +import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbarLayout; +import org.eclipse.gmf.runtime.notation.NotationPackage; +import org.eclipse.gmf.runtime.notation.View; +import org.eclipse.papyrus.uml.diagram.activity.edit.policies.ActivityGroupCustomDragAndDropEditPolicy; +import org.eclipse.papyrus.uml.diagram.activity.edit.policies.CustomExpansionRegionStructureCompartmentCreationEditPolicy; +import org.eclipse.papyrus.uml.diagram.activity.edit.policies.CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy; +import org.eclipse.papyrus.uml.diagram.activity.edit.policies.ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy; +import org.eclipse.papyrus.uml.diagram.activity.edit.policies.RemoveOrphanViewPolicy; +import org.eclipse.papyrus.uml.diagram.activity.part.Messages; +import org.eclipse.papyrus.uml.diagram.common.editpolicies.DuplicatePasteEditPolicy; + +/** + * @generated + */ +public class ExpansionRegionStructuredActivityNodeContentCompartmentEditPart extends ShapeCompartmentEditPart { + + /** + * @generated + */ + public static final int VISUAL_ID = 7009; + + /** + * @generated + */ + public ExpansionRegionStructuredActivityNodeContentCompartmentEditPart(View view) { + super(view); + } + + /** + * @generated + */ + public String getCompartmentName() { + return Messages.ExpansionRegionStructuredActivityNodeContentCompartmentEditPart_title; + } + + /** + * @generated NOT (remove the top border) + */ + public IFigure createFigure() { + ResizableCompartmentFigure result = (ResizableCompartmentFigure)super.createFigure(); + result.setTitleVisibility(false); + // remove the top border + result.setBorder(null); + return result; + } + + /** + * @generated + */ + protected void createDefaultEditPolicies() { + super.createDefaultEditPolicies(); + installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy()); + installEditPolicy(EditPolicyRoles.CREATION_ROLE, new CustomExpansionRegionStructureCompartmentCreationEditPolicy()); + installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new DragDropEditPolicy()); + installEditPolicy(DuplicatePasteEditPolicy.PASTE_ROLE, new DuplicatePasteEditPolicy()); + //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.ExpansionRegionStructuredActivityNodeContentCompartmentCanonicalEditPolicy()); + installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new ActivityGroupCustomDragAndDropEditPolicy()); + installEditPolicy("RemoveOrphanView", new RemoveOrphanViewPolicy()); //$NON-NLS-1$ + installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new CustomExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy()); + } + + /** + * @generated + */ + protected void setRatio(Double ratio) { + if(getFigure().getParent().getLayoutManager() instanceof ConstrainedToolbarLayout) { + super.setRatio(ratio); + } + } + + /** + * @generated + */ + protected void handleNotificationEvent(Notification notification) { + Object feature = notification.getFeature(); + if(NotationPackage.eINSTANCE.getSize_Width().equals(feature) || NotationPackage.eINSTANCE.getSize_Height().equals(feature) || NotationPackage.eINSTANCE.getLocation_X().equals(feature) || NotationPackage.eINSTANCE.getLocation_Y().equals(feature)) { + refreshBounds(); + } + super.handleNotificationEvent(notification); + } + + /** + * @generated + */ + protected void refreshBounds() { + int width = ((Integer)getStructuralFeatureValue(NotationPackage.eINSTANCE.getSize_Width())).intValue(); + int height = ((Integer)getStructuralFeatureValue(NotationPackage.eINSTANCE.getSize_Height())).intValue(); + Dimension size = new Dimension(width, height); + int x = ((Integer)getStructuralFeatureValue(NotationPackage.eINSTANCE.getLocation_X())).intValue(); + int y = ((Integer)getStructuralFeatureValue(NotationPackage.eINSTANCE.getLocation_Y())).intValue(); + Point loc = new Point(x, y); + ((GraphicalEditPart)getParent()).setLayoutConstraint(this, getFigure(), new Rectangle(loc, size)); + } + + /** + * @generated + */ + protected void refreshVisuals() { + super.refreshVisuals(); + refreshBounds(); + } +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/ExpansionRegionItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/ExpansionRegionItemSemanticEditPolicy.java index 85154da1dfc..6a0daaf2efc 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/ExpansionRegionItemSemanticEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/ExpansionRegionItemSemanticEditPolicy.java @@ -1,277 +1,277 @@ -/*****************************************************************************
- * Copyright (c) 2010 Atos Origin.
- *
- *
- * 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
- *
- * Contributors:
- * Atos Origin - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.uml.diagram.activity.edit.policies;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.commands.UnexecutableCommand;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
-import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType;
-import org.eclipse.papyrus.infra.extendedtypes.util.ElementTypeUtils;
-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.commands.ActionLocalPostconditionCreateCommand;
-import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ActionLocalPostconditionReorientCommand;
-import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ActionLocalPreconditionCreateCommand;
-import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ActionLocalPreconditionReorientCommand;
-import org.eclipse.papyrus.uml.diagram.activity.edit.commands.CommentLinkCreateCommand;
-import org.eclipse.papyrus.uml.diagram.activity.edit.commands.CommentLinkReorientCommand;
-import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ConstraintConstrainedElementCreateCommand;
-import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ConstraintConstrainedElementReorientCommand;
-import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ControlFlowCreateCommand;
-import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ControlFlowReorientCommand;
-import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ExceptionHandlerCreateCommand;
-import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ExceptionHandlerReorientCommand;
-import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ObjectFlowCreateCommand;
-import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ObjectFlowReorientCommand;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionLocalPostconditionEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionLocalPreconditionEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CommentLinkEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConstraintConstrainedElementEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ControlFlowEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ExceptionHandlerEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ObjectFlowEditPart;
-import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes;
-import org.eclipse.uml2.uml.UMLPackage;
-
-/**
- * @generated
- */
-public class ExpansionRegionItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy {
-
- /**
- * @generated
- */
- public ExpansionRegionItemSemanticEditPolicy() {
- super(UMLElementTypes.ExpansionRegion_3070);
- }
-
- /**
- * @generated
- */
- protected Command getCreateCommand(CreateElementRequest req) {
- IElementType requestElementType = req.getElementType();
- if(requestElementType == null) {
- return super.getCreateCommand(req);
- }
- IElementType baseElementType = requestElementType;
- boolean isExtendedType = false;
- if(requestElementType instanceof IExtendedHintedElementType) {
- baseElementType = ElementTypeUtils.getClosestDiagramType(requestElementType);
- 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.
- baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
- isExtendedType = true;
- }
- }
- if(UMLElementTypes.ExpansionNode_3074 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getExpansionRegion_InputElement();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.ExpansionNode_3075 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getExpansionRegion_OutputElement();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- return super.getCreateCommand(req);
- }
-
- /**
- * @generated
- */
- protected Command getDestroyElementCommand(DestroyElementRequest req) {
- EObject selectedEObject = req.getElementToDestroy();
- IElementEditService provider = ElementEditServiceUtils.getCommandProvider(selectedEObject);
- if(provider != null) {
- // Retrieve delete command from the Element Edit service
- ICommand deleteCommand = provider.getEditCommand(req);
- if(deleteCommand != null) {
- return new ICommandProxy(deleteCommand);
- }
- }
- return UnexecutableCommand.INSTANCE;
- }
-
- /**
- * @generated
- */
- protected Command getStartCreateRelationshipCommand(CreateRelationshipRequest req) {
- IElementType requestElementType = req.getElementType();
- if(requestElementType == null) {
- return null;
- }
- IElementType baseElementType = requestElementType;
- boolean isExtendedType = false;
- if(requestElementType instanceof IExtendedHintedElementType) {
- baseElementType = ElementTypeUtils.getClosestDiagramType(requestElementType);
- 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.
- baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
- isExtendedType = true;
- }
- }
- if(UMLElementTypes.ActionLocalPrecondition_4001 == baseElementType) {
- if(isExtendedType) {
- return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(new ActionLocalPreconditionCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if(UMLElementTypes.ActionLocalPostcondition_4002 == baseElementType) {
- if(isExtendedType) {
- return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(new ActionLocalPostconditionCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if(UMLElementTypes.ObjectFlow_4003 == baseElementType) {
- if(isExtendedType) {
- return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(new ObjectFlowCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if(UMLElementTypes.ControlFlow_4004 == baseElementType) {
- if(isExtendedType) {
- return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(new ControlFlowCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if(UMLElementTypes.ExceptionHandler_4005 == baseElementType) {
- if(isExtendedType) {
- return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(new ExceptionHandlerCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if(UMLElementTypes.CommentAnnotatedElement_4006 == baseElementType) {
- return null;
- }
- if(UMLElementTypes.ConstraintConstrainedElement_4007 == baseElementType) {
- return null;
- }
- return null;
- }
-
- /**
- * @generated
- */
- protected Command getCompleteCreateRelationshipCommand(CreateRelationshipRequest req) {
- IElementType requestElementType = req.getElementType();
- if(requestElementType == null) {
- return null;
- }
- IElementType baseElementType = requestElementType;
- boolean isExtendedType = false;
- if(requestElementType instanceof IExtendedHintedElementType) {
- baseElementType = ElementTypeUtils.getClosestDiagramType(requestElementType);
- 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.
- baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
- isExtendedType = true;
- }
- }
- if(UMLElementTypes.ActionLocalPrecondition_4001 == baseElementType) {
- return null;
- }
- if(UMLElementTypes.ActionLocalPostcondition_4002 == baseElementType) {
- return null;
- }
- if(UMLElementTypes.ObjectFlow_4003 == baseElementType) {
- if(isExtendedType) {
- return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(new ObjectFlowCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if(UMLElementTypes.ControlFlow_4004 == baseElementType) {
- if(isExtendedType) {
- return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(new ControlFlowCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if(UMLElementTypes.ExceptionHandler_4005 == baseElementType) {
- return null;
- }
- if(UMLElementTypes.CommentAnnotatedElement_4006 == baseElementType) {
- if(isExtendedType) {
- return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(new CommentLinkCreateCommand(req, req.getSource(), req.getTarget()));
- }
- if(UMLElementTypes.ConstraintConstrainedElement_4007 == baseElementType) {
- if(isExtendedType) {
- return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(new ConstraintConstrainedElementCreateCommand(req, req.getSource(), req.getTarget()));
- }
- return null;
- }
-
- /**
- * Returns command to reorient EClass based link. New link target or source
- * should be the domain model element associated with this node.
- *
- * @generated
- */
- protected Command getReorientRelationshipCommand(ReorientRelationshipRequest req) {
- switch(getVisualID(req)) {
- case ObjectFlowEditPart.VISUAL_ID:
- return getGEFWrapper(new ObjectFlowReorientCommand(req));
- case ControlFlowEditPart.VISUAL_ID:
- return getGEFWrapper(new ControlFlowReorientCommand(req));
- case ExceptionHandlerEditPart.VISUAL_ID:
- return getGEFWrapper(new ExceptionHandlerReorientCommand(req));
- }
- return super.getReorientRelationshipCommand(req);
- }
-
- /**
- * Returns command to reorient EReference based link. New link target or source
- * should be the domain model element associated with this node.
- *
- * @generated
- */
- protected Command getReorientReferenceRelationshipCommand(ReorientReferenceRelationshipRequest req) {
- switch(getVisualID(req)) {
- case ActionLocalPreconditionEditPart.VISUAL_ID:
- return getGEFWrapper(new ActionLocalPreconditionReorientCommand(req));
- case ActionLocalPostconditionEditPart.VISUAL_ID:
- return getGEFWrapper(new ActionLocalPostconditionReorientCommand(req));
- case CommentLinkEditPart.VISUAL_ID:
- return getGEFWrapper(new CommentLinkReorientCommand(req));
- case ConstraintConstrainedElementEditPart.VISUAL_ID:
- return getGEFWrapper(new ConstraintConstrainedElementReorientCommand(req));
- }
- return super.getReorientReferenceRelationshipCommand(req);
- }
-}
+/***************************************************************************** + * Copyright (c) 2010 Atos Origin. + * + * + * 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 + * + * Contributors: + * Atos Origin - Initial API and implementation + * + *****************************************************************************/ +package org.eclipse.papyrus.uml.diagram.activity.edit.policies; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.gef.commands.Command; +import org.eclipse.gef.commands.UnexecutableCommand; +import org.eclipse.gmf.runtime.common.core.command.ICommand; +import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy; +import org.eclipse.gmf.runtime.emf.type.core.IElementType; +import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest; +import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest; +import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest; +import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientReferenceRelationshipRequest; +import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest; +import org.eclipse.papyrus.infra.extendedtypes.types.IExtendedHintedElementType; +import org.eclipse.papyrus.infra.extendedtypes.util.ElementTypeUtils; +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.commands.ActionLocalPostconditionCreateCommand; +import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ActionLocalPostconditionReorientCommand; +import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ActionLocalPreconditionCreateCommand; +import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ActionLocalPreconditionReorientCommand; +import org.eclipse.papyrus.uml.diagram.activity.edit.commands.CommentLinkCreateCommand; +import org.eclipse.papyrus.uml.diagram.activity.edit.commands.CommentLinkReorientCommand; +import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ConstraintConstrainedElementCreateCommand; +import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ConstraintConstrainedElementReorientCommand; +import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ControlFlowCreateCommand; +import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ControlFlowReorientCommand; +import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ExceptionHandlerCreateCommand; +import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ExceptionHandlerReorientCommand; +import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ObjectFlowCreateCommand; +import org.eclipse.papyrus.uml.diagram.activity.edit.commands.ObjectFlowReorientCommand; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionLocalPostconditionEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ActionLocalPreconditionEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.CommentLinkEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ConstraintConstrainedElementEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ControlFlowEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ExceptionHandlerEditPart; +import org.eclipse.papyrus.uml.diagram.activity.edit.parts.ObjectFlowEditPart; +import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes; +import org.eclipse.uml2.uml.UMLPackage; + +/** + * @generated + */ +public class ExpansionRegionItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy { + + /** + * @generated + */ + public ExpansionRegionItemSemanticEditPolicy() { + super(UMLElementTypes.ExpansionRegion_3070); + } + + /** + * @generated + */ + protected Command getCreateCommand(CreateElementRequest req) { + IElementType requestElementType = req.getElementType(); + if(requestElementType == null) { + return super.getCreateCommand(req); + } + IElementType baseElementType = requestElementType; + boolean isExtendedType = false; + if(requestElementType instanceof IExtendedHintedElementType) { + baseElementType = ElementTypeUtils.getClosestDiagramType(requestElementType); + 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. + baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType); + isExtendedType = true; + } + } + if(UMLElementTypes.ExpansionNode_3074 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getStructuredActivityNode_Node(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.ExpansionNode_3075 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getStructuredActivityNode_Node(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + return super.getCreateCommand(req); + } + + /** + * @generated + */ + protected Command getDestroyElementCommand(DestroyElementRequest req) { + EObject selectedEObject = req.getElementToDestroy(); + IElementEditService provider = ElementEditServiceUtils.getCommandProvider(selectedEObject); + if(provider != null) { + // Retrieve delete command from the Element Edit service + ICommand deleteCommand = provider.getEditCommand(req); + if(deleteCommand != null) { + return new ICommandProxy(deleteCommand); + } + } + return UnexecutableCommand.INSTANCE; + } + + /** + * @generated + */ + protected Command getStartCreateRelationshipCommand(CreateRelationshipRequest req) { + IElementType requestElementType = req.getElementType(); + if(requestElementType == null) { + return null; + } + IElementType baseElementType = requestElementType; + boolean isExtendedType = false; + if(requestElementType instanceof IExtendedHintedElementType) { + baseElementType = ElementTypeUtils.getClosestDiagramType(requestElementType); + 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. + baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType); + isExtendedType = true; + } + } + if(UMLElementTypes.ActionLocalPrecondition_4001 == baseElementType) { + if(isExtendedType) { + return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(new ActionLocalPreconditionCreateCommand(req, req.getSource(), req.getTarget())); + } + if(UMLElementTypes.ActionLocalPostcondition_4002 == baseElementType) { + if(isExtendedType) { + return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(new ActionLocalPostconditionCreateCommand(req, req.getSource(), req.getTarget())); + } + if(UMLElementTypes.ObjectFlow_4003 == baseElementType) { + if(isExtendedType) { + return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(new ObjectFlowCreateCommand(req, req.getSource(), req.getTarget())); + } + if(UMLElementTypes.ControlFlow_4004 == baseElementType) { + if(isExtendedType) { + return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(new ControlFlowCreateCommand(req, req.getSource(), req.getTarget())); + } + if(UMLElementTypes.ExceptionHandler_4005 == baseElementType) { + if(isExtendedType) { + return getExtendedStartCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(new ExceptionHandlerCreateCommand(req, req.getSource(), req.getTarget())); + } + if(UMLElementTypes.CommentAnnotatedElement_4006 == baseElementType) { + return null; + } + if(UMLElementTypes.ConstraintConstrainedElement_4007 == baseElementType) { + return null; + } + return null; + } + + /** + * @generated + */ + protected Command getCompleteCreateRelationshipCommand(CreateRelationshipRequest req) { + IElementType requestElementType = req.getElementType(); + if(requestElementType == null) { + return null; + } + IElementType baseElementType = requestElementType; + boolean isExtendedType = false; + if(requestElementType instanceof IExtendedHintedElementType) { + baseElementType = ElementTypeUtils.getClosestDiagramType(requestElementType); + 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. + baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType); + isExtendedType = true; + } + } + if(UMLElementTypes.ActionLocalPrecondition_4001 == baseElementType) { + return null; + } + if(UMLElementTypes.ActionLocalPostcondition_4002 == baseElementType) { + return null; + } + if(UMLElementTypes.ObjectFlow_4003 == baseElementType) { + if(isExtendedType) { + return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(new ObjectFlowCreateCommand(req, req.getSource(), req.getTarget())); + } + if(UMLElementTypes.ControlFlow_4004 == baseElementType) { + if(isExtendedType) { + return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(new ControlFlowCreateCommand(req, req.getSource(), req.getTarget())); + } + if(UMLElementTypes.ExceptionHandler_4005 == baseElementType) { + return null; + } + if(UMLElementTypes.CommentAnnotatedElement_4006 == baseElementType) { + if(isExtendedType) { + return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(new CommentLinkCreateCommand(req, req.getSource(), req.getTarget())); + } + if(UMLElementTypes.ConstraintConstrainedElement_4007 == baseElementType) { + if(isExtendedType) { + return getExtendedCompleteCreateRelationshipCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(new ConstraintConstrainedElementCreateCommand(req, req.getSource(), req.getTarget())); + } + return null; + } + + /** + * Returns command to reorient EClass based link. New link target or source + * should be the domain model element associated with this node. + * + * @generated + */ + protected Command getReorientRelationshipCommand(ReorientRelationshipRequest req) { + switch(getVisualID(req)) { + case ObjectFlowEditPart.VISUAL_ID: + return getGEFWrapper(new ObjectFlowReorientCommand(req)); + case ControlFlowEditPart.VISUAL_ID: + return getGEFWrapper(new ControlFlowReorientCommand(req)); + case ExceptionHandlerEditPart.VISUAL_ID: + return getGEFWrapper(new ExceptionHandlerReorientCommand(req)); + } + return super.getReorientRelationshipCommand(req); + } + + /** + * Returns command to reorient EReference based link. New link target or source + * should be the domain model element associated with this node. + * + * @generated + */ + protected Command getReorientReferenceRelationshipCommand(ReorientReferenceRelationshipRequest req) { + switch(getVisualID(req)) { + case ActionLocalPreconditionEditPart.VISUAL_ID: + return getGEFWrapper(new ActionLocalPreconditionReorientCommand(req)); + case ActionLocalPostconditionEditPart.VISUAL_ID: + return getGEFWrapper(new ActionLocalPostconditionReorientCommand(req)); + case CommentLinkEditPart.VISUAL_ID: + return getGEFWrapper(new CommentLinkReorientCommand(req)); + case ConstraintConstrainedElementEditPart.VISUAL_ID: + return getGEFWrapper(new ConstraintConstrainedElementReorientCommand(req)); + } + return super.getReorientReferenceRelationshipCommand(req); + } +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java index b35a50b5096..b1a52ef2698 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/edit/policies/ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy.java @@ -1,410 +1,410 @@ -/*****************************************************************************
- * Copyright (c) 2010 Atos Origin.
- *
- *
- * 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
- *
- * Contributors:
- * Atos Origin - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.uml.diagram.activity.edit.policies;
-
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.gef.commands.Command;
-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;
-import org.eclipse.papyrus.infra.extendedtypes.util.ElementTypeUtils;
-import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes;
-import org.eclipse.uml2.uml.UMLPackage;
-
-/**
- * @generated
- */
-public class ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy {
-
- /**
- * @generated
- */
- public ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy() {
- super(UMLElementTypes.ExpansionRegion_3070);
- }
-
- /**
- * @generated
- */
- protected Command getCreateCommand(CreateElementRequest req) {
- IElementType requestElementType = req.getElementType();
- if(requestElementType == null) {
- return super.getCreateCommand(req);
- }
- IElementType baseElementType = requestElementType;
- boolean isExtendedType = false;
- if(requestElementType instanceof IExtendedHintedElementType) {
- baseElementType = ElementTypeUtils.getClosestDiagramType(requestElementType);
- 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.
- baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType);
- isExtendedType = true;
- }
- }
- if(UMLElementTypes.InitialNode_3004 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.ActivityFinalNode_3005 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.FlowFinalNode_3006 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.OpaqueAction_3007 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.CallBehaviorAction_3008 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.CallOperationAction_3010 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.DecisionNode_3038 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.MergeNode_3039 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.ForkNode_3040 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.JoinNode_3041 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.DataStoreNode_3078 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.SendObjectAction_3042 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.SendSignalAction_3052 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.AcceptEventAction_3063 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.ValueSpecificationAction_3076 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.ConditionalNode_3069 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedGroup();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.ExpansionRegion_3070 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedGroup();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.LoopNode_3071 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedGroup();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.SequenceNode_3073 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedGroup();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.StructuredActivityNode_3065 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedGroup();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.ReadSelfAction_3081 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.DurationConstraint_3034 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPrecondition();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.DurationConstraint_3035 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPostcondition();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.TimeConstraint_3036 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPrecondition();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.TimeConstraint_3037 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPostcondition();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.IntervalConstraint_3032 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPrecondition();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.IntervalConstraint_3033 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPostcondition();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.Constraint_3011 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPrecondition();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.Constraint_3012 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPostcondition();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.CreateObjectAction_3086 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.ReadStructuralFeatureAction_3088 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.AddStructuralFeatureValueAction_3091 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.DestroyObjectAction_3095 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.ReadVariableAction_3097 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.AddVariableValueAction_3099 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.BroadcastSignalAction_3102 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.CentralBufferNode_3104 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.Comment_3080 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getElement_OwnedComment();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- if(UMLElementTypes.Constraint_3112 == baseElementType) {
- // adjust the containment feature
- EReference containmentFeature = UMLPackage.eINSTANCE.getNamespace_OwnedRule();
- req.setContainmentFeature(containmentFeature);
- if(isExtendedType) {
- return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType);
- }
- return getGEFWrapper(getSemanticCreationCommand(req));
- }
- return super.getCreateCommand(req);
- }
-}
+/***************************************************************************** + * Copyright (c) 2010 Atos Origin. + * + * + * 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 + * + * Contributors: + * Atos Origin - Initial API and implementation + * + *****************************************************************************/ +package org.eclipse.papyrus.uml.diagram.activity.edit.policies; + +import org.eclipse.emf.ecore.EReference; +import org.eclipse.gef.commands.Command; +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; +import org.eclipse.papyrus.infra.extendedtypes.util.ElementTypeUtils; +import org.eclipse.papyrus.uml.diagram.activity.providers.UMLElementTypes; +import org.eclipse.uml2.uml.UMLPackage; + +/** + * @generated + */ +public class ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy extends UMLBaseItemSemanticEditPolicy { + + /** + * @generated + */ + public ExpansionRegionStructuredActivityNodeContentCompartmentItemSemanticEditPolicy() { + super(UMLElementTypes.ExpansionRegion_3070); + } + + /** + * @generated + */ + protected Command getCreateCommand(CreateElementRequest req) { + IElementType requestElementType = req.getElementType(); + if(requestElementType == null) { + return super.getCreateCommand(req); + } + IElementType baseElementType = requestElementType; + boolean isExtendedType = false; + if(requestElementType instanceof IExtendedHintedElementType) { + baseElementType = ElementTypeUtils.getClosestDiagramType(requestElementType); + 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. + baseElementType = ElementTypeUtils.findClosestNonExtendedElementType((IExtendedHintedElementType)requestElementType); + isExtendedType = true; + } + } + if(UMLElementTypes.InitialNode_3004 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.ActivityFinalNode_3005 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.FlowFinalNode_3006 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.OpaqueAction_3007 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.CallBehaviorAction_3008 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.CallOperationAction_3010 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.DecisionNode_3038 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.MergeNode_3039 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.ForkNode_3040 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.JoinNode_3041 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.DataStoreNode_3078 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.SendObjectAction_3042 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.SendSignalAction_3052 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.AcceptEventAction_3063 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.ValueSpecificationAction_3076 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.ConditionalNode_3069 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedGroup(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.ExpansionRegion_3070 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getStructuredActivityNode_Node(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.LoopNode_3071 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedGroup(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.SequenceNode_3073 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedGroup(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.StructuredActivityNode_3065 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedGroup(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.ReadSelfAction_3081 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.DurationConstraint_3034 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPrecondition(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.DurationConstraint_3035 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPostcondition(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.TimeConstraint_3036 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPrecondition(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.TimeConstraint_3037 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPostcondition(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.IntervalConstraint_3032 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPrecondition(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.IntervalConstraint_3033 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPostcondition(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.Constraint_3011 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPrecondition(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.Constraint_3012 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getAction_LocalPostcondition(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.CreateObjectAction_3086 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.ReadStructuralFeatureAction_3088 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.AddStructuralFeatureValueAction_3091 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.DestroyObjectAction_3095 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.ReadVariableAction_3097 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.AddVariableValueAction_3099 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.BroadcastSignalAction_3102 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.CentralBufferNode_3104 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getActivity_OwnedNode(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.Comment_3080 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getElement_OwnedComment(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + if(UMLElementTypes.Constraint_3112 == baseElementType) { + // adjust the containment feature + EReference containmentFeature = UMLPackage.eINSTANCE.getNamespace_OwnedRule(); + req.setContainmentFeature(containmentFeature); + if(isExtendedType) { + return getExtendedTypeCreationCommand(req, (IExtendedHintedElementType)requestElementType); + } + return getGEFWrapper(getSemanticCreationCommand(req)); + } + return super.getCreateCommand(req); + } +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/CommonDiagramDragDropEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/CommonDiagramDragDropEditPolicy.java index ed28e175964..7fe7d4b93df 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/CommonDiagramDragDropEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editpolicies/CommonDiagramDragDropEditPolicy.java @@ -27,6 +27,7 @@ import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.transaction.TransactionalEditingDomain; import org.eclipse.gef.EditPart; import org.eclipse.gef.EditPartViewer; +import org.eclipse.gef.Request; import org.eclipse.gef.commands.Command; import org.eclipse.gef.commands.CompoundCommand; import org.eclipse.gef.commands.UnexecutableCommand; @@ -123,7 +124,7 @@ public abstract class CommonDiagramDragDropEditPolicy extends DiagramDragDropEdi Command createCommand = getHost().getCommand(createViewRequest); return createCommand; } - + /** * the method provides command to create the binary link into the diagram. * If the source and the target views do not exist, these views will be @@ -248,14 +249,22 @@ public abstract class CommonDiagramDragDropEditPolicy extends DiagramDragDropEdi // Create a view request from the drop request and then forward getting // the command for that. - CompositeCommand cc = new CompositeCommand("Drop"); //$NON-NLS-1$ + CompositeCommand cc = null; Iterator<?> iter = dropRequest.getObjects().iterator(); while(iter.hasNext()) { EObject droppedObject = (EObject)iter.next(); - cc.add(getDropObjectCommand(dropRequest, droppedObject)); + IUndoableOperation operation= getDropObjectCommand(dropRequest, droppedObject); + if(operation !=null) { + if(cc==null) { + cc = new CompositeCommand("Drop"); //$NON-NLS-1$ + } + cc.add(operation); + } + } + if(cc==null) { + return null; } - return new ICommandProxy(cc); } |