diff options
author | Mickael ADAM | 2014-10-14 07:15:39 +0000 |
---|---|---|
committer | Mickael ADAM | 2014-10-14 15:50:38 +0000 |
commit | d532bac9fd32e9f2778f01a9cf5c010003f9537b (patch) | |
tree | 458adcb497a426d27fba9f800bd1cf92172c7371 /plugins/developer/org.eclipse.papyrus.def/xtend | |
parent | bb7807ff7375acee6f549dab705a241c5bb2be27 (diff) | |
download | org.eclipse.papyrus-d532bac9fd32e9f2778f01a9cf5c010003f9537b.tar.gz org.eclipse.papyrus-d532bac9fd32e9f2778f01a9cf5c010003f9537b.tar.xz org.eclipse.papyrus-d532bac9fd32e9f2778f01a9cf5c010003f9537b.zip |
445794: [All Diagram] Label Alignment/Justification is lost when the
name is edited instead of the diagram is closed
-Create PapyrusLinkLabelDragPolicy
-Fix the bug
to fix the bug I changed xtend to permit the override of
createEditPolicy for LinkLabelEditPart.
Code will be generated in the next commit
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=445794
Change-Id: Ic66d9d844543f1e66318e190dd8bd91ca6190a7b
Signed-off-by: Mickael ADAM <mickael.adam@ALL4TEC.net>
Diffstat (limited to 'plugins/developer/org.eclipse.papyrus.def/xtend')
2 files changed, 30 insertions, 9 deletions
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/LinkLabelEditPart.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/LinkLabelEditPart.xtend index 92a862615da..03513d7a8c8 100644 --- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/LinkLabelEditPart.xtend +++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/LinkLabelEditPart.xtend @@ -11,14 +11,15 @@ * Alexander Shatalin (Borland) - initial API and implementation * Michael Golubev (Montages) - #386838 - migrate to Xtend2 */ -package aspects.diagram.editparts
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import org.eclipse.gmf.codegen.gmfgen.GenLinkLabel
-import org.eclipse.papyrus.papyrusgmfgenextension.LabelVisibilityPreference
-import xpt.Common
-
+package aspects.diagram.editparts + +import com.google.inject.Inject +import com.google.inject.Singleton +import org.eclipse.gmf.codegen.gmfgen.GenLinkLabel +import org.eclipse.papyrus.papyrusgmfgenextension.LabelVisibilityPreference +import xpt.Common +import org.eclipse.gmf.codegen.gmfgen.CustomBehaviour + @Singleton class LinkLabelEditPart extends diagram.editparts.LinkLabelEditPart{ @Inject extension Common; @@ -50,4 +51,24 @@ import xpt.Common ''' override extendsList(GenLinkLabel it) '''extends org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusLabelEditPart''' + + override createDefaultEditPolicies(GenLinkLabel it) ''' + /** + * @generated Papyrus Generation + */ + @Override + protected void createDefaultEditPolicies() { + super.createDefaultEditPolicies(); + installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy()); + installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new «diagram.getTextSelectionEditPolicyQualifiedClassName()»()); + ««« BEGIN: PapyrusGenCode + installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.PapyrusLinkLabelDragPolicy()); + ««« END: PapyrusGenCode + ««« Get the added custom behavoir + «FOR CustomBehaviour:it.behaviour.filter(typeof (CustomBehaviour))» + installEditPolicy(«CustomBehaviour.key», new «CustomBehaviour.editPolicyQualifiedClassName»()); + «ENDFOR» + } + ''' + } diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/TextAware.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/TextAware.xtend index 98166be601d..753a66250a3 100644 --- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/TextAware.xtend +++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/TextAware.xtend @@ -570,7 +570,7 @@ override refreshLabel(GenCommonBase it , GenDiagram diagram )''' maskLabelPolicy = getEditPolicy(org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.IndirectMaskLabelEditPolicy.INDRIRECT_MASK_MANAGED_LABEL); } if (maskLabelPolicy == null) { - View view = (View)getModel(); + org.eclipse.gmf.runtime.notation.View view = (org.eclipse.gmf.runtime.notation.View)getModel(); if(view.isVisible()) { setLabelTextHelper(getFigure(), getLabelText()); setLabelIconHelper(getFigure(), getLabelIcon()); |