diff options
Diffstat (limited to 'plugins')
23 files changed, 723 insertions, 622 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/META-INF/MANIFEST.MF b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/META-INF/MANIFEST.MF index 487254f0d3a..843ed844c5f 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/META-INF/MANIFEST.MF +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/META-INF/MANIFEST.MF @@ -1,75 +1,77 @@ -Manifest-Version: 1.0
-Export-Package: org.eclipse.papyrus.uml.diagram.sequence,
- org.eclipse.papyrus.uml.diagram.sequence.edit.parts,
- org.eclipse.papyrus.uml.diagram.sequence.edit.policies,
- org.eclipse.papyrus.uml.diagram.sequence.figures,
- org.eclipse.papyrus.uml.diagram.sequence.internal.constraints;x-internal:=true,
- org.eclipse.papyrus.uml.diagram.sequence.part,
- org.eclipse.papyrus.uml.diagram.sequence.providers,
- org.eclipse.papyrus.uml.diagram.sequence.util
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Require-Bundle: org.eclipse.ui.navigator;visibility:=reexport;bundle-version="[3.6.0,4.0.0)",
- org.eclipse.ui.navigator.resources;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.gmf.runtime.diagram.ui.render;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.ocl.ecore;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.preferences;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.gmf.runtime.diagram.ui.providers.ide;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.papyrus.uml.service.types;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.papyrus.uml.appearance;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.emf.ecore;visibility:=reexport;bundle-version="[2.12.0,3.0.0)",
- org.eclipse.emf.ecore;visibility:=reexport;bundle-version="[2.12.0,3.0.0)",
- org.eclipse.emf.ecore.edit;visibility:=reexport;bundle-version="[2.9.0,3.0.0)",
- org.eclipse.emf.validation;visibility:=reexport;bundle-version="[1.8.0,2.0.0)",
- org.apache.batik.dom.svg;bundle-version="[1.6.0,1.7.0)",
- org.apache.batik.util;bundle-version="[1.6.0,1.7.0)",
- org.apache.batik.svggen;bundle-version="[1.6.0,1.7.0)",
- org.apache.batik.dom;bundle-version="[1.6.0,1.7.0)",
- org.apache.batik.css;bundle-version="[1.6.0,1.7.0)",
- org.eclipse.papyrus.infra.gmfdiag.hyperlink;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.papyrus.uml.internationalization.utils;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.papyrus.infra.internationalization.utils;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.tooling.runtime;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.core.expressions,
- org.eclipse.jface,
- org.eclipse.ui.ide,
- org.eclipse.ui.views,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.emf.edit.ui,
- org.eclipse.gmf.runtime.emf.core,
- org.eclipse.gmf.runtime.emf.commands.core,
- org.eclipse.gmf.runtime.emf.ui.properties,
- org.eclipse.gmf.runtime.diagram.ui,
- org.eclipse.papyrus.uml.diagram.common;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.papyrus.infra.widgets;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.core.sashwindows.di;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.gmf.runtime.diagram.ui.properties,
- org.eclipse.gmf.runtime.diagram.ui.providers,
- org.eclipse.gmf.runtime.diagram.ui.resources.editor,
- org.eclipse.uml2.uml;visibility:=reexport,
- org.eclipse.uml2.uml.edit;visibility:=reexport,
- org.eclipse.gmf.runtime.draw2d.ui;visibility:=reexport,
- org.eclipse.gef,
- org.eclipse.papyrus.extensionpoints.editors;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.services.edit;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.papyrus.uml.diagram.stereotype.edition,
- org.eclipse.papyrus.infra.properties,
- org.eclipse.papyrus.infra.properties.ui,
- org.eclipse.papyrus.uml.diagram.menu,
- org.eclipse.draw2d;visibility:=reexport,
- org.eclipse.gmf.runtime.notation;visibility:=reexport
-Bundle-Vendor: %providerName
-Bundle-Version: 3.0.0.qualifier
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin
-Bundle-SymbolicName: org.eclipse.papyrus.uml.diagram.sequence; singleton:=true
-Import-Package: com.google.common.collect;version="21.0.0"
+Manifest-Version: 1.0 +Export-Package: org.eclipse.papyrus.uml.diagram.sequence, + org.eclipse.papyrus.uml.diagram.sequence.edit.parts, + org.eclipse.papyrus.uml.diagram.sequence.edit.policies, + org.eclipse.papyrus.uml.diagram.sequence.figures, + org.eclipse.papyrus.uml.diagram.sequence.internal.constraints;x-internal:=true, + org.eclipse.papyrus.uml.diagram.sequence.messages, + org.eclipse.papyrus.uml.diagram.sequence.part, + org.eclipse.papyrus.uml.diagram.sequence.preferences, + org.eclipse.papyrus.uml.diagram.sequence.providers, + org.eclipse.papyrus.uml.diagram.sequence.util +Bundle-ActivationPolicy: lazy +Bundle-ClassPath: . +Bundle-Name: %pluginName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.eclipse.ui.navigator;visibility:=reexport;bundle-version="[3.6.0,4.0.0)", + org.eclipse.ui.navigator.resources;bundle-version="[3.5.0,4.0.0)", + org.eclipse.gmf.runtime.diagram.ui.render;bundle-version="[1.7.0,2.0.0)", + org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide;bundle-version="[1.7.0,2.0.0)", + org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="[2.0.0,3.0.0)", + org.eclipse.ocl.ecore;bundle-version="[3.5.0,4.0.0)", + org.eclipse.papyrus.infra.gmfdiag.preferences;bundle-version="[3.0.0,4.0.0)", + org.eclipse.gmf.runtime.diagram.ui.providers.ide;bundle-version="[1.7.0,2.0.0)", + org.eclipse.papyrus.uml.service.types;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.uml.appearance;bundle-version="[2.0.0,3.0.0)", + org.eclipse.emf.ecore;visibility:=reexport;bundle-version="[2.12.0,3.0.0)", + org.eclipse.emf.ecore;visibility:=reexport;bundle-version="[2.12.0,3.0.0)", + org.eclipse.emf.ecore.edit;visibility:=reexport;bundle-version="[2.9.0,3.0.0)", + org.eclipse.emf.validation;visibility:=reexport;bundle-version="[1.8.0,2.0.0)", + org.apache.batik.dom.svg;bundle-version="[1.6.0,1.7.0)", + org.apache.batik.util;bundle-version="[1.6.0,1.7.0)", + org.apache.batik.svggen;bundle-version="[1.6.0,1.7.0)", + org.apache.batik.dom;bundle-version="[1.6.0,1.7.0)", + org.apache.batik.css;bundle-version="[1.6.0,1.7.0)", + org.eclipse.papyrus.infra.gmfdiag.hyperlink;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.uml.internationalization.utils;bundle-version="[1.0.0,2.0.0)", + org.eclipse.papyrus.infra.internationalization.utils;bundle-version="[1.0.0,2.0.0)", + org.eclipse.papyrus.infra.gmfdiag.tooling.runtime;bundle-version="[3.0.0,4.0.0)", + org.eclipse.core.runtime, + org.eclipse.core.resources, + org.eclipse.core.expressions, + org.eclipse.jface, + org.eclipse.ui.ide, + org.eclipse.ui.views, + org.eclipse.emf.ecore.xmi, + org.eclipse.emf.edit.ui, + org.eclipse.gmf.runtime.emf.core, + org.eclipse.gmf.runtime.emf.commands.core, + org.eclipse.gmf.runtime.emf.ui.properties, + org.eclipse.gmf.runtime.diagram.ui, + org.eclipse.papyrus.uml.diagram.common;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.infra.widgets;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)", + org.eclipse.papyrus.infra.core.sashwindows.di;bundle-version="[1.2.0,2.0.0)", + org.eclipse.gmf.runtime.diagram.ui.properties, + org.eclipse.gmf.runtime.diagram.ui.providers, + org.eclipse.gmf.runtime.diagram.ui.resources.editor, + org.eclipse.uml2.uml;visibility:=reexport, + org.eclipse.uml2.uml.edit;visibility:=reexport, + org.eclipse.gmf.runtime.draw2d.ui;visibility:=reexport, + org.eclipse.gef, + org.eclipse.papyrus.extensionpoints.editors;bundle-version="[2.0.0,3.0.0)", + org.eclipse.papyrus.infra.services.edit;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.uml.diagram.stereotype.edition, + org.eclipse.papyrus.infra.properties, + org.eclipse.papyrus.infra.properties.ui, + org.eclipse.papyrus.uml.diagram.menu, + org.eclipse.draw2d;visibility:=reexport, + org.eclipse.gmf.runtime.notation;visibility:=reexport +Bundle-Vendor: %providerName +Bundle-Version: 3.0.0.qualifier +Bundle-ManifestVersion: 2 +Bundle-Activator: org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin +Bundle-SymbolicName: org.eclipse.papyrus.uml.diagram.sequence; singleton:=true +Import-Package: com.google.common.collect;version="21.0.0" diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-messages.properties b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-messages.properties index cd5ad921e93..1e485099d1e 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-messages.properties +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-messages.properties @@ -13,14 +13,4 @@ DropError_DefaultTxt=For an unknown reason, this link can not be dropped between DropError_UphillMessageTitle=Message can not be dropped DropError_UphillMessageTxt=This message goes uphill ({0} should be at least {2}px lower compared to {1}). Warning_ResizeInteractionOperandTitle=Resize of Interaction Operands may be erratic -Warning_ResizeInteractionOperandTxt=The resize of the Interaction Operands you have just performed may be erratic.{0}Check contained fragments and slightly move them inside the Operand if necessary. -DiagramsPreferencePage_notificationGroup_label=Automatic creations -DiagramsPreferencePage_executionSpecificationWithSyncMsg_label=When creating a synchronous message, also create: -DiagramsPreferencePage_executionSpecificationWithAsyncMsg_label=When creating an asynchronous message, also create: -DiagramsPreferencePage_createBehaviorExecutionSpecificationAndReply=A Behavior Execution Specification and a Reply Message -DiagramsPreferencePage_createBehaviorExecutionSpecification=A Behavior Execution Specification -DiagramsPreferencePage_createActionExecutionSpecificationAndReply=An Action Execution Specification and a Reply Message -DiagramsPreferencePage_createActionExecutionSpecification=An Action Execution Specification -DiagramsPreferencePage_createNoExecutionSpecification=Nothing -Commands_DropDestructionOccurenceSpecification_Label=Drop Destruction Occurrence Specification -Commands_CreateExecutionSpecification_Label=Execution Specification Automatic Creation with Message
\ No newline at end of file +Warning_ResizeInteractionOperandTxt=The resize of the Interaction Operands you have just performed may be erratic.{0}Check contained fragments and slightly move them inside the Operand if necessary.
\ No newline at end of file diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/CustomMessages.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/CustomMessages.java index 298da9ab5bf..ed184ee87fc 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/CustomMessages.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/CustomMessages.java @@ -17,6 +17,7 @@ import org.eclipse.osgi.util.NLS; /** * @author Jin Liu (jin.liu@soyatec.com) + * @since 3.0 */ public class CustomMessages extends NLS { @@ -43,9 +44,6 @@ public class CustomMessages extends NLS { public static String CommandHelper_CreateMessage; - public static String Commands_DropDestructionOccurenceSpecification_Label; - - public static String Commands_CreateExecutionSpecification_Label; /** * Error message for when an error occurs in FragmentOrderingKeeper evaluation. */ @@ -87,38 +85,5 @@ public class CustomMessages extends NLS { */ public static String Warning_ResizeInteractionOperandTxt; - /** - * Preference messages - *@since 3.0 - **/ - public static String DiagramsPreferencePage_notificationGroup_label; - - public static String DiagramsPreferencePage_executionSpecificationWithSyncMsg_label; - - public static String DiagramsPreferencePage_executionSpecificationWithAsyncMsg_label; - - public static String DiagramsPreferencePage_createBehaviorExecutionSpecificationAndReply; - - public static String DiagramsPreferencePage_createBehaviorExecutionSpecification; - - public static String DiagramsPreferencePage_createActionExecutionSpecificationAndReply; - - public static String DiagramsPreferencePage_createActionExecutionSpecification; - - public static String DiagramsPreferencePage_createNoExecutionSpecification; - - /** - * the preferences - */ - public static String PREF_EXECUTION_SPECIFICATION_SYNC_MSG; - - public static String PREF_EXECUTION_SPECIFICATION_ASYNC_MSG; //$NON-NLS-1$ - - /** trace messages */ - public static String SEQUENCE_DEBUG = "SequenceDebug"; // //$NON-NLS-0$ - - public static String SEQUENCE_DEBUG_REFERENCEGRID = "SequenceDebugGrid"; // //$NON-NLS-0$ - - public static String SEQUENCE_DEBUG_UTIL = "SequenceDebugUtil"; // //$NON-NLS-0$ } diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/command/CreateCoordinateCommand.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/command/CreateCoordinateCommand.java index 96ad41b3b5d..e7f8f4be79d 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/command/CreateCoordinateCommand.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/command/CreateCoordinateCommand.java @@ -22,7 +22,8 @@ import org.eclipse.gmf.runtime.notation.View; import org.eclipse.papyrus.uml.diagram.common.stereotype.display.helper.StereotypeDisplayConstant; import org.eclipse.papyrus.uml.diagram.common.stereotype.display.helper.StereotypeDisplayUtil; import org.eclipse.papyrus.uml.diagram.sequence.referencialgrilling.GrillingEditpart; -import org.eclipse.papyrus.uml.diagram.sequence.CustomMessages; +import org.eclipse.papyrus.uml.diagram.sequence.util.LogOptions; +import org.eclipse.papyrus.uml.diagram.sequence.messages.Messages; import org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin; import org.eclipse.papyrus.uml.diagram.sequence.referencialgrilling.GridManagementEditPolicy; import org.eclipse.uml2.uml.Element; @@ -51,7 +52,7 @@ public class CreateCoordinateCommand extends RecordingCommand { * The EditPart view of the Compartment */ public CreateCoordinateCommand(TransactionalEditingDomain domain, BasicCompartment compartment, String name, Element semantic, int position) { - super(domain, "create Grilling Structure"); + super(domain, "create Grilling Structure"); //$NON-NLS-1$ this.compartment = compartment; this.name = name; this.position = position; @@ -73,7 +74,7 @@ public class CreateCoordinateCommand extends RecordingCommand { } if (name.startsWith(GridManagementEditPolicy.ROW)) { linelocation.setY(position); - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, ">>>Create row at " + position); //$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, ">>>Create row at " + position); //$NON-NLS-1$ } coordinate.setLayoutConstraint(linelocation); if (semantic != null) { diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/command/CreateExecutionSpecificationWithMessage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/command/CreateExecutionSpecificationWithMessage.java index 504e984f9c9..12854dd9e77 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/command/CreateExecutionSpecificationWithMessage.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/command/CreateExecutionSpecificationWithMessage.java @@ -19,15 +19,12 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.geometry.Point; import org.eclipse.draw2d.geometry.Rectangle; -import org.eclipse.emf.transaction.RecordingCommand; import org.eclipse.emf.transaction.TransactionalEditingDomain; import org.eclipse.gef.EditPart; import org.eclipse.gef.RequestConstants; import org.eclipse.gef.commands.Command; -import org.eclipse.gef.commands.CompoundCommand; import org.eclipse.gmf.runtime.common.core.command.CommandResult; import org.eclipse.gmf.runtime.diagram.core.edithelpers.CreateElementRequestAdapter; -import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart; import org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewAndElementRequest; import org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewRequest; import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest; @@ -36,11 +33,11 @@ import org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewAndElemen import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand; import org.eclipse.gmf.runtime.emf.type.core.IHintedType; import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.papyrus.uml.diagram.sequence.CustomMessages; +import org.eclipse.papyrus.uml.diagram.sequence.messages.Messages; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.CustomActionExecutionSpecificationEditPart; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.LifelineEditPart; import org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin; -import org.eclipse.papyrus.uml.diagram.sequence.providers.UMLElementTypes; +import org.eclipse.papyrus.uml.diagram.sequence.preferences.CustomDiagramGeneralPreferencePage; import org.eclipse.papyrus.uml.service.types.element.UMLDIElementTypes; import org.eclipse.uml2.uml.Message; @@ -64,12 +61,10 @@ public class CreateExecutionSpecificationWithMessage extends AbstractTransaction * @param graphicalContainer the lifeline that will contain the event representation */ public CreateExecutionSpecificationWithMessage(TransactionalEditingDomain domain, CreateConnectionViewAndElementRequest request, EditPart graphicalContainer) { - super(domain, CustomMessages.Commands_CreateExecutionSpecification_Label, null); + super(domain, Messages.Commands_CreateExecutionSpecification_Label, null); this.request=request; this.graphicalContainer= graphicalContainer; - this.preference = "CHOICE_BEHAVIOR"; - this.type = UMLDIElementTypes.BEHAVIOR_EXECUTION_SPECIFICATION_SHAPE; this.createReply = false; } @@ -86,13 +81,13 @@ public class CreateExecutionSpecificationWithMessage extends AbstractTransaction //1. look for the message triggering the creation of the execution specification Message message=getMessage(); if( message==null){ - throw new ExecutionException("null message"); + throw new ExecutionException("null message"); //$NON-NLS-1$ } //2. retrieve preferences to apply // according to the message sort retrievePreferences(); - if( type==null || preference=="CHOICE_NONE") { - throw new ExecutionException("undefined preference"); + if( type==null || CustomDiagramGeneralPreferencePage.CHOICE_NONE.equals(preference)) { + throw new ExecutionException("undefined preference"); //$NON-NLS-1$ } //3. create execution specification at target createExecutionSpecification(); @@ -170,27 +165,26 @@ public class CreateExecutionSpecificationWithMessage extends AbstractTransaction * retrieve preferences concerned with automatic creation of execution specifications */ private void retrievePreferences() { - this.preference = "CHOICE_BEHAVIOR"; this.type = null; IPreferenceStore store = UMLDiagramEditorPlugin.getInstance().getPreferenceStore(); if (request.getConnectionViewAndElementDescriptor().getSemanticHint().equals(UMLDIElementTypes.MESSAGE_ASYNCH_EDGE.getSemanticHint())) { //for asynchronous messages - this.preference = store.getString(CustomMessages.PREF_EXECUTION_SPECIFICATION_ASYNC_MSG); + this.preference = store.getString(CustomDiagramGeneralPreferencePage.PREF_EXECUTION_SPECIFICATION_ASYNC_MSG); } if (request.getConnectionViewAndElementDescriptor().getSemanticHint().equals(UMLDIElementTypes.MESSAGE_SYNCH_EDGE.getSemanticHint())) { //for synchronous messages - this.preference = store.getString(CustomMessages.PREF_EXECUTION_SPECIFICATION_SYNC_MSG); + this.preference = store.getString(CustomDiagramGeneralPreferencePage.PREF_EXECUTION_SPECIFICATION_SYNC_MSG); } // case where a behavior execution specification must be created at target - if ("CHOICE_BEHAVIOR".equals(preference) || "CHOICE_BEHAVIOR_AND_REPLY".equals(preference)) { + if (CustomDiagramGeneralPreferencePage.CHOICE_BEHAVIOR.equals(preference) || CustomDiagramGeneralPreferencePage.CHOICE_BEHAVIOR_AND_REPLY.equals(preference)) { this.type = UMLDIElementTypes.BEHAVIOR_EXECUTION_SPECIFICATION_SHAPE; } // case where an action execution specification must be created at target - if ("CHOICE_ACTION".equals(preference) || "CHOICE_ACTION_AND_REPLY".equals(preference)) { + if (CustomDiagramGeneralPreferencePage.CHOICE_ACTION.equals(preference) || CustomDiagramGeneralPreferencePage.CHOICE_ACTION_AND_REPLY.equals(preference)) { this.type = UMLDIElementTypes.ACTION_EXECUTION_SPECIFICATION_SHAPE; } // case where a message reply must also be created - if ("CHOICE_BEHAVIOR_AND_REPLY".equals(preference) || "CHOICE_ACTION_AND_REPLY".equals(preference)) { + if (CustomDiagramGeneralPreferencePage.CHOICE_BEHAVIOR_AND_REPLY.equals(preference) || CustomDiagramGeneralPreferencePage.CHOICE_ACTION_AND_REPLY.equals(preference)) { this.createReply = true; } } diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/command/DropDestructionOccurenceSpecification.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/command/DropDestructionOccurenceSpecification.java index b10c74e08ee..08269802f10 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/command/DropDestructionOccurenceSpecification.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/command/DropDestructionOccurenceSpecification.java @@ -31,8 +31,8 @@ import org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewAndElemen import org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewAndElementRequest.ConnectionViewAndElementDescriptor; import org.eclipse.gmf.runtime.diagram.ui.requests.DropObjectsRequest; import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand; -import org.eclipse.papyrus.uml.diagram.sequence.CustomMessages; import org.eclipse.papyrus.uml.diagram.sequence.figures.DestructionEventFigure; +import org.eclipse.papyrus.uml.diagram.sequence.messages.Messages; import org.eclipse.uml2.uml.DestructionOccurrenceSpecification; import org.eclipse.uml2.uml.Message; import org.eclipse.uml2.uml.MessageEnd; @@ -54,7 +54,7 @@ public class DropDestructionOccurenceSpecification extends AbstractTransactional * @param graphicalContainer for example the lifeline that will contain the representation of the event */ public DropDestructionOccurenceSpecification(TransactionalEditingDomain domain, CreateConnectionViewAndElementRequest request, EditPart graphicalContainer, Point absolutePosition) { - super(domain, CustomMessages.Commands_DropDestructionOccurenceSpecification_Label, null); + super(domain, Messages.Commands_DropDestructionOccurenceSpecification_Label, null); this.request=request; this.graphicalContainer= graphicalContainer; this.absolutePosition=absolutePosition; diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/CCombinedFragmentCombinedFragmentCompartmentEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/CCombinedFragmentCombinedFragmentCompartmentEditPart.java index 7bc29860e0f..a76d93ec751 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/CCombinedFragmentCombinedFragmentCompartmentEditPart.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/CCombinedFragmentCombinedFragmentCompartmentEditPart.java @@ -1,90 +1,90 @@ -/*****************************************************************************
- * Copyright (c) 2017 CEA LIST and others.
- *
- * 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:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.uml.diagram.sequence.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.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.uml.diagram.sequence.CustomMessages;
-import org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin;
-import org.eclipse.papyrus.uml.diagram.sequence.referencialgrilling.BoundForEditPart;
-
-/**
- * This class has been modified for 2 reasons:
- * - refresh in order to ensure the refresh about size of children
- * - compute the ratio for each children.
- *
- * @since 3.0
- *
- */
-public class CCombinedFragmentCombinedFragmentCompartmentEditPart extends CombinedFragmentCombinedFragmentCompartmentEditPart {
-
- /**
- * Constructor.
- *
- * @param view
- */
- public CCombinedFragmentCombinedFragmentCompartmentEditPart(View view) {
- super(view);
- }
-
- /**
- * this method has been overloaded in order to ensure the refresh about children size
- */
- 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));
-
- // this code has been added in order to force the refresh of Sub Combined fragment
- if (children != null) {
- for (Object child : children) {
- if (child instanceof EditPart) {
- ((EditPart) child).refresh();
- }
- }
- }
- }
-
- /**
- * This code is specific an use to constraint the size of sub compartments.
- * the ratio has to be recompute in order to have a good display
- *
- * @see GraphicalEditPart#setLayoutConstraint(EditPart, IFigure, Object)
- */
- public void setLayoutConstraint(EditPart child, IFigure childFigure,
- Object childConstraint) {
- EditPart parentEditPart = this.getParent();
- // compute the ratio for each children
- int parentHeight = BoundForEditPart.getHeightFromView((Node) parentEditPart.getModel())-27;
- if (childConstraint instanceof Rectangle) {
- double ratio = ((double) ((Rectangle) childConstraint).height) / parentHeight;
- if (ratio >= 1.0) {
- ratio = 0.95;
- }
- UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG, ((Rectangle) childConstraint).height +"--> ratio" + ratio); //$NON-NLS-1$
- childFigure.getParent().setConstraint(childFigure, ratio);
- }
- }
-}
+/***************************************************************************** + * Copyright (c) 2017 CEA LIST and others. + * + * 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: + * CEA LIST - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.uml.diagram.sequence.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.gef.EditPart; +import org.eclipse.gef.GraphicalEditPart; +import org.eclipse.gmf.runtime.notation.Node; +import org.eclipse.gmf.runtime.notation.NotationPackage; +import org.eclipse.gmf.runtime.notation.View; +import org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin; +import org.eclipse.papyrus.uml.diagram.sequence.referencialgrilling.BoundForEditPart; +import org.eclipse.papyrus.uml.diagram.sequence.util.LogOptions; + +/** + * This class has been modified for 2 reasons: + * - refresh in order to ensure the refresh about size of children + * - compute the ratio for each children. + * + * @since 3.0 + * + */ +public class CCombinedFragmentCombinedFragmentCompartmentEditPart extends CombinedFragmentCombinedFragmentCompartmentEditPart { + + /** + * Constructor. + * + * @param view + */ + public CCombinedFragmentCombinedFragmentCompartmentEditPart(View view) { + super(view); + } + + /** + * this method has been overloaded in order to ensure the refresh about children size + */ + 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)); + + // this code has been added in order to force the refresh of Sub Combined fragment + if (children != null) { + for (Object child : children) { + if (child instanceof EditPart) { + ((EditPart) child).refresh(); + } + } + } + } + + /** + * This code is specific an use to constraint the size of sub compartments. + * the ratio has to be recompute in order to have a good display + * + * @see GraphicalEditPart#setLayoutConstraint(EditPart, IFigure, Object) + */ + public void setLayoutConstraint(EditPart child, IFigure childFigure, + Object childConstraint) { + EditPart parentEditPart = this.getParent(); + // compute the ratio for each children + int parentHeight = BoundForEditPart.getHeightFromView((Node) parentEditPart.getModel())-27; + if (childConstraint instanceof Rectangle) { + double ratio = ((double) ((Rectangle) childConstraint).height) / parentHeight; + if (ratio >= 1.0) { + ratio = 0.95; + } + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG, ((Rectangle) childConstraint).height +"--> ratio" + ratio); //$NON-NLS-1$ + childFigure.getParent().setConstraint(childFigure, ratio); + } + } +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/messages/Messages.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/messages/Messages.java new file mode 100644 index 00000000000..ceb992fc543 --- /dev/null +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/messages/Messages.java @@ -0,0 +1,83 @@ +/***************************************************************************** + * Copyright (c) 2017 CEA LIST and others. + * + * 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: + * CEA LIST - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.uml.diagram.sequence.messages; + +import org.eclipse.osgi.util.NLS; + +/** + * @since 3.0 + */ +public class Messages { + + static { + NLS.initializeMessages("org.eclipse.papyrus.uml.diagram.sequence.messages.messages", Messages.class); //$NON-NLS-1$ + } + + private Messages() { + } + + /************************************************************************* + * Preference messages + ************************************************************************/ + + /** + * label for the part of the preference page involved with automatic creations of elements when creating a message + */ + public static String DiagramsPreferencePage_notificationGroup_label; + + /** + * label to ask which behavior should be triggered when creating a synchronous message + */ + public static String DiagramsPreferencePage_executionSpecificationWithSyncMsg_label; + + /** + * label to ask which behavior should be triggered when creating an asynchronous message + */ + public static String DiagramsPreferencePage_executionSpecificationWithAsyncMsg_label; + + /** + * label specifying that a behavior execution specification and a message reply should be created + */ + public static String DiagramsPreferencePage_createBehaviorExecutionSpecificationAndReply; + + /** + * label specifying that a behavior execution specification should be created at message target + */ + public static String DiagramsPreferencePage_createBehaviorExecutionSpecification; + + /** + * label specifying that an action execution specification and a message reply should be created + */ + public static String DiagramsPreferencePage_createActionExecutionSpecificationAndReply; + + /** + * label specifying that an action execution specification should be created at message target + */ + public static String DiagramsPreferencePage_createActionExecutionSpecification; + + /** + * label specifying that only the message should be created + */ + public static String DiagramsPreferencePage_createNoExecutionSpecification; + + /************************************************************************* + * Command labels + ************************************************************************/ + + public static String Commands_CreateExecutionSpecification_Label; + + public static String Commands_DropDestructionOccurenceSpecification_Label; + +} + diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/messages/messages.properties b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/messages/messages.properties new file mode 100644 index 00000000000..0f4b02254d1 --- /dev/null +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/messages/messages.properties @@ -0,0 +1,12 @@ +DiagramsPreferencePage_notificationGroup_label=Automatic creations +DiagramsPreferencePage_executionSpecificationWithSyncMsg_label=When creating a synchronous message, also create: +DiagramsPreferencePage_executionSpecificationWithAsyncMsg_label=When creating an asynchronous message, also create: +DiagramsPreferencePage_createBehaviorExecutionSpecificationAndReply=A Behavior Execution Specification and a Reply Message +DiagramsPreferencePage_createBehaviorExecutionSpecification=A Behavior Execution Specification +DiagramsPreferencePage_createActionExecutionSpecificationAndReply=An Action Execution Specification and a Reply Message +DiagramsPreferencePage_createActionExecutionSpecification=An Action Execution Specification +DiagramsPreferencePage_createNoExecutionSpecification=Nothing +Commands_DropDestructionOccurenceSpecification_Label=Drop Destruction Occurrence Specification +Commands_CreateExecutionSpecification_Label=Execution Specification Automatic Creation with Message +Commands_DropDestructionOccurenceSpecification_Label=Drop Destruction Occurrence Specification +Commands_CreateExecutionSpecification_Label=Execution Specification Automatic Creation with Message diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/preferences/CustomDiagramGeneralPreferencePage.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/preferences/CustomDiagramGeneralPreferencePage.java index 5f8caba4537..46d5e4a834d 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/preferences/CustomDiagramGeneralPreferencePage.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/preferences/CustomDiagramGeneralPreferencePage.java @@ -14,7 +14,7 @@ package org.eclipse.papyrus.uml.diagram.sequence.preferences; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.RadioGroupFieldEditor; import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.DiagramPreferencePage; -import org.eclipse.papyrus.uml.diagram.sequence.CustomMessages; +import org.eclipse.papyrus.uml.diagram.sequence.messages.Messages; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.SequenceDiagramEditPart; import org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin; import org.eclipse.swt.SWT; @@ -23,9 +23,7 @@ import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Group; -/** - * @generated - */ + public class CustomDiagramGeneralPreferencePage extends DiagramPreferencePage { /** @@ -37,10 +35,26 @@ public class CustomDiagramGeneralPreferencePage extends DiagramPreferencePage { * preference page editor control for choosing if and which execution specifications should be automatically created with asynchronous messages */ private RadioGroupFieldEditor executionSpecificationWithAsyncMsg = null; + + /** + * preference key for asynchronous messages + */ + public static String PREF_EXECUTION_SPECIFICATION_ASYNC_MSG = "PREF_EXECUTION_SPECIFICATION_ASYNC_MSG"; //$NON-NLS-1$ + + /** + * preference key for synchronous messages + */ + public static String PREF_EXECUTION_SPECIFICATION_SYNC_MSG = "PREF_EXECUTION_SPECIFICATION_SYNC_MSG"; //$NON-NLS-1$ /** - * @generated + * possible preference values */ + public static final String CHOICE_BEHAVIOR_AND_REPLY= "CHOICE_BEHAVIOR_AND_REPLY"; //$NON-NLS-1$ + public static final String CHOICE_ACTION_AND_REPLY= "CHOICE_ACTION_AND_REPLY"; //$NON-NLS-1$ + public static final String CHOICE_BEHAVIOR= "CHOICE_BEHAVIOR"; //$NON-NLS-1$ + public static final String CHOICE_ACTION= "CHOICE_ACTION"; //$NON-NLS-1$ + public static final String CHOICE_NONE= "CHOICE_NONE"; //$NON-NLS-1$ + public CustomDiagramGeneralPreferencePage() { setPreferenceStore(UMLDiagramEditorPlugin.getInstance().getPreferenceStore()); setPreferenceKey(SequenceDiagramEditPart.MODEL_ID); @@ -62,7 +76,7 @@ public class CustomDiagramGeneralPreferencePage extends DiagramPreferencePage { gridData.grabExcessHorizontalSpace = true; gridData.horizontalSpan = 2; notificationsGroup.setLayoutData(gridData); - notificationsGroup.setText(CustomMessages.DiagramsPreferencePage_notificationGroup_label); + notificationsGroup.setText(Messages.DiagramsPreferencePage_notificationGroup_label); Composite composite = new Composite(notificationsGroup, SWT.NONE); createFieldEditors(composite); addField(executionSpecificationWithSyncMsg); @@ -76,24 +90,24 @@ public class CustomDiagramGeneralPreferencePage extends DiagramPreferencePage { protected void createFieldEditors(Composite composite) { // preference for choosing if and which execution specifications should be automatically created with synchronous message // choice between behavior execution specification, action execution specification or nothing - executionSpecificationWithSyncMsg = new RadioGroupFieldEditor(CustomMessages.PREF_EXECUTION_SPECIFICATION_SYNC_MSG, - CustomMessages.DiagramsPreferencePage_executionSpecificationWithSyncMsg_label, 1, + executionSpecificationWithSyncMsg = new RadioGroupFieldEditor(PREF_EXECUTION_SPECIFICATION_SYNC_MSG, + Messages.DiagramsPreferencePage_executionSpecificationWithSyncMsg_label, 1, new String[][] { - { CustomMessages.DiagramsPreferencePage_createBehaviorExecutionSpecificationAndReply, "CHOICE_BEHAVIOR_AND_REPLY" }, - { CustomMessages.DiagramsPreferencePage_createActionExecutionSpecificationAndReply, "CHOICE_ACTION_AND_REPLY" }, - { CustomMessages.DiagramsPreferencePage_createBehaviorExecutionSpecification, "CHOICE_BEHAVIOR" }, - { CustomMessages.DiagramsPreferencePage_createActionExecutionSpecification, "CHOICE_ACTION" }, - { CustomMessages.DiagramsPreferencePage_createNoExecutionSpecification, "CHOICE_NONE" } + { Messages.DiagramsPreferencePage_createBehaviorExecutionSpecificationAndReply, CHOICE_BEHAVIOR_AND_REPLY }, + { Messages.DiagramsPreferencePage_createActionExecutionSpecificationAndReply, CHOICE_ACTION_AND_REPLY }, + { Messages.DiagramsPreferencePage_createBehaviorExecutionSpecification, CHOICE_BEHAVIOR }, + { Messages.DiagramsPreferencePage_createActionExecutionSpecification, CHOICE_ACTION }, + { Messages.DiagramsPreferencePage_createNoExecutionSpecification, CHOICE_NONE } }, composite); // preference for choosing if and which execution specifications should be automatically created with asynchronous message // choice between behavior execution specification, action execution specification or nothing - executionSpecificationWithAsyncMsg = new RadioGroupFieldEditor(CustomMessages.PREF_EXECUTION_SPECIFICATION_ASYNC_MSG, - CustomMessages.DiagramsPreferencePage_executionSpecificationWithAsyncMsg_label, 1, + executionSpecificationWithAsyncMsg = new RadioGroupFieldEditor(PREF_EXECUTION_SPECIFICATION_ASYNC_MSG, + Messages.DiagramsPreferencePage_executionSpecificationWithAsyncMsg_label, 1, new String[][] { - { CustomMessages.DiagramsPreferencePage_createBehaviorExecutionSpecification, "CHOICE_BEHAVIOR" }, - { CustomMessages.DiagramsPreferencePage_createActionExecutionSpecification, "CHOICE_ACTION" }, - { CustomMessages.DiagramsPreferencePage_createNoExecutionSpecification, "CHOICE_NONE" } + { Messages.DiagramsPreferencePage_createBehaviorExecutionSpecification, CHOICE_BEHAVIOR }, + { Messages.DiagramsPreferencePage_createActionExecutionSpecification, CHOICE_ACTION }, + { Messages.DiagramsPreferencePage_createNoExecutionSpecification, CHOICE_NONE } }, composite); } @@ -104,10 +118,10 @@ public class CustomDiagramGeneralPreferencePage extends DiagramPreferencePage { * preferenceStore */ public static void initSpecificDefaults(IPreferenceStore preferenceStore) { - preferenceStore.setDefault(CustomMessages.PREF_EXECUTION_SPECIFICATION_SYNC_MSG, - "CHOICE_BEHAVIOR"); - preferenceStore.setDefault(CustomMessages.PREF_EXECUTION_SPECIFICATION_ASYNC_MSG, - "CHOICE_BEHAVIOR"); + preferenceStore.setDefault(PREF_EXECUTION_SPECIFICATION_SYNC_MSG, + CHOICE_BEHAVIOR_AND_REPLY); + preferenceStore.setDefault(PREF_EXECUTION_SPECIFICATION_ASYNC_MSG, + CHOICE_NONE); } } diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/ConnectMessageToGridEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/ConnectMessageToGridEditPolicy.java index f17d56d337c..419cc374e02 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/ConnectMessageToGridEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/ConnectMessageToGridEditPolicy.java @@ -39,7 +39,7 @@ import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.AutomaticNotationEd import org.eclipse.papyrus.infra.gmfdiag.common.helper.IdentityAnchorHelper; import org.eclipse.papyrus.infra.gmfdiag.common.helper.NotationHelper; import org.eclipse.papyrus.uml.diagram.common.editparts.NamedElementEditPart; -import org.eclipse.papyrus.uml.diagram.sequence.CustomMessages; +import org.eclipse.papyrus.uml.diagram.sequence.util.LogOptions; import org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin; import org.eclipse.uml2.uml.Message; import org.eclipse.uml2.uml.NamedElement; @@ -49,9 +49,9 @@ import org.eclipse.uml2.uml.NamedElement; */ public class ConnectMessageToGridEditPolicy extends GraphicalEditPolicyEx implements AutomaticNotationEditPolicy, NotificationListener, IGrillingEditpolicy { - protected GrillingEditpart grillingCompartment = null; + protected GrillingEditpart gridCompartment = null; - public static String CONNECT_TO_GRILLING_MANAGEMENT = "CONNECT_TO_GRILLING_MANAGEMENT"; + public static String CONNECT_TO_GRID_MANAGEMENT = "CONNECT_TO_GRID_MANAGEMENT"; //$NON-NLS-1$ protected int displayImprecision = 2; @@ -80,13 +80,13 @@ public class ConnectMessageToGridEditPolicy extends GraphicalEditPolicyEx implem protected void updatePositionGridAxis(DecorationNode axis, int x, int y) { Location currentBounds = (Location) axis.getLayoutConstraint(); if (x < currentBounds.getX() - displayImprecision || x > currentBounds.getX() + displayImprecision) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+---->ACTION: modifiy AXIS to x=" + x + " y=" + y);//$NON-NLS-1$ - execute(new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update Column", new EObjectAdapter(axis), new Point(x, y))); + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+---->ACTION: modifiy AXIS to x=" + x + " y=" + y);//$NON-NLS-1$ //$NON-NLS-2$ + execute(new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update Column", new EObjectAdapter(axis), new Point(x, y))); //$NON-NLS-1$ } if (y < currentBounds.getY() - displayImprecision || y > currentBounds.getY() + displayImprecision) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+---->ACTION: modifiy AXIS to x=" + x + " y=" + y);//$NON-NLS-1$ - execute(new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update row", new EObjectAdapter(axis), new Point(x, y))); + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+---->ACTION: modifiy AXIS to x=" + x + " y=" + y);//$NON-NLS-1$ //$NON-NLS-2$ + execute(new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update row", new EObjectAdapter(axis), new Point(x, y))); //$NON-NLS-1$ } } @@ -100,7 +100,7 @@ public class ConnectMessageToGridEditPolicy extends GraphicalEditPolicyEx implem getDiagramEventBroker().addNotificationListener(((EObject) getHost().getModel()), this); DiagramEditPart diagramEditPart = getDiagramEditPart(getHost()); try { - GridManagementEditPolicy grilling = (GridManagementEditPolicy) diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT); + GridManagementEditPolicy grilling = (GridManagementEditPolicy) diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT); if (grilling != null) { ConnectionEditPart connectionEditPart = (ConnectionEditPart) getHost(); Edge edge = (Edge) connectionEditPart.getModel(); @@ -183,7 +183,7 @@ public class ConnectMessageToGridEditPolicy extends GraphicalEditPolicyEx implem if (diagramEditPart != null) { // CREATION if (notification.getNotifier().equals(((EObject) getHost().getModel())) && NotationPackage.eINSTANCE.getEdge_SourceAnchor().equals(notification.getFeature()) && notification.getNewValue() != null) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT :CREATION add SourceAnchor " + notification.getNotifier());//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT :CREATION add SourceAnchor " + notification.getNotifier());//$NON-NLS-1$ IdentityAnchor anchor = (IdentityAnchor) notification.getNewValue(); if (anchor.getId() != null && !(anchor.getId().equals(""))) { ConnectionEditPart connectionEditPart = (ConnectionEditPart) getHost(); @@ -191,7 +191,7 @@ public class ConnectMessageToGridEditPolicy extends GraphicalEditPolicyEx implem NamedElementEditPart sourceEditpart = (NamedElementEditPart) connectionEditPart.getSource(); int anchorY = computeAnchorPositionNotation(anchor, sourceEditpart); try { - GridManagementEditPolicy grilling = (GridManagementEditPolicy) diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT); + GridManagementEditPolicy grilling = (GridManagementEditPolicy) diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT); if (grilling != null) { if (rowSource == null) { if (m.getSendEvent() == null) { @@ -211,7 +211,7 @@ public class ConnectMessageToGridEditPolicy extends GraphicalEditPolicyEx implem // CREATION if (notification.getNotifier().equals(((EObject) getHost().getModel())) && NotationPackage.eINSTANCE.getEdge_TargetAnchor().equals(notification.getFeature()) && notification.getNewValue() != null) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT: CREATION add targetAnchor " + notification.getNotifier());//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT: CREATION add targetAnchor " + notification.getNotifier());//$NON-NLS-1$ IdentityAnchor anchor = (IdentityAnchor) notification.getNewValue(); if (anchor.getId() != null && !(anchor.getId().equals(""))) { ConnectionEditPart connectionEditPart = (ConnectionEditPart) getHost(); @@ -219,7 +219,7 @@ public class ConnectMessageToGridEditPolicy extends GraphicalEditPolicyEx implem Message m = (Message) connectionEditPart.resolveSemanticElement(); int anchorY = computeAnchorPositionNotation(anchor, editpart); try { - GridManagementEditPolicy grilling = (GridManagementEditPolicy) diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT); + GridManagementEditPolicy grilling = (GridManagementEditPolicy) diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT); if (grilling != null) { if (rowTarget == null) { if (m.getReceiveEvent() == null) { @@ -236,28 +236,28 @@ public class ConnectMessageToGridEditPolicy extends GraphicalEditPolicyEx implem } } if (notification.getEventType() == Notification.SET && notification.getFeature().equals(NotationPackage.eINSTANCE.getEdge_Source())) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+EVENT Source change " + notification.getNotifier());//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+EVENT Source change " + notification.getNotifier());//$NON-NLS-1$ ConnectionEditPart connectionEditPart = (ConnectionEditPart) getHost(); Edge edge = (Edge) connectionEditPart.getNotationView(); if (edge.getSourceAnchor()!=null && rowSource != null) { IdentityAnchor anchor = (IdentityAnchor) edge.getSourceAnchor(); NamedElementEditPart sourceEditpart = (NamedElementEditPart) connectionEditPart.getSource(); int anchorY = computeAnchorPositionNotation(anchor, sourceEditpart); - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+--> SOURCE change for " + ((NamedElement) connectionEditPart.resolveSemanticElement()).getName() + " to " + anchorY + " ");//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+--> SOURCE change for " + ((NamedElement) connectionEditPart.resolveSemanticElement()).getName() + " to " + anchorY + " ");//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ updatePositionGridAxis((DecorationNode) rowSource, 0, anchorY); } } if (notification.getEventType() == Notification.SET && notification.getFeature().equals(NotationPackage.eINSTANCE.getEdge_Target())) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+EVENT target change " + notification.getNotifier());//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+EVENT target change " + notification.getNotifier());//$NON-NLS-1$ ConnectionEditPart connectionEditPart = (ConnectionEditPart) getHost(); Edge edge = (Edge) connectionEditPart.getNotationView(); if (edge.getTargetAnchor()!=null && rowTarget != null) { IdentityAnchor anchor = (IdentityAnchor) edge.getTargetAnchor(); NamedElementEditPart targetEditpart = (NamedElementEditPart) connectionEditPart.getTarget(); int anchorY = computeAnchorPositionNotation(anchor, targetEditpart); - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+--> SOURCE change for " + ((NamedElement) connectionEditPart.resolveSemanticElement()).getName() + " to " + anchorY + " ");//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+--> SOURCE change for " + ((NamedElement) connectionEditPart.resolveSemanticElement()).getName() + " to " + anchorY + " ");//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ updatePositionGridAxis((DecorationNode) rowTarget, 0, anchorY); } @@ -265,21 +265,21 @@ public class ConnectMessageToGridEditPolicy extends GraphicalEditPolicyEx implem // A move has been done by the user if (notification.getEventType() == Notification.SET && notification.getNotifier() instanceof IdentityAnchor) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+EVENT IdentificationAnchor change " + notification.getNotifier());//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+EVENT IdentificationAnchor change " + notification.getNotifier());//$NON-NLS-1$ ConnectionEditPart connectionEditPart = (ConnectionEditPart) getHost(); Edge edge = (Edge) connectionEditPart.getNotationView(); if (notification.getNotifier().equals(edge.getSourceAnchor()) && rowSource != null) { IdentityAnchor anchor = (IdentityAnchor) edge.getSourceAnchor(); NamedElementEditPart sourceEditpart = (NamedElementEditPart) connectionEditPart.getSource(); int anchorY = computeAnchorPositionNotation(anchor, sourceEditpart); - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+--> SOURCE change for " + ((NamedElement) connectionEditPart.resolveSemanticElement()).getName() + " to " + anchorY + " ");//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+--> SOURCE change for " + ((NamedElement) connectionEditPart.resolveSemanticElement()).getName() + " to " + anchorY + " ");//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ updatePositionGridAxis((DecorationNode) rowSource, 0, anchorY); } if (notification.getNotifier().equals(edge.getTargetAnchor()) && rowTarget != null) { IdentityAnchor anchor = (IdentityAnchor) edge.getTargetAnchor(); NamedElementEditPart editpart = (NamedElementEditPart) connectionEditPart.getTarget(); int anchorY = computeAnchorPositionNotation(anchor, editpart); - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+-->TARGET change " + ((NamedElement) connectionEditPart.resolveSemanticElement()).getName() + " to " + anchorY + " ");//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+-->TARGET change " + ((NamedElement) connectionEditPart.resolveSemanticElement()).getName() + " to " + anchorY + " ");//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ updatePositionGridAxis((DecorationNode) rowTarget, 0, anchorY); } @@ -288,8 +288,8 @@ public class ConnectMessageToGridEditPolicy extends GraphicalEditPolicyEx implem // a ROW AXIS has changed at Source if (notification.getEventType() == Notification.SET && notification.getNotifier() instanceof Location && (((EObject) notification.getNotifier()).eContainer().equals(rowSource))) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT source Axis modified :" + notification);//$NON-NLS-1$ - GridManagementEditPolicy grilling = (GridManagementEditPolicy) diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT); + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT source Axis modified :" + notification);//$NON-NLS-1$ + GridManagementEditPolicy grilling = (GridManagementEditPolicy) diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT); if (grilling != null) { if (Math.abs(notification.getOldIntValue() - notification.getNewIntValue()) > grilling.threshold) { ConnectionEditPart connectionEditPart = (ConnectionEditPart) getHost(); @@ -303,8 +303,8 @@ public class ConnectMessageToGridEditPolicy extends GraphicalEditPolicyEx implem // a ROW has changed at target if (notification.getEventType() == Notification.SET && notification.getNotifier() instanceof Location && (((EObject) notification.getNotifier()).eContainer().equals(rowTarget))) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT target Axis modified :" + notification);//$NON-NLS-1$ - GridManagementEditPolicy grilling = (GridManagementEditPolicy) diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT); + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT target Axis modified :" + notification);//$NON-NLS-1$ + GridManagementEditPolicy grilling = (GridManagementEditPolicy) diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT); if (grilling != null) { if (Math.abs(notification.getOldIntValue() - notification.getNewIntValue()) > grilling.threshold) { ConnectionEditPart connectionEditPart = (ConnectionEditPart) getHost(); @@ -332,7 +332,7 @@ public class ConnectMessageToGridEditPolicy extends GraphicalEditPolicyEx implem double oldPosition=oldPercentY*bounds.preciseHeight(); double newPosition=newPercentY*bounds.preciseHeight(); DiagramEditPart diagramEditPart = getDiagramEditPart(getHost()); - GridManagementEditPolicy grilling = (GridManagementEditPolicy) diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT); + GridManagementEditPolicy grilling = (GridManagementEditPolicy) diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT); if (grilling != null) { if (Math.abs(oldPosition - newPosition) >grilling.threshold ) { if (newPercentY > 1) { @@ -343,7 +343,7 @@ public class ConnectMessageToGridEditPolicy extends GraphicalEditPolicyEx implem } if (newPercentY <= 1 && newPercentY >= 0 && newPercentY <= 1 && newPercentY >= 0) { final String newIdValue = IdentityAnchorHelper.createNewAnchorIdValue(xpercent, newPercentY); - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+---->ACTION: modify anchor to precentY=" + newPercentY);//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+---->ACTION: modify anchor to precentY=" + newPercentY);//$NON-NLS-1$ execute(new SetCommand(getDiagramEditPart(getHost()).getEditingDomain(), anchor, NotationPackage.eINSTANCE.getIdentityAnchor_Id(), newIdValue)); } } diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/ConnectRectangleToGridEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/ConnectRectangleToGridEditPolicy.java index c8bcd4a589d..f891827617e 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/ConnectRectangleToGridEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/ConnectRectangleToGridEditPolicy.java @@ -33,8 +33,8 @@ import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.AutomaticNotationEditPolicy; import org.eclipse.papyrus.infra.gmfdiag.common.helper.IdentityAnchorHelper; import org.eclipse.papyrus.infra.gmfdiag.common.helper.NotationHelper; -import org.eclipse.papyrus.uml.diagram.sequence.CustomMessages; import org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin; +import org.eclipse.papyrus.uml.diagram.sequence.util.LogOptions; import org.eclipse.uml2.uml.Element; /** @@ -46,7 +46,7 @@ public class ConnectRectangleToGridEditPolicy extends ConnectToGridEditPolicy im protected GrillingEditpart grillingCompartment=null; - public static String CONNECT_TO_GRILLING_MANAGEMENT="CONNECT_TO_GRILLING_MANAGEMENT"; + public static String CONNECT_TO_GRILLING_MANAGEMENT="CONNECT_TO_GRILLING_MANAGEMENT"; //$NON-NLS-1$ protected DecorationNode rowStart=null; protected DecorationNode rowFinish=null; @@ -73,7 +73,7 @@ public class ConnectRectangleToGridEditPolicy extends ConnectToGridEditPolicy im DiagramEditPart diagramEditPart=getDiagramEditPart(getHost()); Node node=((Node)((GraphicalEditPart)getHost()).getNotationView()); try{ - GridManagementEditPolicy grilling=(GridManagementEditPolicy)diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT); + GridManagementEditPolicy grilling=(GridManagementEditPolicy)diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT); Node nodeContainer=(Node)(((GraphicalEditPart)getHost()).getNotationView()).eContainer(); Element element=(Element) ((GraphicalEditPart)getHost()).resolveSemanticElement(); if (grilling!=null){ @@ -218,11 +218,11 @@ public class ConnectRectangleToGridEditPolicy extends ConnectToGridEditPolicy im //UPDATE COLUM AND ROW of THE GRID if( notification.getEventType()==Notification.SET && notification.getNotifier() instanceof Bounds){ PrecisionRectangle bounds=NotationHelper.getAbsoluteBounds((Node)((GraphicalEditPart)getHost()).getNotationView()); - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT: BOUNDS change " +notification.getNewValue());//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT: BOUNDS change " +notification.getNewValue());//$NON-NLS-1$ if( notification.getFeature().equals(NotationPackage.eINSTANCE.getSize_Height())){ updateRowFinishFromHeightNotification(bounds); - //update acnchors + //update anchors if( (((EObject)notification.getNotifier()).eContainer().equals(((EObject)getHost().getModel())))){ Node node=(Node)this.getHost().getModel(); java.util.List<Edge> sourceEdge= node.getSourceEdges(); @@ -280,7 +280,7 @@ public class ConnectRectangleToGridEditPolicy extends ConnectToGridEditPolicy im protected void updateColumFinishFromWitdhNotification(PrecisionRectangle notationBound) { int newX=notationBound.x+notationBound.width; updatePositionGridAxis(columnFinish, newX,0); - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+---->ACTION: modifiy AXIS to x=" + newX);//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+---->ACTION: modifiy AXIS to x=" + newX);//$NON-NLS-1$ } @@ -308,7 +308,7 @@ public class ConnectRectangleToGridEditPolicy extends ConnectToGridEditPolicy im protected void updateColumnStartFromXNotification(PrecisionRectangle bounds) { int newX=bounds.x(); updatePositionGridAxis(columnStart, newX, 0); - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+---->ACTION: modifiy AXIS START to x=" + newX);//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+---->ACTION: modifiy AXIS START to x=" + newX);//$NON-NLS-1$ } /** @@ -319,7 +319,7 @@ public class ConnectRectangleToGridEditPolicy extends ConnectToGridEditPolicy im protected void updateWidthFromAxisNotification(PrecisionRectangle originPosition, Bounds currentBounds) { Location boundsColumn=(Location) ((Node)columnFinish).getLayoutConstraint(); int newX=boundsColumn.getX()-originPosition.x()-currentBounds.getX(); - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT: AXIS ROW FINISH change " +newX);//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT: AXIS ROW FINISH change " +newX);//$NON-NLS-1$ updateSizeOfControler(newX, currentBounds.getHeight()); } @@ -331,7 +331,7 @@ public class ConnectRectangleToGridEditPolicy extends ConnectToGridEditPolicy im protected void updateHeightFromAxisNotification(PrecisionRectangle originPosition, Bounds currentBounds) { Location boundsColumn=(Location) ((Node)rowFinish).getLayoutConstraint(); int newHeight=boundsColumn.getY()-originPosition.y()-currentBounds.getY()-margin; - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT: AXIS ROW FINISH change " +newHeight);//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT: AXIS ROW FINISH change " +newHeight);//$NON-NLS-1$ updateSizeOfControler(currentBounds.getWidth(), newHeight); } @@ -343,7 +343,7 @@ public class ConnectRectangleToGridEditPolicy extends ConnectToGridEditPolicy im protected void updateXFromAxisNotification(PrecisionRectangle originPosition, Bounds currentBounds) { Location boundsColumn=(Location) ((Node)columnStart).getLayoutConstraint(); int newX=boundsColumn.getX()-originPosition.x(); - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT: AXIS COLUMN START change " +newX);//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT: AXIS COLUMN START change " +newX);//$NON-NLS-1$ updateNodePositionOfControler(newX, currentBounds.getY()); } @@ -356,7 +356,7 @@ public class ConnectRectangleToGridEditPolicy extends ConnectToGridEditPolicy im protected void updateYFromAxisNotification(PrecisionRectangle originPosition, Bounds currentBounds) { Location boundsRow=(Location) ((Node)rowStart).getLayoutConstraint(); int newY=boundsRow.getY()-originPosition.y()-margin; - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT: AXIS ROW START change " +newY);//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+ EVENT: AXIS ROW START change " +newY);//$NON-NLS-1$ updateNodePositionOfControler(currentBounds.getX(), newY); if( rowFinish!=null) { @@ -405,7 +405,7 @@ public class ConnectRectangleToGridEditPolicy extends ConnectToGridEditPolicy im else{ anchor=(IdentityAnchor)edge.getTargetAnchor(); } - if(!anchor.getId().trim().equals("")){ + if(!anchor.getId().trim().equals("")){ //$NON-NLS-1$ double yPercent=IdentityAnchorHelper.getYPercentage(anchor); double xPercent=IdentityAnchorHelper.getXPercentage(anchor); diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/ConnectToGridEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/ConnectToGridEditPolicy.java index cc17d413372..35d1947ee27 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/ConnectToGridEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/ConnectToGridEditPolicy.java @@ -1,92 +1,93 @@ -/*****************************************************************************
- * Copyright (c) 2017 CEA LIST and others.
- *
- * 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:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.uml.diagram.sequence.referencialgrilling;
-
-
-
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.gmf.runtime.diagram.core.listener.NotificationListener;
-import org.eclipse.gmf.runtime.diagram.ui.commands.SetBoundsCommand;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
-import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
-import org.eclipse.gmf.runtime.gef.ui.internal.editpolicies.GraphicalEditPolicyEx;
-import org.eclipse.gmf.runtime.notation.Bounds;
-import org.eclipse.gmf.runtime.notation.DecorationNode;
-import org.eclipse.gmf.runtime.notation.Location;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
-import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.AutomaticNotationEditPolicy;
-import org.eclipse.papyrus.uml.diagram.sequence.CustomMessages;
-import org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin;
-
-/**
- * This class is a class that contains method to set position to the grid
- *
- */
-public abstract class ConnectToGridEditPolicy extends GraphicalEditPolicyEx implements AutomaticNotationEditPolicy, IGrillingEditpolicy {
-
- protected int displayImprecision=2;
- /**
- * Update the position of the node that is displayed
- * @param x the position X
- * @param y the position Y
- */
- protected void updateNodePositionOfControler(int x, int y) {
- Bounds currentBounds=(Bounds) ((Node)((GraphicalEditPart)getHost()).getNotationView()).getLayoutConstraint();
- if(x<currentBounds.getX()-displayImprecision||x>currentBounds.getX()+displayImprecision){
- execute(new GMFtoEMFCommandWrapper(new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update notation from Column", new EObjectAdapter( ((GraphicalEditPart)getHost()).getNotationView()),
- new Point(x,y))));
- }
- if(y<currentBounds.getY()-displayImprecision||y>currentBounds.getY()+displayImprecision){
- execute(new GMFtoEMFCommandWrapper(new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update notation from Row", new EObjectAdapter( ((GraphicalEditPart)getHost()).getNotationView()),
- new Point(x,y))));
- }
- }
- /**
- * Update the size of the Node from the given data
- * @param width the width of the node
- * @param height the height of the node
- */
- protected void updateSizeOfControler(int width, int height) {
- Bounds currentBounds=(Bounds) ((Node)((GraphicalEditPart)getHost()).getNotationView()).getLayoutConstraint();
- if(width<currentBounds.getWidth()-displayImprecision||width>currentBounds.getWidth()+displayImprecision){
- execute(new GMFtoEMFCommandWrapper(new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update notation from Column", new EObjectAdapter( ((GraphicalEditPart)getHost()).getNotationView()),
- new Dimension(width,currentBounds.getHeight()))));
- }
- if(height<currentBounds.getHeight()-displayImprecision||height>currentBounds.getHeight()+displayImprecision){
- execute(new GMFtoEMFCommandWrapper(new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update notation from Row", new EObjectAdapter( ((GraphicalEditPart)getHost()).getNotationView()),
- new Dimension(currentBounds.getWidth(),height))));
- }
- }
- /**
- * update an axis of the grid from coordinate X or Y
- * @param axis the axis to update
- * @param x the coordinate x
- * @param y the coordinate y
- */
- protected void updatePositionGridAxis(DecorationNode axis, int x, int y) {
- Location currentBounds=(Location) axis.getLayoutConstraint();
- if(x<currentBounds.getX()-displayImprecision||x>currentBounds.getX()+displayImprecision){
- UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+---->ACTION: modifiy AXIS FINISH to x=" + x);//$NON-NLS-1$
- execute( new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update Column", new EObjectAdapter(axis), new Point(x,y)));
-
- }
- if(y<currentBounds.getY()-displayImprecision||y>currentBounds.getY()+displayImprecision){
- UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "+---->ACTION: modifiy AXIS FINISH to y=" + y);//$NON-NLS-1$
- execute( new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update row", new EObjectAdapter(axis), new Point(x,y)));
- }
- }
-
+/***************************************************************************** + * Copyright (c) 2017 CEA LIST and others. + * + * 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: + * CEA LIST - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.uml.diagram.sequence.referencialgrilling; + + + +import org.eclipse.draw2d.geometry.Dimension; +import org.eclipse.draw2d.geometry.Point; +import org.eclipse.gmf.runtime.diagram.core.listener.NotificationListener; +import org.eclipse.gmf.runtime.diagram.ui.commands.SetBoundsCommand; +import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart; +import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter; +import org.eclipse.gmf.runtime.gef.ui.internal.editpolicies.GraphicalEditPolicyEx; +import org.eclipse.gmf.runtime.notation.Bounds; +import org.eclipse.gmf.runtime.notation.DecorationNode; +import org.eclipse.gmf.runtime.notation.Location; +import org.eclipse.gmf.runtime.notation.Node; +import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.AutomaticNotationEditPolicy; +import org.eclipse.papyrus.uml.diagram.sequence.CustomMessages; +import org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin; +import org.eclipse.papyrus.uml.diagram.sequence.util.LogOptions; + +/** + * This class is a class that contains method to set position to the grid + * + */ +public abstract class ConnectToGridEditPolicy extends GraphicalEditPolicyEx implements AutomaticNotationEditPolicy, IGrillingEditpolicy { + + protected int displayImprecision=2; + /** + * Update the position of the node that is displayed + * @param x the position X + * @param y the position Y + */ + protected void updateNodePositionOfControler(int x, int y) { + Bounds currentBounds=(Bounds) ((Node)((GraphicalEditPart)getHost()).getNotationView()).getLayoutConstraint(); + if(x<currentBounds.getX()-displayImprecision||x>currentBounds.getX()+displayImprecision){ + execute(new GMFtoEMFCommandWrapper(new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update notation from Column", new EObjectAdapter( ((GraphicalEditPart)getHost()).getNotationView()), + new Point(x,y)))); + } + if(y<currentBounds.getY()-displayImprecision||y>currentBounds.getY()+displayImprecision){ + execute(new GMFtoEMFCommandWrapper(new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update notation from Row", new EObjectAdapter( ((GraphicalEditPart)getHost()).getNotationView()), + new Point(x,y)))); + } + } + /** + * Update the size of the Node from the given data + * @param width the width of the node + * @param height the height of the node + */ + protected void updateSizeOfControler(int width, int height) { + Bounds currentBounds=(Bounds) ((Node)((GraphicalEditPart)getHost()).getNotationView()).getLayoutConstraint(); + if(width<currentBounds.getWidth()-displayImprecision||width>currentBounds.getWidth()+displayImprecision){ + execute(new GMFtoEMFCommandWrapper(new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update notation from Column", new EObjectAdapter( ((GraphicalEditPart)getHost()).getNotationView()), + new Dimension(width,currentBounds.getHeight())))); + } + if(height<currentBounds.getHeight()-displayImprecision||height>currentBounds.getHeight()+displayImprecision){ + execute(new GMFtoEMFCommandWrapper(new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update notation from Row", new EObjectAdapter( ((GraphicalEditPart)getHost()).getNotationView()), + new Dimension(currentBounds.getWidth(),height)))); + } + } + /** + * update an axis of the grid from coordinate X or Y + * @param axis the axis to update + * @param x the coordinate x + * @param y the coordinate y + */ + protected void updatePositionGridAxis(DecorationNode axis, int x, int y) { + Location currentBounds=(Location) axis.getLayoutConstraint(); + if(x<currentBounds.getX()-displayImprecision||x>currentBounds.getX()+displayImprecision){ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+---->ACTION: modifiy AXIS FINISH to x=" + x);//$NON-NLS-1$ + execute( new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update Column", new EObjectAdapter(axis), new Point(x,y))); + + } + if(y<currentBounds.getY()-displayImprecision||y>currentBounds.getY()+displayImprecision){ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "+---->ACTION: modifiy AXIS FINISH to y=" + y);//$NON-NLS-1$ + execute( new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update row", new EObjectAdapter(axis), new Point(x,y))); + } + } + }
\ No newline at end of file diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/GridBasedXYLayoutEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/GridBasedXYLayoutEditPolicy.java index 3319b8983e4..0e1e7f99644 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/GridBasedXYLayoutEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/GridBasedXYLayoutEditPolicy.java @@ -36,7 +36,7 @@ public class GridBasedXYLayoutEditPolicy extends XYLayoutWithConstrainedResizedE @Override protected Command getCreateCommand(CreateRequest request) { DiagramEditPart diagramEditPart=getDiagramEditPart(getHost()); - GridManagementEditPolicy grid=(GridManagementEditPolicy)diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT); + GridManagementEditPolicy grid=(GridManagementEditPolicy)diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT); if (grid!=null){ CompoundCommand cmd= new CompoundCommand(); SetMoveAllLineAtSamePositionCommand setMoveAllLineAtSamePositionCommand= new SetMoveAllLineAtSamePositionCommand(grid, false); diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/GridManagementEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/GridManagementEditPolicy.java index d380c7c3f74..9bc33704497 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/GridManagementEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/GridManagementEditPolicy.java @@ -46,11 +46,11 @@ import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.AutomaticNotationEditPolicy; import org.eclipse.papyrus.infra.gmfdiag.common.utils.DiagramEditPartsUtil; -import org.eclipse.papyrus.uml.diagram.sequence.CustomMessages; import org.eclipse.papyrus.uml.diagram.sequence.command.CreateCoordinateCommand; import org.eclipse.papyrus.uml.diagram.sequence.command.CreateGrillingStructureCommand; import org.eclipse.papyrus.uml.diagram.sequence.keyboardlistener.KeyToSetMoveLinesListener; import org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin; +import org.eclipse.papyrus.uml.diagram.sequence.util.LogOptions; import org.eclipse.swt.SWT; import org.eclipse.ui.PlatformUI; import org.eclipse.uml2.uml.Element; @@ -64,13 +64,13 @@ import org.eclipse.uml2.uml.UMLPackage; * */ public class GridManagementEditPolicy extends GraphicalEditPolicyEx implements AutomaticNotationEditPolicy, NotificationListener, IGrillingEditpolicy { - public static final String GRILL_CONNECTION = "Grill Connection"; - protected GrillingEditpart grillingCompartment = null; + public static final String GRID_CONNECTION = "Grid Connection"; //$NON-NLS-1$ + protected GrillingEditpart gridCompartment = null; - public static String GRILLING_MANAGEMENT = "GRILLING_MANAGEMENT"; - public static String COLUMN = "COLUMN_"; - public static String ROW = "ROW_"; + public static String GRID_MANAGEMENT = "GRID_MANAGEMENT"; //$NON-NLS-1$ + public static String COLUMN = "COLUMN_"; //$NON-NLS-1$ + public static String ROW = "ROW_"; //$NON-NLS-1$ public int threshold = 5; /** @@ -116,7 +116,7 @@ public class GridManagementEditPolicy extends GraphicalEditPolicyEx implements A */ public void setMoveAllLinesAtSamePosition(boolean moveAllLinesAtSamePosition) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, ">> set moveAllLinesAtSamePosition=" + moveAllLinesAtSamePosition);//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, ">> set moveAllLinesAtSamePosition=" + moveAllLinesAtSamePosition);//$NON-NLS-1$ this.moveAllLinesAtSamePosition = moveAllLinesAtSamePosition; } @@ -201,22 +201,22 @@ public class GridManagementEditPolicy extends GraphicalEditPolicyEx implements A private void refreshGrillingStructure() { EditPart host = getHost(); int i = 0; - while (grillingCompartment == null && i < host.getChildren().size()) { + while (gridCompartment == null && i < host.getChildren().size()) { if (host.getChildren().get(i) instanceof GrillingEditpart) { - grillingCompartment = (GrillingEditpart) (host.getChildren().get(i)); + gridCompartment = (GrillingEditpart) (host.getChildren().get(i)); } i++; } - if (grillingCompartment == null) { + if (gridCompartment == null) { CreateGrillingStructureCommand createGrillingStructureCommand = new CreateGrillingStructureCommand(((IGraphicalEditPart) getHost()).getEditingDomain(), (View) getHost().getModel()); // Record for undo if possible, otherwise unprotected execute(createGrillingStructureCommand); } - while (grillingCompartment == null && i < host.getChildren().size()) { + while (gridCompartment == null && i < host.getChildren().size()) { if (host.getChildren().get(i) instanceof GrillingEditpart) { - grillingCompartment = (GrillingEditpart) (host.getChildren().get(i)); + gridCompartment = (GrillingEditpart) (host.getChildren().get(i)); } i++; } @@ -232,10 +232,10 @@ public class GridManagementEditPolicy extends GraphicalEditPolicyEx implements A rows.clear(); columns.clear(); - if (grillingCompartment != null) { - for (int j = 0; j < grillingCompartment.getNotationView().getChildren().size(); j++) { - if (grillingCompartment.getNotationView().getChildren().get(j) instanceof DecorationNode) { - DecorationNode decorationNode = (DecorationNode) grillingCompartment.getNotationView().getChildren().get(j); + if (gridCompartment != null) { + for (int j = 0; j < gridCompartment.getNotationView().getChildren().size(); j++) { + if (gridCompartment.getNotationView().getChildren().get(j) instanceof DecorationNode) { + DecorationNode decorationNode = (DecorationNode) gridCompartment.getNotationView().getChildren().get(j); if (decorationNode.getType().startsWith(ROW)) { rows.add(decorationNode); @@ -248,10 +248,10 @@ public class GridManagementEditPolicy extends GraphicalEditPolicyEx implements A } Collections.sort(rows, RowComparator); Collections.sort(columns, ColumnComparator); - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "____ROWS_____");//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "____ROWS_____");//$NON-NLS-1$ for (int i=0; i<rows.size();i++) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "row "+i +" y="+getPositionY(rows.get(i)));//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "row "+i +" y="+getPositionY(rows.get(i)));//$NON-NLS-1$ //$NON-NLS-2$ } } @@ -316,14 +316,14 @@ public class GridManagementEditPolicy extends GraphicalEditPolicyEx implements A } if (covered.size() == lifeline.getCoveredBys().size()) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "equality");//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "equality");//$NON-NLS-1$ execute(new SetCommand(((IGraphicalEditPart) getHost()).getEditingDomain(), lifeline, UMLPackage.eINSTANCE.getLifeline_CoveredBy(), covered)); } else if (covered.size() < lifeline.getCoveredBys().size()) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "Event not managed or being created");//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "Event not managed or being created");//$NON-NLS-1$ // covered.addAll(lifeline.getCoveredBys()); execute(new SetCommand(((IGraphicalEditPart) getHost()).getEditingDomain(), lifeline, UMLPackage.eINSTANCE.getLifeline_CoveredBy(), covered)); } else if (covered.size() > lifeline.getCoveredBys().size()) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_REFERENCEGRID, "more event than in the lifeline due to combined fragment");//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "more event than in the lifeline due to combined fragment");//$NON-NLS-1$ execute(new SetCommand(((IGraphicalEditPart) getHost()).getEditingDomain(), lifeline, UMLPackage.eINSTANCE.getLifeline_CoveredBy(), covered)); } } @@ -384,7 +384,7 @@ public class GridManagementEditPolicy extends GraphicalEditPolicyEx implements A } for (Iterator<DecorationNode> iterator = rowlist.iterator(); iterator.hasNext();) { DecorationNode axis = (DecorationNode) iterator.next(); - execute(new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update Line", new EObjectAdapter(axis), new Point(0, notification.getNewIntValue()))); + execute(new SetBoundsCommand(getDiagramEditPart(getHost()).getEditingDomain(), "update Line", new EObjectAdapter(axis), new Point(0, notification.getNewIntValue()))); //$NON-NLS-1$ } ((EObject) getHost().getModel()).eResource().eAdapters().add(contentDiagramListener); @@ -406,7 +406,7 @@ public class GridManagementEditPolicy extends GraphicalEditPolicyEx implements A * @return the decoration node */ public DecorationNode createColumnTolisten(int x, Element semantic) throws NoGrillElementFound { - execute(new CreateCoordinateCommand(((IGraphicalEditPart) getHost()).getEditingDomain(), ((BasicCompartment) grillingCompartment.getNotationView()), COLUMN + columns.size(), semantic, x)); + execute(new CreateCoordinateCommand(((IGraphicalEditPart) getHost()).getEditingDomain(), ((BasicCompartment) gridCompartment.getNotationView()), COLUMN + columns.size(), semantic, x)); refreshGrillingStructure(); return getLastCreatedAxis(); } @@ -419,7 +419,7 @@ public class GridManagementEditPolicy extends GraphicalEditPolicyEx implements A * @return the decoration node */ public DecorationNode createRowTolisten(int y, Element semantic) throws NoGrillElementFound { - execute(new CreateCoordinateCommand(((IGraphicalEditPart) getHost()).getEditingDomain(), ((BasicCompartment) grillingCompartment.getNotationView()), ROW + rows.size(), semantic, y)); + execute(new CreateCoordinateCommand(((IGraphicalEditPart) getHost()).getEditingDomain(), ((BasicCompartment) gridCompartment.getNotationView()), ROW + rows.size(), semantic, y)); DecorationNode row = getLastCreatedAxis(); refreshGrillingStructure(); return row; @@ -430,7 +430,7 @@ public class GridManagementEditPolicy extends GraphicalEditPolicyEx implements A * @return get the last created Axis **/ public DecorationNode getLastCreatedAxis() throws NoGrillElementFound { - BasicCompartment grid = ((BasicCompartment) grillingCompartment.getNotationView()); + BasicCompartment grid = ((BasicCompartment) gridCompartment.getNotationView()); if (grid.getChildren().size() == 0) { throw new NoGrillElementFound(); } else { @@ -540,7 +540,7 @@ public class GridManagementEditPolicy extends GraphicalEditPolicyEx implements A } public static List<EObject> getRef(DecorationNode current) { - EAnnotation eAnnotation = current.getEAnnotation(GRILL_CONNECTION); + EAnnotation eAnnotation = current.getEAnnotation(GRID_CONNECTION); if (eAnnotation == null) { return null; } else { diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/GrillingEditpart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/GrillingEditpart.java index 991b76519f4..33c9b019abe 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/GrillingEditpart.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/GrillingEditpart.java @@ -76,7 +76,7 @@ public class GrillingEditpart extends GraphicalEditPart { getFigure().setBounds(new Rectangle (0,0,50,1000)); ((ReferencialGrid)getFigure()).cleanAllLines(); DiagramEditPart diagramEditPart=(DiagramEditPart)this.getParent(); - GridManagementEditPolicy grid=(GridManagementEditPolicy)diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT); + GridManagementEditPolicy grid=(GridManagementEditPolicy)diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT); for (int i=0; i<grid.rows.size();i++) { if( grid.rows.get(i)!=null) { Location location= (Location)grid.rows.get(i).getLayoutConstraint(); diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/LifeLineGraphicalNodeEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/LifeLineGraphicalNodeEditPolicy.java index 9da8e72d63f..343b271e10b 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/LifeLineGraphicalNodeEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/LifeLineGraphicalNodeEditPolicy.java @@ -159,7 +159,7 @@ public class LifeLineGraphicalNodeEditPolicy extends DefaultGraphicalNodeEditPol new Point(bounds.getX(),relativePt.y-5)); CompoundCommand compoundCommand= new CompoundCommand(); DiagramEditPart diagramEditPart=getDiagramEditPart(getHost()); - GridManagementEditPolicy grid=(GridManagementEditPolicy)diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT); + GridManagementEditPolicy grid=(GridManagementEditPolicy)diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT); SetMoveAllLineAtSamePositionCommand setMoveAllLineAtSamePositionCommand= new SetMoveAllLineAtSamePositionCommand(grid,false); compoundCommand.add(setMoveAllLineAtSamePositionCommand); compoundCommand.add(cmd); @@ -184,7 +184,7 @@ public class LifeLineGraphicalNodeEditPolicy extends DefaultGraphicalNodeEditPol // in the case of messages of sort: synchCall, asynchCall or asynchSignal // an execution specification may be created at target DiagramEditPart diagramEditPart=getDiagramEditPart(getHost()); - GridManagementEditPolicy grid=(GridManagementEditPolicy)diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT); + GridManagementEditPolicy grid=(GridManagementEditPolicy)diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT); CreateExecutionSpecificationWithMessage createExecutionSpecificationwithMsg= new CreateExecutionSpecificationWithMessage(getDiagramEditPart(getHost()).getEditingDomain(), request, (NodeEditPart)request.getTargetEditPart()); CompoundCommand compoundCommand= new CompoundCommand(); SetMoveAllLineAtSamePositionCommand setMoveAllLineAtSamePositionCommand= new SetMoveAllLineAtSamePositionCommand(grid,false); @@ -234,7 +234,7 @@ public class LifeLineGraphicalNodeEditPolicy extends DefaultGraphicalNodeEditPol LifelineEditPart lifelineEditPart= (LifelineEditPart)getHost(); Lifeline lifeline=(Lifeline) lifelineEditPart.resolveSemanticElement(); try{ - GridManagementEditPolicy grilling=(GridManagementEditPolicy)diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT); + GridManagementEditPolicy grilling=(GridManagementEditPolicy)diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT); if(grilling!=null) { for (DecorationNode row : grilling.rows) { Point currentPoint=GridManagementEditPolicy.getLocation(row); diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/LifeLineXYLayoutEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/LifeLineXYLayoutEditPolicy.java index 874a51ffa14..abb17275073 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/LifeLineXYLayoutEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/LifeLineXYLayoutEditPolicy.java @@ -41,6 +41,8 @@ import org.eclipse.gmf.runtime.emf.type.core.IElementType; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.XYLayoutWithConstrainedResizedEditPolicy; import org.eclipse.papyrus.infra.gmfdiag.common.utils.DiagramEditPartsUtil; +import org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin; +import org.eclipse.papyrus.uml.diagram.sequence.util.LogOptions; import org.eclipse.papyrus.uml.diagram.sequence.command.SetMoveAllLineAtSamePositionCommand; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.AbstractExecutionSpecificationEditPart; import org.eclipse.papyrus.uml.service.types.element.UMLDIElementTypes; @@ -70,7 +72,6 @@ public class LifeLineXYLayoutEditPolicy extends XYLayoutWithConstrainedResizedEd */ @Override public void setHost(EditPart host) { - // TODO Auto-generated method stub super.setHost(host); displayEvent = new DisplayEvent(getHost()); } @@ -146,6 +147,7 @@ public class LifeLineXYLayoutEditPolicy extends XYLayoutWithConstrainedResizedEd RootEditPart drep = getHost().getRoot(); Rectangle parentBound = getHostFigure().getBounds().getCopy(); getHostFigure().getParent().translateToAbsolute(parentBound); + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_REFERENCEGRID, "LifeLineBounds On Screen:" + parentBound); //$NON-NLS-1$ if (drep instanceof DiagramRootEditPart) { double spacing = ((DiagramRootEditPart) drep).getGridSpacing(); if (request instanceof org.eclipse.papyrus.infra.gmfdiag.common.service.palette.AspectUnspecifiedTypeCreationTool.CreateAspectUnspecifiedTypeRequest) { @@ -254,7 +256,7 @@ public class LifeLineXYLayoutEditPolicy extends XYLayoutWithConstrainedResizedEd @Override protected Command getCreateCommand(CreateRequest request) { DiagramEditPart diagramEditPart = getDiagramEditPart(getHost()); - GridManagementEditPolicy grid = (GridManagementEditPolicy) diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT); + GridManagementEditPolicy grid = (GridManagementEditPolicy) diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT); if (grid != null) { CompoundCommand cmd = new CompoundCommand(); SetMoveAllLineAtSamePositionCommand setMoveAllLineAtSamePositionCommand = new SetMoveAllLineAtSamePositionCommand(grid, false); diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/LifelineCreationEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/LifelineCreationEditPolicy.java index 63a739bf3d7..77c1f957018 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/LifelineCreationEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/referencialgrilling/LifelineCreationEditPolicy.java @@ -1,138 +1,138 @@ -/*****************************************************************************
- * Copyright (c) 2017 CEA LIST and others.
- *
- * 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:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.uml.diagram.sequence.referencialgrilling;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.commands.CompoundCommand;
-import org.eclipse.gef.requests.CreateRequest;
-import org.eclipse.gmf.runtime.diagram.core.edithelpers.CreateElementRequestAdapter;
-import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest;
-import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest.ViewAndElementDescriptor;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultCreationEditPolicy;
-import org.eclipse.papyrus.uml.diagram.sequence.command.SetMoveAllLineAtSamePositionCommand;
-import org.eclipse.papyrus.uml.service.types.element.UMLDIElementTypes;
-import org.eclipse.papyrus.uml.service.types.utils.ElementUtil;
-import org.eclipse.uml2.uml.MessageOccurrenceSpecification;
-
-/**
- * This editPolicy has in charge to redirect creation of element to interaction
- *
- */
-public class LifelineCreationEditPolicy extends DefaultCreationEditPolicy implements IGrillingEditpolicy {
- protected DisplayEvent displayEvent;
-
- /**
- * @see org.eclipse.gmf.runtime.diagram.ui.editpolicies.CreationEditPolicy#getCreateElementAndViewCommand(org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest)
- *
- * @param request
- * @return
- */
- @Override
- protected Command getCreateElementAndViewCommand(CreateViewAndElementRequest request) {
- // Used during the drop from the model explorer
- if (request instanceof CreateViewAndElementRequest) {
- CreateViewAndElementRequest req = (CreateViewAndElementRequest) request;
- ViewAndElementDescriptor descriptor = (req).getViewAndElementDescriptor();
- IElementType elementType = (IElementType) descriptor.getElementAdapter().getAdapter(IElementType.class);
- if (isControlledByLifeline(elementType)) {
- // get the element descriptor
- CreateElementRequestAdapter requestAdapter = req.getViewAndElementDescriptor().getCreateElementRequestAdapter();
- // get the semantic request
- CreateElementRequest createElementRequest = (CreateElementRequest) requestAdapter.getAdapter(
- CreateElementRequest.class);
- View view = (View) getHost().getModel();
- EObject hostElement = ViewUtil.resolveSemanticElement(view);
- createElementRequest.setContainer(hostElement.eContainer());
- createElementRequest.setParameter(org.eclipse.papyrus.uml.service.types.utils.SequenceRequestConstant.COVERED, hostElement);
- // case of Message Occurence Specification
- MessageOccurrenceSpecification mos = displayEvent.getMessageEvent(getHostFigure().getParent().getParent(), ((CreateRequest) request).getLocation());
- if (mos != null) {
- createElementRequest.setParameter(org.eclipse.papyrus.uml.service.types.utils.SequenceRequestConstant.REPLACE_EXECUTION_SPECIFICATION_START, mos);
- }
- }
- }
- DiagramEditPart diagramEditPart=getDiagramEditPart(getHost());
- GridManagementEditPolicy grid=(GridManagementEditPolicy)diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT);
- if (grid!=null){
- CompoundCommand cmd= new CompoundCommand();
- SetMoveAllLineAtSamePositionCommand setMoveAllLineAtSamePositionCommand= new SetMoveAllLineAtSamePositionCommand(grid, false);
- cmd.add(setMoveAllLineAtSamePositionCommand);
- cmd.add(super.getCreateElementAndViewCommand(request));
- setMoveAllLineAtSamePositionCommand= new SetMoveAllLineAtSamePositionCommand( grid, true);
- cmd.add(setMoveAllLineAtSamePositionCommand);
- return cmd;
- }
- return super.getCreateElementAndViewCommand(request);
- }
-
- /**
- * test if the element Type that is normally not a child of the Lifeline should be controlled by the lifeline.
- * Then The lifeline will be set as the parent editpart, but not as the semantic parent.
- *
- * This is the case of most of the affixed node.
- *
- * @param elementType
- * the tested element type
- * @return true if the Lifeline should be the
- */
- protected boolean isControlledByLifeline(IElementType elementType) {
- boolean controlledByLifeline = false;
-
- if (ElementUtil.isTypeOf(elementType, UMLDIElementTypes.ACTION_EXECUTION_SPECIFICATION_SHAPE)) {
- controlledByLifeline = true;
- } else if (ElementUtil.isTypeOf(elementType, UMLDIElementTypes.BEHAVIOR_EXECUTION_SPECIFICATION_SHAPE)) {
- controlledByLifeline = true;
- } else if (ElementUtil.isTypeOf(elementType, UMLDIElementTypes.TIME_CONSTRAINT_SHAPE)) {
- controlledByLifeline = true;
- } else if (ElementUtil.isTypeOf(elementType, UMLDIElementTypes.STATE_INVARIANT_SHAPE)) {
- controlledByLifeline = true;
- } else if (ElementUtil.isTypeOf(elementType, UMLDIElementTypes.COMBINED_FRAGMENT_CO_REGION_SHAPE)) {
- controlledByLifeline = true;
- } else if (ElementUtil.isTypeOf(elementType, UMLDIElementTypes.DURATION_CONSTRAINT_SHAPE)) {
- controlledByLifeline = true;
- }
-
- return controlledByLifeline;
-
- }
-
- /**
- * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#setHost(org.eclipse.gef.EditPart)
- *
- * @param host
- */
- @Override
- public void setHost(EditPart host) {
- super.setHost(host);
- displayEvent = new DisplayEvent(getHost());
- }
-
- /**
- * Return the host's figure.
- * The super calls getFigure(). This is a problem when used with shapecompartments. Instead,
- * return getContextPane(). In shape comaprtments this will return the correct containing figure.
- */
- protected IFigure getHostFigure() {
- return ((GraphicalEditPart) getHost()).getContentPane();
- }
-}
+/***************************************************************************** + * Copyright (c) 2017 CEA LIST and others. + * + * 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: + * CEA LIST - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.uml.diagram.sequence.referencialgrilling; + +import org.eclipse.draw2d.IFigure; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.gef.EditPart; +import org.eclipse.gef.GraphicalEditPart; +import org.eclipse.gef.commands.Command; +import org.eclipse.gef.commands.CompoundCommand; +import org.eclipse.gef.requests.CreateRequest; +import org.eclipse.gmf.runtime.diagram.core.edithelpers.CreateElementRequestAdapter; +import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil; +import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart; +import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest; +import org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest.ViewAndElementDescriptor; +import org.eclipse.gmf.runtime.emf.type.core.IElementType; +import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest; +import org.eclipse.gmf.runtime.notation.View; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultCreationEditPolicy; +import org.eclipse.papyrus.uml.diagram.sequence.command.SetMoveAllLineAtSamePositionCommand; +import org.eclipse.papyrus.uml.service.types.element.UMLDIElementTypes; +import org.eclipse.papyrus.uml.service.types.utils.ElementUtil; +import org.eclipse.uml2.uml.MessageOccurrenceSpecification; + +/** + * This editPolicy has in charge to redirect creation of element to interaction + * + */ +public class LifelineCreationEditPolicy extends DefaultCreationEditPolicy implements IGrillingEditpolicy { + protected DisplayEvent displayEvent; + + /** + * @see org.eclipse.gmf.runtime.diagram.ui.editpolicies.CreationEditPolicy#getCreateElementAndViewCommand(org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewAndElementRequest) + * + * @param request + * @return + */ + @Override + protected Command getCreateElementAndViewCommand(CreateViewAndElementRequest request) { + // Used during the drop from the model explorer + if (request instanceof CreateViewAndElementRequest) { + CreateViewAndElementRequest req = (CreateViewAndElementRequest) request; + ViewAndElementDescriptor descriptor = (req).getViewAndElementDescriptor(); + IElementType elementType = (IElementType) descriptor.getElementAdapter().getAdapter(IElementType.class); + if (isControlledByLifeline(elementType)) { + // get the element descriptor + CreateElementRequestAdapter requestAdapter = req.getViewAndElementDescriptor().getCreateElementRequestAdapter(); + // get the semantic request + CreateElementRequest createElementRequest = (CreateElementRequest) requestAdapter.getAdapter( + CreateElementRequest.class); + View view = (View) getHost().getModel(); + EObject hostElement = ViewUtil.resolveSemanticElement(view); + createElementRequest.setContainer(hostElement.eContainer()); + createElementRequest.setParameter(org.eclipse.papyrus.uml.service.types.utils.SequenceRequestConstant.COVERED, hostElement); + // case of Message Occurence Specification + MessageOccurrenceSpecification mos = displayEvent.getMessageEvent(getHostFigure().getParent().getParent(), ((CreateRequest) request).getLocation()); + if (mos != null) { + createElementRequest.setParameter(org.eclipse.papyrus.uml.service.types.utils.SequenceRequestConstant.REPLACE_EXECUTION_SPECIFICATION_START, mos); + } + } + } + DiagramEditPart diagramEditPart=getDiagramEditPart(getHost()); + GridManagementEditPolicy grid=(GridManagementEditPolicy)diagramEditPart.getEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT); + if (grid!=null){ + CompoundCommand cmd= new CompoundCommand(); + SetMoveAllLineAtSamePositionCommand setMoveAllLineAtSamePositionCommand= new SetMoveAllLineAtSamePositionCommand(grid, false); + cmd.add(setMoveAllLineAtSamePositionCommand); + cmd.add(super.getCreateElementAndViewCommand(request)); + setMoveAllLineAtSamePositionCommand= new SetMoveAllLineAtSamePositionCommand( grid, true); + cmd.add(setMoveAllLineAtSamePositionCommand); + return cmd; + } + return super.getCreateElementAndViewCommand(request); + } + + /** + * test if the element Type that is normally not a child of the Lifeline should be controlled by the lifeline. + * Then The lifeline will be set as the parent editpart, but not as the semantic parent. + * + * This is the case of most of the affixed node. + * + * @param elementType + * the tested element type + * @return true if the Lifeline should be the + */ + protected boolean isControlledByLifeline(IElementType elementType) { + boolean controlledByLifeline = false; + + if (ElementUtil.isTypeOf(elementType, UMLDIElementTypes.ACTION_EXECUTION_SPECIFICATION_SHAPE)) { + controlledByLifeline = true; + } else if (ElementUtil.isTypeOf(elementType, UMLDIElementTypes.BEHAVIOR_EXECUTION_SPECIFICATION_SHAPE)) { + controlledByLifeline = true; + } else if (ElementUtil.isTypeOf(elementType, UMLDIElementTypes.TIME_CONSTRAINT_SHAPE)) { + controlledByLifeline = true; + } else if (ElementUtil.isTypeOf(elementType, UMLDIElementTypes.STATE_INVARIANT_SHAPE)) { + controlledByLifeline = true; + } else if (ElementUtil.isTypeOf(elementType, UMLDIElementTypes.COMBINED_FRAGMENT_CO_REGION_SHAPE)) { + controlledByLifeline = true; + } else if (ElementUtil.isTypeOf(elementType, UMLDIElementTypes.DURATION_CONSTRAINT_SHAPE)) { + controlledByLifeline = true; + } + + return controlledByLifeline; + + } + + /** + * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#setHost(org.eclipse.gef.EditPart) + * + * @param host + */ + @Override + public void setHost(EditPart host) { + super.setHost(host); + displayEvent = new DisplayEvent(getHost()); + } + + /** + * Return the host's figure. + * The super calls getFigure(). This is a problem when used with shapecompartments. Instead, + * return getContextPane(). In shape comaprtments this will return the correct containing figure. + */ + protected IFigure getHostFigure() { + return ((GraphicalEditPart) getHost()).getContentPane(); + } +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/LogOptions.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/LogOptions.java new file mode 100644 index 00000000000..fe32a0abc80 --- /dev/null +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/LogOptions.java @@ -0,0 +1,38 @@ +/***************************************************************************** + * Copyright (c) 2017 CEA LIST and others. + * + * 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: + * CEA LIST - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.uml.diagram.sequence.util; + +/** + * This class contains various options related to sequence diagram debug + * @since 3.0 + */ +public class LogOptions { + + /** + * tracing option for general sequence diagram debug + */ + public static String SEQUENCE_DEBUG = "SequenceDebug"; //$NON-NLS-1$ + /** + * tracing option for sequence diagram grid debug + */ + public static String SEQUENCE_DEBUG_REFERENCEGRID = "SequenceDebugGrid"; //$NON-NLS-1$ + /** + * tracing option for sequence diagram util debug + */ + public static String SEQUENCE_DEBUG_UTIL = "SequenceDebugUtil"; //$NON-NLS-1$ + + + + +} diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/MessageConnectionHelper.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/MessageConnectionHelper.java index 63b1e3b51b3..998756461ed 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/MessageConnectionHelper.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/MessageConnectionHelper.java @@ -155,7 +155,7 @@ public class MessageConnectionHelper { buf.append("null"); } buf.append("]"); - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_UTIL, buf.toString());// $NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_UTIL, buf.toString());// $NON-NLS-1$ } public static boolean canExistReplyMessage(Message message, Element source, Element target) { diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/SelectMessagesEditPartTracker.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/SelectMessagesEditPartTracker.java index 98638240ef4..5c0ce75293f 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/SelectMessagesEditPartTracker.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/SelectMessagesEditPartTracker.java @@ -25,7 +25,6 @@ import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramRootEditPart; import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart; import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart; import org.eclipse.papyrus.infra.gmfdiag.common.selection.SelectSeveralLinksEditPartTracker; -import org.eclipse.papyrus.uml.diagram.sequence.CustomMessages; import org.eclipse.papyrus.uml.diagram.sequence.edit.parts.AbstractMessageEditPart; import org.eclipse.papyrus.uml.diagram.sequence.part.UMLDiagramEditorPlugin; import org.eclipse.swt.SWT; @@ -183,13 +182,13 @@ public class SelectMessagesEditPartTracker extends SelectSeveralLinksEditPartTra Dimension computedDelta = getLocation().getDifference(getStartLocation()); delta = null; if (computedDelta.height < 0) { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_UTIL, "Move " + computedDelta.height + " MinDistancetop" + MinDistancetop);//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_UTIL, "Move " + computedDelta.height + " MinDistancetop" + MinDistancetop);//$NON-NLS-1$ if (MinDistancetop + computedDelta.height < 0) { computedDelta.height = -MinDistancetop; delta = computedDelta.getCopy(); } } else { - UMLDiagramEditorPlugin.log.trace(CustomMessages.SEQUENCE_DEBUG_UTIL, "Move " + computedDelta.height + " MinDistancebottom" + MinDistancebottom);//$NON-NLS-1$ + UMLDiagramEditorPlugin.log.trace(LogOptions.SEQUENCE_DEBUG_UTIL, "Move " + computedDelta.height + " MinDistancebottom" + MinDistancebottom);//$NON-NLS-1$ if (MinDistancebottom - computedDelta.height - 10 < 0) { computedDelta.height = MinDistancebottom - 10; delta = computedDelta.getCopy(); diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/SequenceDiagramEditPart.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/SequenceDiagramEditPart.java index 1649797e1ec..cb0c54b2a9c 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/SequenceDiagramEditPart.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/src-gen/org/eclipse/papyrus/uml/diagram/sequence/edit/parts/SequenceDiagramEditPart.java @@ -1,63 +1,63 @@ -/**
- * Copyright (c) 2016 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:
- * CEA LIST - Initial API and implementation
- */
-package org.eclipse.papyrus.uml.diagram.sequence.edit.parts;
-
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusDiagramEditPart;
-import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultCompartmentSemanticEditPolicy;
-import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultCreationEditPolicy;
-import org.eclipse.papyrus.uml.diagram.common.editpolicies.PasteEditPolicy;
-import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.CustomDiagramDragDropEditPolicy;
-import org.eclipse.papyrus.uml.diagram.sequence.referencialgrilling.GridManagementEditPolicy;
-
-/**
- * @generated
- */
-public class SequenceDiagramEditPart extends PapyrusDiagramEditPart {
-
- /**
- * @generated
- */
- public final static String MODEL_ID = "PapyrusUMLSequenceDiagram"; //$NON-NLS-1$
-
- /**
- * @generated
- */
- public static final String VISUAL_ID = "Package_SequenceDiagram";
-
- /**
- * @generated
- */
- public SequenceDiagramEditPart(View view) {
- super(view);
- }
-
- /**
- * @generated
- */
- @Override
- protected void createDefaultEditPolicies() {
- super.createDefaultEditPolicies();
-
- installEditPolicy(EditPolicyRoles.CREATION_ROLE, new DefaultCreationEditPolicy());
- installEditPolicy(PasteEditPolicy.PASTE_ROLE, new PasteEditPolicy());
-
- installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new DefaultCompartmentSemanticEditPolicy());
- // in Papyrus diagrams are not strongly synchronised
- // installEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.CANONICAL_ROLE, new org.eclipse.papyrus.uml.diagram.sequence.edit.policies.PackageCanonicalEditPolicy());
-
- installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new CustomDiagramDragDropEditPolicy());
- installEditPolicy(GridManagementEditPolicy.GRILLING_MANAGEMENT, new GridManagementEditPolicy());
- // removeEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.POPUPBAR_ROLE);
- }
-}
+/** + * Copyright (c) 2016 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: + * CEA LIST - Initial API and implementation + */ +package org.eclipse.papyrus.uml.diagram.sequence.edit.parts; + +import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles; +import org.eclipse.gmf.runtime.notation.View; +import org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusDiagramEditPart; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultCompartmentSemanticEditPolicy; +import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultCreationEditPolicy; +import org.eclipse.papyrus.uml.diagram.common.editpolicies.PasteEditPolicy; +import org.eclipse.papyrus.uml.diagram.sequence.edit.policies.CustomDiagramDragDropEditPolicy; +import org.eclipse.papyrus.uml.diagram.sequence.referencialgrilling.GridManagementEditPolicy; + +/** + * @generated + */ +public class SequenceDiagramEditPart extends PapyrusDiagramEditPart { + + /** + * @generated + */ + public final static String MODEL_ID = "PapyrusUMLSequenceDiagram"; //$NON-NLS-1$ + + /** + * @generated + */ + public static final String VISUAL_ID = "Package_SequenceDiagram"; + + /** + * @generated + */ + public SequenceDiagramEditPart(View view) { + super(view); + } + + /** + * @generated + */ + @Override + protected void createDefaultEditPolicies() { + super.createDefaultEditPolicies(); + + installEditPolicy(EditPolicyRoles.CREATION_ROLE, new DefaultCreationEditPolicy()); + installEditPolicy(PasteEditPolicy.PASTE_ROLE, new PasteEditPolicy()); + + installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new DefaultCompartmentSemanticEditPolicy()); + // in Papyrus diagrams are not strongly synchronised + // installEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.CANONICAL_ROLE, new org.eclipse.papyrus.uml.diagram.sequence.edit.policies.PackageCanonicalEditPolicy()); + + installEditPolicy(EditPolicyRoles.DRAG_DROP_ROLE, new CustomDiagramDragDropEditPolicy()); + installEditPolicy(GridManagementEditPolicy.GRID_MANAGEMENT, new GridManagementEditPolicy()); + // removeEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.POPUPBAR_ROLE); + } +} |