Package com.mxgraph.swing.handler
Class mxGraphHandler
- java.lang.Object
-
- com.mxgraph.swing.util.mxMouseAdapter
-
- com.mxgraph.swing.handler.mxGraphHandler
-
- All Implemented Interfaces:
java.awt.dnd.DropTargetListener
,java.awt.event.MouseListener
,java.awt.event.MouseMotionListener
,java.util.EventListener
public class mxGraphHandler extends mxMouseAdapter implements java.awt.dnd.DropTargetListener
-
-
Field Summary
Fields Modifier and Type Field Description protected mxRectangle
bbox
Scaled, translated bounding box of the selection cells.protected boolean
canImport
protected java.lang.Object
cell
protected mxRectangle
cellBounds
Scaled, translated bounds of the selection cells.protected java.lang.Object[]
cells
Holds the cells that are being moved by this handler.protected boolean
centerPreview
Specifies if the preview should be centered around the mouse cursor if there was no mouse click to define the offset within the shape (eg.protected boolean
cloneEnabled
Specifies if cloning by control-drag is enabled.protected boolean
constrainedEvent
Workaround for shift-key-state not correct in mouseReleased.protected java.awt.dnd.DropTarget
currentDropTarget
Reference to the current drop target.static java.awt.Cursor
DEFAULT_CURSOR
Default is Cursor.DEFAULT_CURSOR.protected java.lang.Object[]
dragCells
protected javax.swing.ImageIcon
dragImage
Holds the image that is being used for the preview.protected boolean
enabled
Specifies if the handler is enabled.protected java.awt.Point
first
Holds the start location of the mouse gesture.static java.awt.Cursor
FOLD_CURSOR
Default is Cursor.HAND_CURSOR.protected mxGraphComponent
graphComponent
Reference to the enclosing graph component.protected boolean
gridEnabledEvent
Workaround for alt-key-state not correct in mouseReleased.protected boolean
imagePreview
Specifies if an image should be used for preview.protected java.lang.Object
initialCell
protected boolean
keepOnTop
Specifies if this handler should be painted on top of all other components.protected boolean
livePreview
Specifies if live preview should be used if possible.protected mxCellMarker
marker
protected boolean
markerEnabled
Specifies if the cell marker should be called (for splitting edges and dropping cells into groups).static java.awt.Cursor
MOVE_CURSOR
Default is Cursor.MOVE_CURSOR.protected boolean
moveEnabled
Specifies if moving is enabled.protected mxMovePreview
movePreview
protected java.awt.Rectangle
previewBounds
protected boolean
removeCellsFromParent
Specifies if cells may be moved out of their parents.protected boolean
selectEnabled
Specifies if moving is enabled.protected mxRectangle
transferBounds
Unscaled, untranslated bounding box of the selection cells.protected boolean
visible
-
Constructor Summary
Constructors Constructor Description mxGraphHandler(mxGraphComponent graphComponent)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.Point
convertPoint(java.awt.Point pt)
protected java.awt.event.MouseEvent
createEvent(java.awt.dnd.DropTargetEvent e)
protected mxCellMarker
createMarker()
protected mxMovePreview
createMovePreview()
void
dragEnter(java.awt.dnd.DropTargetDragEvent e)
void
dragExit(java.awt.dnd.DropTargetEvent e)
void
dragOver(java.awt.dnd.DropTargetDragEvent e)
void
drop(java.awt.dnd.DropTargetDropEvent e)
void
dropActionChanged(java.awt.dnd.DropTargetDragEvent e)
protected void
fold(java.lang.Object cell)
java.lang.Object[]
getCells(java.lang.Object initialCell)
protected java.awt.Cursor
getCursor(java.awt.event.MouseEvent e)
protected static javax.swing.JComponent
getDropTarget(java.awt.dnd.DropTargetEvent e)
Helper method to return the component for a drop target event.mxGraphComponent
getGraphComponent()
protected static mxGraphTransferHandler
getGraphTransferHandler(java.awt.dnd.DropTargetEvent e)
Helper method to return the component for a drop target event.mxCellMarker
getMarker()
mxMovePreview
getMovePreview()
protected java.awt.Point
getPreviewLocation(java.awt.event.MouseEvent e, boolean gridEnabled)
protected void
installDragGestureHandler()
protected void
installDropTargetHandler()
boolean
isCenterPreview()
boolean
isCloneEnabled()
boolean
isEnabled()
boolean
isImagePreview()
boolean
isLivePreview()
boolean
isMarkerEnabled()
boolean
isMoveEnabled()
boolean
isRemoveCellsFromParent()
boolean
isSelectEnabled()
boolean
isVisible()
void
mouseDragged(java.awt.event.MouseEvent e)
void
mouseMoved(java.awt.event.MouseEvent e)
void
mousePressed(java.awt.event.MouseEvent e)
void
mouseReleased(java.awt.event.MouseEvent e)
protected void
moveCells(java.lang.Object[] cells, double dx, double dy, java.lang.Object target, java.awt.event.MouseEvent e)
void
paint(java.awt.Graphics g)
void
reset()
void
setCenterPreview(boolean value)
void
setCloneEnabled(boolean value)
void
setEnabled(boolean value)
void
setImagePreview(boolean value)
void
setLivePreview(boolean value)
void
setMarker(mxCellMarker value)
void
setMarkerEnabled(boolean value)
void
setMoveEnabled(boolean value)
void
setPreviewBounds(java.awt.Rectangle bounds)
void
setRemoveCellsFromParent(boolean value)
void
setSelectEnabled(boolean value)
void
setVisible(boolean value)
protected boolean
shouldRemoveCellFromParent(java.lang.Object parent, java.lang.Object[] cells, java.awt.event.MouseEvent e)
Returns true if the given cells should be removed from the parent for the specified mousereleased event.void
start(java.awt.event.MouseEvent e)
void
updateDragImage(java.lang.Object[] cells)
-
Methods inherited from class com.mxgraph.swing.util.mxMouseAdapter
mouseClicked, mouseEntered, mouseExited
-
-
-
-
Field Detail
-
DEFAULT_CURSOR
public static java.awt.Cursor DEFAULT_CURSOR
Default is Cursor.DEFAULT_CURSOR.
-
MOVE_CURSOR
public static java.awt.Cursor MOVE_CURSOR
Default is Cursor.MOVE_CURSOR.
-
FOLD_CURSOR
public static java.awt.Cursor FOLD_CURSOR
Default is Cursor.HAND_CURSOR.
-
graphComponent
protected mxGraphComponent graphComponent
Reference to the enclosing graph component.
-
enabled
protected boolean enabled
Specifies if the handler is enabled. Default is true.
-
cloneEnabled
protected boolean cloneEnabled
Specifies if cloning by control-drag is enabled. Default is true.
-
moveEnabled
protected boolean moveEnabled
Specifies if moving is enabled. Default is true.
-
selectEnabled
protected boolean selectEnabled
Specifies if moving is enabled. Default is true.
-
markerEnabled
protected boolean markerEnabled
Specifies if the cell marker should be called (for splitting edges and dropping cells into groups). Default is true.
-
removeCellsFromParent
protected boolean removeCellsFromParent
Specifies if cells may be moved out of their parents. Default is true.
-
movePreview
protected mxMovePreview movePreview
-
livePreview
protected boolean livePreview
Specifies if live preview should be used if possible. Default is false.
-
imagePreview
protected boolean imagePreview
Specifies if an image should be used for preview. Default is true.
-
centerPreview
protected boolean centerPreview
Specifies if the preview should be centered around the mouse cursor if there was no mouse click to define the offset within the shape (eg. drag from external source). Default is true.
-
keepOnTop
protected boolean keepOnTop
Specifies if this handler should be painted on top of all other components. Default is true.
-
cells
protected transient java.lang.Object[] cells
Holds the cells that are being moved by this handler.
-
dragImage
protected transient javax.swing.ImageIcon dragImage
Holds the image that is being used for the preview.
-
first
protected transient java.awt.Point first
Holds the start location of the mouse gesture.
-
cell
protected transient java.lang.Object cell
-
initialCell
protected transient java.lang.Object initialCell
-
dragCells
protected transient java.lang.Object[] dragCells
-
marker
protected transient mxCellMarker marker
-
canImport
protected transient boolean canImport
-
cellBounds
protected transient mxRectangle cellBounds
Scaled, translated bounds of the selection cells.
-
bbox
protected transient mxRectangle bbox
Scaled, translated bounding box of the selection cells.
-
transferBounds
protected transient mxRectangle transferBounds
Unscaled, untranslated bounding box of the selection cells.
-
visible
protected transient boolean visible
-
previewBounds
protected transient java.awt.Rectangle previewBounds
-
gridEnabledEvent
protected transient boolean gridEnabledEvent
Workaround for alt-key-state not correct in mouseReleased. Note: State of the alt-key is not available during drag-and-drop.
-
constrainedEvent
protected transient boolean constrainedEvent
Workaround for shift-key-state not correct in mouseReleased.
-
currentDropTarget
protected transient java.awt.dnd.DropTarget currentDropTarget
Reference to the current drop target.
-
-
Constructor Detail
-
mxGraphHandler
public mxGraphHandler(mxGraphComponent graphComponent)
- Parameters:
graphComponent
-
-
-
Method Detail
-
installDragGestureHandler
protected void installDragGestureHandler()
-
installDropTargetHandler
protected void installDropTargetHandler()
-
isVisible
public boolean isVisible()
-
setVisible
public void setVisible(boolean value)
-
setPreviewBounds
public void setPreviewBounds(java.awt.Rectangle bounds)
-
createMovePreview
protected mxMovePreview createMovePreview()
-
getMovePreview
public mxMovePreview getMovePreview()
-
createMarker
protected mxCellMarker createMarker()
-
getGraphComponent
public mxGraphComponent getGraphComponent()
-
isEnabled
public boolean isEnabled()
-
setEnabled
public void setEnabled(boolean value)
-
isCloneEnabled
public boolean isCloneEnabled()
-
setCloneEnabled
public void setCloneEnabled(boolean value)
-
isMoveEnabled
public boolean isMoveEnabled()
-
setMoveEnabled
public void setMoveEnabled(boolean value)
-
isMarkerEnabled
public boolean isMarkerEnabled()
-
setMarkerEnabled
public void setMarkerEnabled(boolean value)
-
getMarker
public mxCellMarker getMarker()
-
setMarker
public void setMarker(mxCellMarker value)
-
isSelectEnabled
public boolean isSelectEnabled()
-
setSelectEnabled
public void setSelectEnabled(boolean value)
-
isRemoveCellsFromParent
public boolean isRemoveCellsFromParent()
-
setRemoveCellsFromParent
public void setRemoveCellsFromParent(boolean value)
-
isLivePreview
public boolean isLivePreview()
-
setLivePreview
public void setLivePreview(boolean value)
-
isImagePreview
public boolean isImagePreview()
-
setImagePreview
public void setImagePreview(boolean value)
-
isCenterPreview
public boolean isCenterPreview()
-
setCenterPreview
public void setCenterPreview(boolean value)
-
updateDragImage
public void updateDragImage(java.lang.Object[] cells)
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMoved
in interfacejava.awt.event.MouseMotionListener
- Overrides:
mouseMoved
in classmxMouseAdapter
-
getCursor
protected java.awt.Cursor getCursor(java.awt.event.MouseEvent e)
-
dragEnter
public void dragEnter(java.awt.dnd.DropTargetDragEvent e)
- Specified by:
dragEnter
in interfacejava.awt.dnd.DropTargetListener
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent e)
- Specified by:
mousePressed
in interfacejava.awt.event.MouseListener
- Overrides:
mousePressed
in classmxMouseAdapter
-
getCells
public java.lang.Object[] getCells(java.lang.Object initialCell)
-
start
public void start(java.awt.event.MouseEvent e)
-
dropActionChanged
public void dropActionChanged(java.awt.dnd.DropTargetDragEvent e)
- Specified by:
dropActionChanged
in interfacejava.awt.dnd.DropTargetListener
-
dragOver
public void dragOver(java.awt.dnd.DropTargetDragEvent e)
- Specified by:
dragOver
in interfacejava.awt.dnd.DropTargetListener
- Parameters:
e
-
-
convertPoint
public java.awt.Point convertPoint(java.awt.Point pt)
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
- Specified by:
mouseDragged
in interfacejava.awt.event.MouseMotionListener
- Overrides:
mouseDragged
in classmxMouseAdapter
-
getPreviewLocation
protected java.awt.Point getPreviewLocation(java.awt.event.MouseEvent e, boolean gridEnabled)
-
dragExit
public void dragExit(java.awt.dnd.DropTargetEvent e)
- Specified by:
dragExit
in interfacejava.awt.dnd.DropTargetListener
- Parameters:
e
-
-
drop
public void drop(java.awt.dnd.DropTargetDropEvent e)
- Specified by:
drop
in interfacejava.awt.dnd.DropTargetListener
- Parameters:
e
-
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)
- Specified by:
mouseReleased
in interfacejava.awt.event.MouseListener
- Overrides:
mouseReleased
in classmxMouseAdapter
-
fold
protected void fold(java.lang.Object cell)
-
reset
public void reset()
-
shouldRemoveCellFromParent
protected boolean shouldRemoveCellFromParent(java.lang.Object parent, java.lang.Object[] cells, java.awt.event.MouseEvent e)
Returns true if the given cells should be removed from the parent for the specified mousereleased event.
-
moveCells
protected void moveCells(java.lang.Object[] cells, double dx, double dy, java.lang.Object target, java.awt.event.MouseEvent e)
- Parameters:
dx
-dy
-e
-
-
paint
public void paint(java.awt.Graphics g)
-
createEvent
protected java.awt.event.MouseEvent createEvent(java.awt.dnd.DropTargetEvent e)
-
getGraphTransferHandler
protected static final mxGraphTransferHandler getGraphTransferHandler(java.awt.dnd.DropTargetEvent e)
Helper method to return the component for a drop target event.
-
getDropTarget
protected static final javax.swing.JComponent getDropTarget(java.awt.dnd.DropTargetEvent e)
Helper method to return the component for a drop target event.
-
-