1 27 28 package org.nightlabs.editor2d.tools; 29 30 import java.util.List ; 31 32 import org.apache.log4j.Logger; 33 import org.eclipse.gef.EditPart; 34 import org.eclipse.gef.Request; 35 36 import org.nightlabs.editor2d.edit.ShapeDrawComponentEditPart; 37 import org.nightlabs.editor2d.j2d.GeneralShape; 38 import org.nightlabs.editor2d.request.EditorEditShapeRequest; 39 40 public class ShapeEditTracker 42 extends AbstractDragTracker 43 { 44 public static final Logger LOGGER = Logger.getLogger(ShapeEditTracker.class); 45 46 protected ShapeDrawComponentEditPart getShapeDrawComponentEditPart() { 47 return (ShapeDrawComponentEditPart) owner; 48 } 49 protected GeneralShape getGeneralShape() { 50 return getShapeDrawComponentEditPart().getGeneralShape(); 51 } 52 protected int pathSegmentIndex; 54 55 public ShapeEditTracker(ShapeDrawComponentEditPart owner, int pathSegmentIndex) 56 { 57 super(owner); 58 this.pathSegmentIndex = pathSegmentIndex; 59 } 60 61 protected String getCommandName() { 62 return REQ_EDIT_SHAPE; 63 } 64 65 68 public void deactivate() 69 { 70 super.deactivate(); 71 } 73 74 77 protected String getDebugName() 78 { 79 return "Edit Shape Handle Tracker"; } 81 82 85 protected Request createSourceRequest() 86 { 87 EditorEditShapeRequest request = new EditorEditShapeRequest(); 88 request.setType(REQ_EDIT_SHAPE); 89 request.setPathSegmentIndex(pathSegmentIndex); 90 request.setLocation(getLocation()); 91 List selectedEditParts = getCurrentViewer().getSelectedEditParts(); 92 if (selectedEditParts != null && !selectedEditParts.isEmpty()) { 93 EditPart selectedEditPart = (EditPart)selectedEditParts.get(0); 94 request.setTargetEditPart(selectedEditPart); 95 } 96 return request; 97 } 98 99 102 protected void updateSourceRequest() 103 { 104 EditorEditShapeRequest request = (EditorEditShapeRequest) getSourceRequest(); 105 request.setLocation(getLocation()); 106 } 107 108 } 109 | Popular Tags |