Package ptolemy.vergil.basic
Class LocatableNodeDragInteractor
- java.lang.Object
-
- diva.canvas.interactor.AbstractInteractor
-
- diva.canvas.interactor.DragInteractor
-
- diva.graph.NodeDragInteractor
-
- ptolemy.vergil.basic.LocatableNodeDragInteractor
-
- All Implemented Interfaces:
LayerListener
,LayerMotionListener
,Interactor
,java.util.EventListener
public class LocatableNodeDragInteractor extends NodeDragInteractor
An interaction role that drags nodes that have locatable objects as semantic objects. When the node is dragged, this interactor updates the location in the locatable object with the new location of the figure.The dragging of a selection is undoable, and is based on the difference between the point where the mouse was pressed and where the mouse was released. This information is used to create MoML to undo the move if requested.
- Since:
- Ptolemy II 2.0
- Version:
- $Id$
- Author:
- Steve Neuendorffer
- Pt.AcceptedRating:
- Red (johnr)
- Pt.ProposedRating:
- Red (eal)
-
-
Constructor Summary
Constructors Constructor Description LocatableNodeDragInteractor(LocatableNodeController controller)
Create a new interactor contained within the given controller.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
mousePressed(LayerEvent e)
When the mouse is pressed before dragging, store a copy of the pressed point location so that a relative move can be evaluated for undo purposes.void
mouseReleased(LayerEvent e)
When the mouse is released after dragging, mark the frame modified and update the panner, and generate an undo entry for the move.void
setSnapResolution(double resolution)
Specify the snap resolution.void
translate(LayerEvent e, double x, double y)
Drag all selected nodes and move any attached edges.-
Methods inherited from class diva.graph.NodeDragInteractor
getController
-
Methods inherited from class diva.canvas.interactor.DragInteractor
addLayerListener, appendConstraint, constrainPoint, fireLayerEvent, getSelectiveEnabled, getTargetArray, getX, getY, mouseDragged, prependConstraint, removeLayerListener, setSelectiveEnabled, setTargetArray, setup, targets
-
Methods inherited from class diva.canvas.interactor.AbstractInteractor
accept, getMouseFilter, isConsuming, isEnabled, isMotionEnabled, mouseClicked, mouseEntered, mouseExited, mouseMoved, setConsuming, setEnabled, setMotionEnabled, setMouseFilter
-
-
-
-
Constructor Detail
-
LocatableNodeDragInteractor
public LocatableNodeDragInteractor(LocatableNodeController controller)
Create a new interactor contained within the given controller.- Parameters:
controller
- The controller.
-
-
Method Detail
-
mousePressed
public void mousePressed(LayerEvent e)
When the mouse is pressed before dragging, store a copy of the pressed point location so that a relative move can be evaluated for undo purposes.- Specified by:
mousePressed
in interfaceLayerListener
- Overrides:
mousePressed
in classDragInteractor
- Parameters:
e
- The press event.
-
mouseReleased
public void mouseReleased(LayerEvent e)
When the mouse is released after dragging, mark the frame modified and update the panner, and generate an undo entry for the move. If no movement has occurred, then do nothing.- Specified by:
mouseReleased
in interfaceLayerListener
- Overrides:
mouseReleased
in classDragInteractor
- Parameters:
e
- The release event.
-
setSnapResolution
public void setSnapResolution(double resolution)
Specify the snap resolution. The default snap resolution is 5.0.- Parameters:
resolution
- The snap resolution.
-
translate
public void translate(LayerEvent e, double x, double y)
Drag all selected nodes and move any attached edges. Update the locatable nodes with the current location.- Overrides:
translate
in classNodeDragInteractor
- Parameters:
e
- The event triggering this translation.x
- The horizontal delta.y
- The vertical delta.
-
-