Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Diagram Developer Documentation"

(Delete Behaviors (added the 19th of May))
Line 20: Line 20:
  
  
=Delete Behaviors (added the 19th of May) =
+
=Delete Behaviors (added the 19th of May 2016) =
 
*Define Behavior for DEL and Shift DEL
 
*Define Behavior for DEL and Shift DEL
 
{| class="wikitable"
 
{| class="wikitable"

Revision as of 08:57, 19 May 2016

Snap To Grid Enhancement

By Default Snap To Grid allows to snap on the grid using the top left corner of the figure (in case of Rctangle).

To improve this behavior, you should subclass the GMF Class org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx or one of its superclass. Then you must ovveride the method org.eclipse.gef.EditPart.getDragTracker(Request) in the edit part concerned by your specific SnapToGrid.

In Papyrus we change this class to be able to snap on the 4 corners, the four middle and the center of a rectangle. Have a look to these classes to get examples.

  • org.eclipse.papyrus.infra.gmfdiag.common.editpart.NodeEditPart.java
  • org.eclipse.papyrus.infra.gmfdiag.common.snap.PapyrusDragBorderNodeEditPartTrackerEx.java
  • org.eclipse.papyrus.infra.gmfdiag.common.snap.PapyrusDragEditPartsTrackerEx.java
  • org.eclipse.papyrus.uml.diagram.common.editparts.BorderNodeEditPart.java

To improve the connection of the endPoint of the link, Papyrus provides its own EditPolicy (in ConnectionEditPart) : org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.PapyrusConnectionEndEditPolicy.PapyrusConnectionEndEditPolicy, with the role EditPolicy.CONNECTION_ENDPOINTS_ROLE (see this class for details)


User tricks

ALT allows to ignore Snap To Grid when your are moving an element


Delete Behaviors (added the 19th of May 2016)

  • Define Behavior for DEL and Shift DEL
Delete From Model (DEL) Delete From Diagram (SHIFT+DEL) Example Delete From Model Action (DEL)
View with semantic Delete Hide Class
View with no semantic, but representing a feature Delete: remove the reference from the feature Hide Comment Link, Constraint Links (context and contrainedElement), DurationObservation and TimeObservation Link remove the link and remove the reference from the feature
View with no semantic Hide Hide  ? remove the link
View with semantic Read Only Forbidden Hide PimitivesTypes::Integer
Metaclass All Diagram (Read-Only) Hide Hide Import Metaclass (Profile Diagram) keep the element imported, destroy the view o the metaclass

Back to the top