diff options
Diffstat (limited to 'plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src-gen/org/eclipse/papyrus/uml/diagram/activity/edit/parts/AddVariableValueActionEditPart.java')
-rwxr-xr-x[-rw-r--r--] | plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src-gen/org/eclipse/papyrus/uml/diagram/activity/edit/parts/AddVariableValueActionEditPart.java | 890 |
1 files changed, 417 insertions, 473 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src-gen/org/eclipse/papyrus/uml/diagram/activity/edit/parts/AddVariableValueActionEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src-gen/org/eclipse/papyrus/uml/diagram/activity/edit/parts/AddVariableValueActionEditPart.java index ed866306fb1..8de122e13fc 100644..100755 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src-gen/org/eclipse/papyrus/uml/diagram/activity/edit/parts/AddVariableValueActionEditPart.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src-gen/org/eclipse/papyrus/uml/diagram/activity/edit/parts/AddVariableValueActionEditPart.java @@ -1,473 +1,417 @@ -package org.eclipse.papyrus.uml.diagram.activity.edit.parts; - -import java.util.Collections; -import java.util.List; - -import org.eclipse.draw2d.IFigure; -import org.eclipse.draw2d.PositionConstants; -import org.eclipse.draw2d.geometry.Dimension; -import org.eclipse.emf.common.command.CommandStack; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.edit.command.SetCommand; -import org.eclipse.emf.transaction.RollbackException; -import org.eclipse.emf.transaction.Transaction; -import org.eclipse.emf.transaction.TransactionalCommandStack; -import org.eclipse.gef.EditPart; -import org.eclipse.gef.EditPolicy; -import org.eclipse.gef.GraphicalEditPart; -import org.eclipse.gef.Request; -import org.eclipse.gef.RequestConstants; -import org.eclipse.gef.commands.Command; -import org.eclipse.gef.editpolicies.LayoutEditPolicy; -import org.eclipse.gef.editpolicies.NonResizableEditPolicy; -import org.eclipse.gef.handles.MoveHandle; -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.BorderItemSelectionEditPolicy; -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.BorderItemLocator; -import org.eclipse.gmf.runtime.diagram.ui.figures.IBorderItemLocator; -import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbarLayout; -import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure; -import org.eclipse.gmf.runtime.notation.BasicCompartment; -import org.eclipse.gmf.runtime.notation.Edge; -import org.eclipse.gmf.runtime.notation.NotationPackage; -import org.eclipse.gmf.runtime.notation.View; -import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultCreationEditPolicy; -import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultGraphicalNodeEditPolicy; -import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultSemanticEditPolicy; -import org.eclipse.papyrus.infra.gmfdiag.common.figure.node.IPapyrusNodeFigure; -import org.eclipse.papyrus.infra.gmfdiag.common.figure.node.RoundedRectangleNodePlateFigure; -import org.eclipse.papyrus.infra.gmfdiag.common.figure.node.SelectableBorderedNodeFigure; -import org.eclipse.papyrus.uml.diagram.activity.edit.policies.ActivityDiagramChangeStereotypedShapeEditpolicy; -import org.eclipse.papyrus.uml.diagram.activity.edit.policies.CreateActionLocalConditionEditPolicy; -import org.eclipse.papyrus.uml.diagram.activity.edit.policies.CustomDiagramDragDropEditPolicy; -import org.eclipse.papyrus.uml.diagram.activity.edit.policies.DeleteActionViewEditPolicy; -import org.eclipse.papyrus.uml.diagram.activity.edit.policies.OpenDiagramEditPolicy; -import org.eclipse.papyrus.uml.diagram.activity.locator.PinPositionLocator; -import org.eclipse.papyrus.uml.diagram.activity.part.UMLVisualIDRegistry; -import org.eclipse.papyrus.uml.diagram.common.editparts.RoundedCompartmentEditPart; -import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy; -import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy; -import org.eclipse.papyrus.uml.diagram.common.editpolicies.BorderItemResizableEditPolicy; -import org.eclipse.papyrus.uml.diagram.common.editpolicies.ChangeStereotypedShapeEditPolicy; -import org.eclipse.papyrus.uml.diagram.common.figure.node.RoundedCompartmentFigure; -import org.eclipse.swt.graphics.Color; -import org.eclipse.uml2.uml.Type; -import org.eclipse.uml2.uml.UMLPackage; -import org.eclipse.uml2.uml.Variable; - -/** - * @generated - */ -public class AddVariableValueActionEditPart extends RoundedCompartmentEditPart { - - /** - * @generated - */ - public static final String VISUAL_ID = "AddVariableValueAction_Shape"; - - /** - * @generated - */ - protected IFigure contentPane; - - /** - * @generated - */ - protected IFigure primaryShape; - - /** - * @generated - */ - public AddVariableValueActionEditPart(View view) { - super(view); - } - - /** - * @generated - */ - @Override - protected void createDefaultEditPolicies() { - installEditPolicy(EditPolicyRoles.CREATION_ROLE, new DefaultCreationEditPolicy()); - super.createDefaultEditPolicies(); - installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new DefaultSemanticEditPolicy()); - - installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, new DefaultGraphicalNodeEditPolicy()); - - 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.AddVariableValueActionCanonicalEditPolicy()); - - installEditPolicy(EditPolicy.LAYOUT_ROLE, createLayoutEditPolicy()); - installEditPolicy(EditPolicyRoles.OPEN_ROLE, new OpenDiagramEditPolicy()); - installEditPolicy(RequestConstants.REQ_CREATE, new CreateActionLocalConditionEditPolicy()); - installEditPolicy(RequestConstants.REQ_DELETE, new DeleteActionViewEditPolicy()); - installEditPolicy(AppliedStereotypeLabelDisplayEditPolicy.STEREOTYPE_LABEL_POLICY, - new AppliedStereotypeNodeLabelDisplayEditPolicy()); - installEditPolicy(ChangeStereotypedShapeEditPolicy.CHANGE_SHAPE_POLICY, - new ActivityDiagramChangeStereotypedShapeEditpolicy()); - installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new CustomDiagramDragDropEditPolicy()); - // XXX need an SCR to runtime to have another abstract superclass that would let children add reasonable editpolicies - // removeEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.CONNECTION_HANDLES_ROLE); - } - - /** - * @generated - */ - protected LayoutEditPolicy createLayoutEditPolicy() { - org.eclipse.gmf.runtime.diagram.ui.editpolicies.LayoutEditPolicy lep = new org.eclipse.gmf.runtime.diagram.ui.editpolicies.LayoutEditPolicy() { - - @Override - protected EditPolicy createChildEditPolicy(EditPart child) { - View childView = (View) child.getModel(); - String vid = UMLVisualIDRegistry.getVisualID(childView); - if (vid != null) { - switch (vid) { - case AddVariableValueActionFloatingNameEditPart.VISUAL_ID: - return new BorderItemSelectionEditPolicy() { - - @Override - protected List<?> createSelectionHandles() { - MoveHandle mh = new MoveHandle((GraphicalEditPart) getHost()); - mh.setBorder(null); - return Collections.singletonList(mh); - } - }; - case InputPinInAddVariableValueActionAsInsertAtEditPart.VISUAL_ID: - case InputPinInAddVariableValueActionAsValueEditPart.VISUAL_ID: - case ValuePinInAddVariableValueActionAsInsertAtEditPart.VISUAL_ID: - case ValuePinInAddVariableValueActionAsValueEditPart.VISUAL_ID: - case ActionPinInAddVariableValueActionAsInsertAtEditPart.VISUAL_ID: - case ActionPinInAddVariableValueActionAsValueEditPart.VISUAL_ID: - return new BorderItemResizableEditPolicy(); - } - } - EditPolicy result = child.getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE); - if (result == null) { - result = new NonResizableEditPolicy(); - } - return result; - } - - @Override - protected Command getMoveChildrenCommand(Request request) { - return null; - } - - @Override - protected Command getCreateCommand(CreateRequest request) { - return null; - } - }; - return lep; - } - - /** - * @generated - */ - @Override - protected IFigure createNodeShape() { - return primaryShape = new RoundedCompartmentFigure(); - } - - /** - * @generated - */ - @Override - public RoundedCompartmentFigure getPrimaryShape() { - return (RoundedCompartmentFigure) primaryShape; - } - - /** - * @generated - */ - protected boolean addFixedChild(EditPart childEditPart) { - if (childEditPart instanceof AddVariableValueActionNameEditPart) { - ((AddVariableValueActionNameEditPart) childEditPart).setLabel(getPrimaryShape().getNameLabel()); - return true; - } - - // Papyrus Gencode :Affixed Pin locator for Actions - if (childEditPart instanceof InputPinInAddVariableValueActionAsInsertAtEditPart) { - IBorderItemLocator locator = new PinPositionLocator(getMainFigure(), PositionConstants.WEST); - getBorderedFigure().getBorderItemContainer() - .add(((InputPinInAddVariableValueActionAsInsertAtEditPart) childEditPart).getFigure(), locator); - return true; - } - - // Papyrus Gencode :Affixed Pin locator for Actions - if (childEditPart instanceof InputPinInAddVariableValueActionAsValueEditPart) { - IBorderItemLocator locator = new PinPositionLocator(getMainFigure(), PositionConstants.NORTH); - getBorderedFigure().getBorderItemContainer() - .add(((InputPinInAddVariableValueActionAsValueEditPart) childEditPart).getFigure(), locator); - return true; - } - - // Papyrus Gencode :Affixed Pin locator for Actions - if (childEditPart instanceof ValuePinInAddVariableValueActionAsInsertAtEditPart) { - IBorderItemLocator locator = new PinPositionLocator(getMainFigure(), PositionConstants.WEST); - getBorderedFigure().getBorderItemContainer() - .add(((ValuePinInAddVariableValueActionAsInsertAtEditPart) childEditPart).getFigure(), locator); - return true; - } - - // Papyrus Gencode :Affixed Pin locator for Actions - if (childEditPart instanceof ValuePinInAddVariableValueActionAsValueEditPart) { - IBorderItemLocator locator = new PinPositionLocator(getMainFigure(), PositionConstants.NORTH); - getBorderedFigure().getBorderItemContainer() - .add(((ValuePinInAddVariableValueActionAsValueEditPart) childEditPart).getFigure(), locator); - return true; - } - - // Papyrus Gencode :Affixed Pin locator for Actions - if (childEditPart instanceof ActionPinInAddVariableValueActionAsInsertAtEditPart) { - IBorderItemLocator locator = new PinPositionLocator(getMainFigure(), PositionConstants.WEST); - getBorderedFigure().getBorderItemContainer() - .add(((ActionPinInAddVariableValueActionAsInsertAtEditPart) childEditPart).getFigure(), locator); - return true; - } - - // Papyrus Gencode :Affixed Pin locator for Actions - if (childEditPart instanceof ActionPinInAddVariableValueActionAsValueEditPart) { - IBorderItemLocator locator = new PinPositionLocator(getMainFigure(), PositionConstants.NORTH); - getBorderedFigure().getBorderItemContainer() - .add(((ActionPinInAddVariableValueActionAsValueEditPart) childEditPart).getFigure(), locator); - return true; - } - - return false; - } - - /** - * @generated - */ - protected boolean removeFixedChild(EditPart childEditPart) { - if (childEditPart instanceof AddVariableValueActionNameEditPart) { - return true; - } - if (childEditPart instanceof InputPinInAddVariableValueActionAsInsertAtEditPart) { - getBorderedFigure().getBorderItemContainer() - .remove(((InputPinInAddVariableValueActionAsInsertAtEditPart) childEditPart).getFigure()); - return true; - } - if (childEditPart instanceof InputPinInAddVariableValueActionAsValueEditPart) { - getBorderedFigure().getBorderItemContainer() - .remove(((InputPinInAddVariableValueActionAsValueEditPart) childEditPart).getFigure()); - return true; - } - if (childEditPart instanceof ValuePinInAddVariableValueActionAsInsertAtEditPart) { - getBorderedFigure().getBorderItemContainer() - .remove(((ValuePinInAddVariableValueActionAsInsertAtEditPart) childEditPart).getFigure()); - return true; - } - if (childEditPart instanceof ValuePinInAddVariableValueActionAsValueEditPart) { - getBorderedFigure().getBorderItemContainer() - .remove(((ValuePinInAddVariableValueActionAsValueEditPart) childEditPart).getFigure()); - return true; - } - if (childEditPart instanceof ActionPinInAddVariableValueActionAsInsertAtEditPart) { - getBorderedFigure().getBorderItemContainer() - .remove(((ActionPinInAddVariableValueActionAsInsertAtEditPart) childEditPart).getFigure()); - return true; - } - if (childEditPart instanceof ActionPinInAddVariableValueActionAsValueEditPart) { - getBorderedFigure().getBorderItemContainer() - .remove(((ActionPinInAddVariableValueActionAsValueEditPart) childEditPart).getFigure()); - return true; - } - return false; - } - - /** - * @generated - */ - @Override - protected void addChildVisual(EditPart childEditPart, int index) { - if (addFixedChild(childEditPart)) { - return; - } - super.addChildVisual(childEditPart, -1); - } - - /** - * @generated - */ - @Override - protected void removeChildVisual(EditPart childEditPart) { - if (removeFixedChild(childEditPart)) { - return; - } - super.removeChildVisual(childEditPart); - } - - /** - * @generated - */ - @Override - protected IFigure getContentPaneFor(IGraphicalEditPart editPart) { - if (editPart instanceof IBorderItemEditPart) { - return getBorderedFigure().getBorderItemContainer(); - } - return getContentPane(); - } - - /** - * @generated - */ - @Override - protected NodeFigure createNodePlate() { - RoundedRectangleNodePlateFigure result = new RoundedRectangleNodePlateFigure(40, 40); - return result; - } - - /** - * Creates figure for this edit part. - * - * Body of this method does not depend on settings in generation model - * so you may safely remove <i>generated</i> tag and modify it. - * - * @generated - */ - @Override - protected NodeFigure createMainFigure() { - return new SelectableBorderedNodeFigure(createMainFigureWithSVG()); - - } - - /** - * 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 - */ - @Override - 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 - */ - @Override - public IFigure getContentPane() { - if (contentPane != null) { - return contentPane; - } - return super.getContentPane(); - } - - /** - * @generated - */ - @Override - protected void setForegroundColor(Color color) { - if (primaryShape != null) { - primaryShape.setForegroundColor(color); - } - } - - /** - * @generated - */ - @Override - protected void setLineWidth(int width) { - super.setLineWidth(width); - } - - /** - * @generated - */ - @Override - protected void setLineType(int style) { - if (primaryShape instanceof IPapyrusNodeFigure) { - ((IPapyrusNodeFigure) primaryShape).setLineStyle(style); - } - } - - /** - * @generated - */ - @Override - public EditPart getPrimaryChildEditPart() { - return getChildBySemanticHint(UMLVisualIDRegistry.getType(AddVariableValueActionNameEditPart.VISUAL_ID)); - } - - /** - * @see org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart#handleNotificationEvent(org.eclipse.emf.common.notify.Notification) - * - * @param notification - */ - @Override - protected void handleNotificationEvent(Notification notification) { - super.handleNotificationEvent(notification); - /* - * when a node have external node labels, the methods refreshChildren() remove the EditPart corresponding to the Label from the EditPart - * Registry. After that, we can't reset the visibility to true (using the Show/Hide Label Action)! - */ - if (NotationPackage.eINSTANCE.getView_Visible().equals(notification.getFeature())) { - Object notifier = notification.getNotifier(); - List<?> modelChildren = ((View) getModel()).getChildren(); - if (!(notifier instanceof Edge)) { - if (modelChildren.contains(notification.getNotifier())) { - return; - } - } - } - Object feature = notification.getFeature(); - if (UMLPackage.Literals.VARIABLE_ACTION__VARIABLE.equals(feature)) { - final Object value = this.resolveSemanticElement().eGet(UMLPackage.Literals.WRITE_VARIABLE_ACTION__VALUE); - Object _varaible = notification.getNewValue(); - if (_varaible instanceof Variable) { - org.eclipse.emf.common.command.Command cmdSetResultType = null; - Variable newVariable = (Variable) _varaible; - Type type = newVariable.getType(); - if (type != null) { - cmdSetResultType = SetCommand.create(getEditingDomain(), value, - UMLPackage.Literals.TYPED_ELEMENT__TYPE, type); - } - try { - if (cmdSetResultType != null) { - if (cmdSetResultType.canExecute()) { - CommandStack commandStack = getEditingDomain().getCommandStack(); - if (commandStack instanceof TransactionalCommandStack) { - ((TransactionalCommandStack) commandStack).execute(cmdSetResultType, - Collections.singletonMap(Transaction.OPTION_UNPROTECTED, Boolean.TRUE)); - } else { - commandStack.execute(cmdSetResultType); - } - } - } - } catch (InterruptedException e) { - e.printStackTrace(); - } catch (RollbackException e) { - e.printStackTrace(); - } - } - } - } - - /** - * @generated - */ - // not generated but change include on gmfgen, can be override at the generation - @Override - protected void addBorderItem(IFigure borderItemContainer, IBorderItemEditPart borderItemEditPart) { - if (borderItemEditPart instanceof AddVariableValueActionFloatingNameEditPart) { - BorderItemLocator locator = new BorderItemLocator(getMainFigure(), PositionConstants.SOUTH); - locator.setBorderItemOffset(new Dimension(-20, -20)); - borderItemContainer.add(borderItemEditPart.getFigure(), locator); - } else { - super.addBorderItem(borderItemContainer, borderItemEditPart); - } - } -} +package org.eclipse.papyrus.uml.diagram.activity.edit.parts;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.PositionConstants;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.RequestConstants;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.LayoutEditPolicy;
+import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
+import org.eclipse.gef.handles.MoveHandle;
+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.BorderItemSelectionEditPolicy;
+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.BorderItemLocator;
+import org.eclipse.gmf.runtime.diagram.ui.figures.IBorderItemLocator;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbarLayout;
+import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure;
+import org.eclipse.gmf.runtime.notation.BasicCompartment;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultCreationEditPolicy;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultGraphicalNodeEditPolicy;
+import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultSemanticEditPolicy;
+import org.eclipse.papyrus.infra.gmfdiag.common.figure.node.IPapyrusNodeFigure;
+import org.eclipse.papyrus.infra.gmfdiag.common.figure.node.RoundedRectangleNodePlateFigure;
+import org.eclipse.papyrus.infra.gmfdiag.common.figure.node.SelectableBorderedNodeFigure;
+import org.eclipse.papyrus.uml.diagram.activity.edit.policies.ActivityDiagramChangeStereotypedShapeEditpolicy;
+import org.eclipse.papyrus.uml.diagram.activity.edit.policies.CreateActionLocalConditionEditPolicy;
+import org.eclipse.papyrus.uml.diagram.activity.edit.policies.CustomDiagramDragDropEditPolicy;
+import org.eclipse.papyrus.uml.diagram.activity.edit.policies.DeleteActionViewEditPolicy;
+import org.eclipse.papyrus.uml.diagram.activity.edit.policies.OpenDiagramEditPolicy;
+import org.eclipse.papyrus.uml.diagram.activity.locator.PinPositionLocator;
+import org.eclipse.papyrus.uml.diagram.activity.part.UMLVisualIDRegistry;
+import org.eclipse.papyrus.uml.diagram.common.editparts.RoundedCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeNodeLabelDisplayEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.BorderItemResizableEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.editpolicies.ChangeStereotypedShapeEditPolicy;
+import org.eclipse.papyrus.uml.diagram.common.figure.node.RoundedCompartmentFigure;
+import org.eclipse.swt.graphics.Color;
+
+/**
+ * @generated
+ */
+public class AddVariableValueActionEditPart extends RoundedCompartmentEditPart {
+
+ /**
+ * @generated
+ */
+ public static final String VISUAL_ID = "AddVariableValueAction_Shape";
+
+ /**
+ * @generated
+ */
+ protected IFigure contentPane;
+
+ /**
+ * @generated
+ */
+ protected IFigure primaryShape;
+
+ /**
+ * @generated
+ */
+ public AddVariableValueActionEditPart(View view) {
+ super(view);
+ }
+
+ /**
+ * @generated
+ */
+ protected void createDefaultEditPolicies() {
+ installEditPolicy(EditPolicyRoles.CREATION_ROLE, new DefaultCreationEditPolicy());
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new DefaultSemanticEditPolicy());
+
+ installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, new DefaultGraphicalNodeEditPolicy());
+
+ 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.AddVariableValueActionCanonicalEditPolicy());
+
+ installEditPolicy(EditPolicy.LAYOUT_ROLE, createLayoutEditPolicy());
+ installEditPolicy(EditPolicyRoles.OPEN_ROLE, new OpenDiagramEditPolicy());
+ installEditPolicy(RequestConstants.REQ_CREATE, new CreateActionLocalConditionEditPolicy());
+ installEditPolicy(RequestConstants.REQ_DELETE, new DeleteActionViewEditPolicy());
+ installEditPolicy(AppliedStereotypeLabelDisplayEditPolicy.STEREOTYPE_LABEL_POLICY,
+ new AppliedStereotypeNodeLabelDisplayEditPolicy());
+ installEditPolicy(ChangeStereotypedShapeEditPolicy.CHANGE_SHAPE_POLICY,
+ new ActivityDiagramChangeStereotypedShapeEditpolicy());
+ installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new CustomDiagramDragDropEditPolicy());
+ // XXX need an SCR to runtime to have another abstract superclass that would let children add reasonable editpolicies
+ // removeEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.CONNECTION_HANDLES_ROLE);
+ }
+
+ /**
+ * @generated
+ */
+ protected LayoutEditPolicy createLayoutEditPolicy() {
+ org.eclipse.gmf.runtime.diagram.ui.editpolicies.LayoutEditPolicy lep = new org.eclipse.gmf.runtime.diagram.ui.editpolicies.LayoutEditPolicy() {
+
+ @Override
+ protected EditPolicy createChildEditPolicy(EditPart child) {
+ View childView = (View) child.getModel();
+ String vid = UMLVisualIDRegistry.getVisualID(childView);
+ if (vid != null) {
+ switch (vid) {
+ case AddVariableValueActionFloatingNameEditPart.VISUAL_ID:
+ return new BorderItemSelectionEditPolicy() {
+
+ @Override
+ protected List<?> createSelectionHandles() {
+ MoveHandle mh = new MoveHandle((GraphicalEditPart) getHost());
+ mh.setBorder(null);
+ return Collections.singletonList(mh);
+ }
+ };
+ case InputPinInAddVariableValueActionAsInsertAtEditPart.VISUAL_ID:
+ case InputPinInAddVariableValueActionAsValueEditPart.VISUAL_ID:
+ case ValuePinInAddVariableValueActionAsInsertAtEditPart.VISUAL_ID:
+ case ValuePinInAddVariableValueActionAsValueEditPart.VISUAL_ID:
+ case ActionPinInAddVariableValueActionAsInsertAtEditPart.VISUAL_ID:
+ case ActionPinInAddVariableValueActionAsValueEditPart.VISUAL_ID:
+ return new BorderItemResizableEditPolicy();
+ }
+ }
+ EditPolicy result = child.getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE);
+ if (result == null) {
+ result = new NonResizableEditPolicy();
+ }
+ return result;
+ }
+
+ @Override
+ protected Command getMoveChildrenCommand(Request request) {
+ return null;
+ }
+
+ @Override
+ protected Command getCreateCommand(CreateRequest request) {
+ return null;
+ }
+ };
+ return lep;
+ }
+
+ /**
+ *Papyrus codeGen
+ *@generated
+ **/
+ protected void handleNotificationEvent(Notification event) {
+ /*
+ * when a node have external node labels, the methods refreshChildren() remove the EditPart corresponding to the Label from the EditPart
+ * Registry. After that, we can't reset the visibility to true (using the Show/Hide Label Action)!
+ */
+ if (NotationPackage.eINSTANCE.getView_Visible().equals(event.getFeature())) {
+ Object notifier = event.getNotifier();
+ List<?> modelChildren = ((View) getModel()).getChildren();
+ if (false == notifier instanceof Edge && false == notifier instanceof BasicCompartment) {
+ if (modelChildren.contains(event.getNotifier())) {
+ return;
+ }
+ }
+ }
+ super.handleNotificationEvent(event);
+
+ }
+
+ /**
+ * @generated
+ */
+ protected IFigure createNodeShape() {
+ return primaryShape = new RoundedCompartmentFigure();
+ }
+
+ /**
+ * org.eclipse.papyrus.uml.diagram.common.figure.node.RoundedCompartmentFigure
+ * @generated
+ */
+ public RoundedCompartmentFigure getPrimaryShape() {
+ return (RoundedCompartmentFigure) primaryShape;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean addFixedChild(EditPart childEditPart) {
+ if (childEditPart instanceof AddVariableValueActionNameEditPart) {
+ ((AddVariableValueActionNameEditPart) childEditPart).setLabel(getPrimaryShape().getNameLabel());
+ return true;
+ }
+
+ //Papyrus Gencode :Affixed Pin locator for Actions
+ if (childEditPart instanceof InputPinInAddVariableValueActionAsInsertAtEditPart) {
+ IBorderItemLocator locator = new PinPositionLocator(getMainFigure(), PositionConstants.WEST);
+ getBorderedFigure().getBorderItemContainer()
+ .add(((InputPinInAddVariableValueActionAsInsertAtEditPart) childEditPart).getFigure(), locator);
+ return true;
+ }
+
+ //Papyrus Gencode :Affixed Pin locator for Actions
+ if (childEditPart instanceof InputPinInAddVariableValueActionAsValueEditPart) {
+ IBorderItemLocator locator = new PinPositionLocator(getMainFigure(), PositionConstants.NORTH);
+ getBorderedFigure().getBorderItemContainer()
+ .add(((InputPinInAddVariableValueActionAsValueEditPart) childEditPart).getFigure(), locator);
+ return true;
+ }
+
+ //Papyrus Gencode :Affixed Pin locator for Actions
+ if (childEditPart instanceof ValuePinInAddVariableValueActionAsInsertAtEditPart) {
+ IBorderItemLocator locator = new PinPositionLocator(getMainFigure(), PositionConstants.WEST);
+ getBorderedFigure().getBorderItemContainer()
+ .add(((ValuePinInAddVariableValueActionAsInsertAtEditPart) childEditPart).getFigure(), locator);
+ return true;
+ }
+
+ //Papyrus Gencode :Affixed Pin locator for Actions
+ if (childEditPart instanceof ValuePinInAddVariableValueActionAsValueEditPart) {
+ IBorderItemLocator locator = new PinPositionLocator(getMainFigure(), PositionConstants.NORTH);
+ getBorderedFigure().getBorderItemContainer()
+ .add(((ValuePinInAddVariableValueActionAsValueEditPart) childEditPart).getFigure(), locator);
+ return true;
+ }
+
+ //Papyrus Gencode :Affixed Pin locator for Actions
+ if (childEditPart instanceof ActionPinInAddVariableValueActionAsInsertAtEditPart) {
+ IBorderItemLocator locator = new PinPositionLocator(getMainFigure(), PositionConstants.WEST);
+ getBorderedFigure().getBorderItemContainer()
+ .add(((ActionPinInAddVariableValueActionAsInsertAtEditPart) childEditPart).getFigure(), locator);
+ return true;
+ }
+
+ //Papyrus Gencode :Affixed Pin locator for Actions
+ if (childEditPart instanceof ActionPinInAddVariableValueActionAsValueEditPart) {
+ IBorderItemLocator locator = new PinPositionLocator(getMainFigure(), PositionConstants.NORTH);
+ getBorderedFigure().getBorderItemContainer()
+ .add(((ActionPinInAddVariableValueActionAsValueEditPart) childEditPart).getFigure(), locator);
+ return true;
+ }
+
+ return false;
+ }
+
+ /**
+ * @generated
+ */
+ protected boolean removeFixedChild(EditPart childEditPart) {
+ if (childEditPart instanceof AddVariableValueActionNameEditPart) {
+ return true;
+ }
+ if (childEditPart instanceof InputPinInAddVariableValueActionAsInsertAtEditPart) {
+ getBorderedFigure().getBorderItemContainer()
+ .remove(((InputPinInAddVariableValueActionAsInsertAtEditPart) childEditPart).getFigure());
+ return true;
+ }
+ if (childEditPart instanceof InputPinInAddVariableValueActionAsValueEditPart) {
+ getBorderedFigure().getBorderItemContainer()
+ .remove(((InputPinInAddVariableValueActionAsValueEditPart) childEditPart).getFigure());
+ return true;
+ }
+ if (childEditPart instanceof ValuePinInAddVariableValueActionAsInsertAtEditPart) {
+ getBorderedFigure().getBorderItemContainer()
+ .remove(((ValuePinInAddVariableValueActionAsInsertAtEditPart) childEditPart).getFigure());
+ return true;
+ }
+ if (childEditPart instanceof ValuePinInAddVariableValueActionAsValueEditPart) {
+ getBorderedFigure().getBorderItemContainer()
+ .remove(((ValuePinInAddVariableValueActionAsValueEditPart) childEditPart).getFigure());
+ return true;
+ }
+ if (childEditPart instanceof ActionPinInAddVariableValueActionAsInsertAtEditPart) {
+ getBorderedFigure().getBorderItemContainer()
+ .remove(((ActionPinInAddVariableValueActionAsInsertAtEditPart) childEditPart).getFigure());
+ return true;
+ }
+ if (childEditPart instanceof ActionPinInAddVariableValueActionAsValueEditPart) {
+ getBorderedFigure().getBorderItemContainer()
+ .remove(((ActionPinInAddVariableValueActionAsValueEditPart) 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 IBorderItemEditPart) {
+ return getBorderedFigure().getBorderItemContainer();
+ }
+ return getContentPane();
+ }
+
+ /**
+ * @generated
+ */
+ protected void addBorderItem(IFigure borderItemContainer, IBorderItemEditPart borderItemEditPart) {
+ if (borderItemEditPart instanceof AddVariableValueActionFloatingNameEditPart) {
+ BorderItemLocator locator = new BorderItemLocator(getMainFigure(), PositionConstants.SOUTH);
+ locator.setBorderItemOffset(new Dimension(-20, -20));
+ borderItemContainer.add(borderItemEditPart.getFigure(), locator);
+ } else {
+ super.addBorderItem(borderItemContainer, borderItemEditPart);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ protected NodeFigure createNodePlate() {
+ RoundedRectangleNodePlateFigure result = new RoundedRectangleNodePlateFigure(40, 40);
+ 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() {
+ return new SelectableBorderedNodeFigure(createMainFigureWithSVG());
+
+ }
+
+ /**
+ * 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) {
+ super.setLineWidth(width);
+ }
+
+ /**
+ * @generated
+ */
+ protected void setLineType(int style) {
+ if (primaryShape instanceof IPapyrusNodeFigure) {
+ ((IPapyrusNodeFigure) primaryShape).setLineStyle(style);
+ }
+ }
+
+ /**
+ * @generated
+ */
+ public EditPart getPrimaryChildEditPart() {
+ return getChildBySemanticHint(UMLVisualIDRegistry.getType(AddVariableValueActionNameEditPart.VISUAL_ID));
+ }
+
+}
|