Package com.mxgraph.swing.handler
Class mxConnectionHandler
- java.lang.Object
-
- com.mxgraph.swing.util.mxMouseAdapter
-
- com.mxgraph.swing.handler.mxConnectionHandler
-
- All Implemented Interfaces:
java.awt.event.MouseListener
,java.awt.event.MouseMotionListener
,java.util.EventListener
public class mxConnectionHandler extends mxMouseAdapter
Connection handler creates new connections between cells. This control is used to display the connector icon, while the preview is used to draw the line. mxEvent.CONNECT fires between begin- and endUpdate in mouseReleased. Thecell
property contains the inserted edge, theevent
andtarget
properties contain the respective arguments that were passed to mouseReleased.
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
active
protected java.awt.Rectangle
bounds
static java.awt.Cursor
CONNECT_CURSOR
protected javax.swing.ImageIcon
connectIcon
Specifies the icon to be used for creating new connections.protected mxConnectPreview
connectPreview
protected boolean
createTarget
Specifies if the source should be cloned and used as a target if no target was selected.protected boolean
enabled
protected java.lang.String
error
protected mxEventSource
eventSource
Holds the event source.protected java.awt.Point
first
protected mxGraphComponent
graphComponent
protected boolean
handleEnabled
Specifies if a handle should be used for creating new connections.protected int
handleSize
Specifies the size of the handle to be used for creating new connections.protected boolean
keepOnTop
Appearance and event handling order wrt subhandles.protected mxCellMarker
marker
protected mxEventSource.mxIEventListener
resetHandler
protected boolean
select
protected mxCellState
source
-
Constructor Summary
Constructors Constructor Description mxConnectionHandler(mxGraphComponent graphComponent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addGraphListeners(mxGraph graph)
Installs the listeners to update the handles after any changes.void
addListener(java.lang.String eventName, mxEventSource.mxIEventListener listener)
Adds the given event listener.protected mxConnectPreview
createConnectPreview()
java.lang.Object
createTargetVertex(java.awt.event.MouseEvent e, java.lang.Object source)
javax.swing.ImageIcon
getConnecIcon()
mxConnectPreview
getConnectPreview()
int
getHandleSize()
mxCellMarker
getMarker()
boolean
isActive()
boolean
isConnecting()
Returns true if the source terminal has been clicked and a new connection is currently being previewed.boolean
isCreateTarget()
boolean
isEnabled()
boolean
isHandleEnabled()
boolean
isHighlighting()
Returns true if no connectIcon is specified and handleEnabled is false.boolean
isKeepOnTop()
boolean
isSelect()
boolean
isValidSource(java.lang.Object cell)
boolean
isValidTarget(java.lang.Object cell)
Returns true.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)
void
paint(java.awt.Graphics g)
protected void
removeGraphListeners(mxGraph graph)
Removes all installed listeners.void
removeListener(mxEventSource.mxIEventListener listener)
Removes the given event listener.void
removeListener(mxEventSource.mxIEventListener listener, java.lang.String eventName)
Removes the given event listener for the specified event name.void
reset()
void
setBounds(java.awt.Rectangle value)
void
setConnectIcon(javax.swing.ImageIcon value)
void
setConnectPreview(mxConnectPreview value)
void
setCreateTarget(boolean value)
void
setEnabled(boolean value)
void
setHandleEnabled(boolean value)
void
setHandleSize(int value)
void
setKeepOnTop(boolean value)
void
setMarker(mxCellMarker value)
void
setSelect(boolean value)
void
start(java.awt.event.MouseEvent e, mxCellState state)
java.lang.String
validateConnection(java.lang.Object source, java.lang.Object target)
Returns the error message or an empty string if the connection for the given source target pair is not valid.-
Methods inherited from class com.mxgraph.swing.util.mxMouseAdapter
mouseClicked, mouseEntered, mouseExited
-
-
-
-
Field Detail
-
CONNECT_CURSOR
public static java.awt.Cursor CONNECT_CURSOR
-
graphComponent
protected mxGraphComponent graphComponent
-
eventSource
protected mxEventSource eventSource
Holds the event source.
-
connectPreview
protected mxConnectPreview connectPreview
-
connectIcon
protected javax.swing.ImageIcon connectIcon
Specifies the icon to be used for creating new connections. If this is specified then it is used instead of the handle. Default is null.
-
handleSize
protected int handleSize
Specifies the size of the handle to be used for creating new connections. Default is mxConstants.CONNECT_HANDLE_SIZE.
-
handleEnabled
protected boolean handleEnabled
Specifies if a handle should be used for creating new connections. This is only used if no connectIcon is specified. If this is false, then the source cell will be highlighted when the mouse is over the hotspot given in the marker. Default is mxConstants.CONNECT_HANDLE_ENABLED.
-
select
protected boolean select
-
createTarget
protected boolean createTarget
Specifies if the source should be cloned and used as a target if no target was selected. Default is false.
-
keepOnTop
protected boolean keepOnTop
Appearance and event handling order wrt subhandles.
-
enabled
protected boolean enabled
-
first
protected transient java.awt.Point first
-
active
protected transient boolean active
-
bounds
protected transient java.awt.Rectangle bounds
-
source
protected transient mxCellState source
-
marker
protected transient mxCellMarker marker
-
error
protected transient java.lang.String error
-
resetHandler
protected transient mxEventSource.mxIEventListener resetHandler
-
-
Constructor Detail
-
mxConnectionHandler
public mxConnectionHandler(mxGraphComponent graphComponent)
- Parameters:
graphComponent
-
-
-
Method Detail
-
addGraphListeners
protected void addGraphListeners(mxGraph graph)
Installs the listeners to update the handles after any changes.
-
removeGraphListeners
protected void removeGraphListeners(mxGraph graph)
Removes all installed listeners.
-
createConnectPreview
protected mxConnectPreview createConnectPreview()
-
getConnectPreview
public mxConnectPreview getConnectPreview()
-
setConnectPreview
public void setConnectPreview(mxConnectPreview value)
-
isConnecting
public boolean isConnecting()
Returns true if the source terminal has been clicked and a new connection is currently being previewed.
-
isActive
public boolean isActive()
-
isHighlighting
public boolean isHighlighting()
Returns true if no connectIcon is specified and handleEnabled is false.
-
isEnabled
public boolean isEnabled()
-
setEnabled
public void setEnabled(boolean value)
-
isKeepOnTop
public boolean isKeepOnTop()
-
setKeepOnTop
public void setKeepOnTop(boolean value)
-
setConnectIcon
public void setConnectIcon(javax.swing.ImageIcon value)
-
getConnecIcon
public javax.swing.ImageIcon getConnecIcon()
-
setHandleEnabled
public void setHandleEnabled(boolean value)
-
isHandleEnabled
public boolean isHandleEnabled()
-
setHandleSize
public void setHandleSize(int value)
-
getHandleSize
public int getHandleSize()
-
getMarker
public mxCellMarker getMarker()
-
setMarker
public void setMarker(mxCellMarker value)
-
setCreateTarget
public void setCreateTarget(boolean value)
-
isCreateTarget
public boolean isCreateTarget()
-
setSelect
public void setSelect(boolean value)
-
isSelect
public boolean isSelect()
-
reset
public void reset()
-
createTargetVertex
public java.lang.Object createTargetVertex(java.awt.event.MouseEvent e, java.lang.Object source)
-
isValidSource
public boolean isValidSource(java.lang.Object cell)
-
isValidTarget
public boolean isValidTarget(java.lang.Object cell)
Returns true. The call to mxGraph.isValidTarget is implicit by calling mxGraph.getEdgeValidationError in validateConnection. This is an additional hook for disabling certain targets in this specific handler.
-
validateConnection
public java.lang.String validateConnection(java.lang.Object source, java.lang.Object target)
Returns the error message or an empty string if the connection for the given source target pair is not valid. Otherwise it returns null.
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent e)
- Specified by:
mousePressed
in interfacejava.awt.event.MouseListener
- Overrides:
mousePressed
in classmxMouseAdapter
-
start
public void start(java.awt.event.MouseEvent e, mxCellState state)
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMoved
in interfacejava.awt.event.MouseMotionListener
- Overrides:
mouseMoved
in classmxMouseAdapter
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
- Specified by:
mouseDragged
in interfacejava.awt.event.MouseMotionListener
- Overrides:
mouseDragged
in classmxMouseAdapter
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)
- Specified by:
mouseReleased
in interfacejava.awt.event.MouseListener
- Overrides:
mouseReleased
in classmxMouseAdapter
-
setBounds
public void setBounds(java.awt.Rectangle value)
-
addListener
public void addListener(java.lang.String eventName, mxEventSource.mxIEventListener listener)
Adds the given event listener.
-
removeListener
public void removeListener(mxEventSource.mxIEventListener listener)
Removes the given event listener.
-
removeListener
public void removeListener(mxEventSource.mxIEventListener listener, java.lang.String eventName)
Removes the given event listener for the specified event name.
-
paint
public void paint(java.awt.Graphics g)
-
-