Jump to: navigation, search

Difference between revisions of "Diagram Developer Documentation"

(add a small documentation on snap to grid)
 
Line 5: Line 5:
 
Then you must ovveride the method org.eclipse.gef.EditPart.getDragTracker(Request) in the edit part concerned by your specific SnapToGrid.
 
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 class for further informations
+
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.
  
<ul>
+
*org.eclipse.papyrus.infra.gmfdiag.common.editpart.NodeEditPart.java  
<il> /org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/editpart/NodeEditPart.java </il>
+
*org.eclipse.papyrus.infra.gmfdiag.common.snap.PapyrusDragBorderNodeEditPartTrackerEx.java
<il>/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/snap/PapyrusDragBorderNodeEditPartTrackerEx.java</il>
+
*org.eclipse.papyrus.infra.gmfdiag.common.snap.PapyrusDragEditPartsTrackerEx.java
<il>/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/snap/PapyrusDragEditPartsTrackerEx.java</il>
+
*org.eclipse.papyrus.uml.diagram.common.editparts.BorderNodeEditPart.java
<il>/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/editparts/BorderNodeEditPart.java</il>
+
 
+
</ul>
+

Revision as of 09:57, 13 December 2013

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