Package org.jgraph.plaf.basic
Class BasicGraphUI
- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- org.jgraph.plaf.GraphUI
-
- org.jgraph.plaf.basic.BasicGraphUI
-
- All Implemented Interfaces:
java.io.Serializable
public class BasicGraphUI extends GraphUI implements java.io.Serializable
The basic L&F for a graph data structure.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classBasicGraphUI.CellEditorHandlerListener responsible for getting cell editing events and updating the graph accordingly.classBasicGraphUI.ComponentHandlerUpdates the preferred size when scrolling (if necessary).classBasicGraphUI.GraphDropTargetListenerGraph Drop Target ListenerclassBasicGraphUI.GraphIncrementActionGraphIncrementAction is used to handle up/down actions.classBasicGraphUI.GraphLayoutCacheHandlerListens for changes in the graph view and updates the size accordingly.classBasicGraphUI.GraphModelHandlerListens for changes in the graph model and updates the view accordingly.classBasicGraphUI.GraphSelectionHandlerListens for changes in the selection model and updates the display accordingly.classBasicGraphUI.KeyHandlerThis is used to get mutliple key down events to appropriately generate events.classBasicGraphUI.MouseHandlerTreeMouseListener is responsible for updating the selection based on mouse events.classBasicGraphUI.MouseInputHandlerMouseInputHandler handles passing all mouse events, including mouse motion events, until the mouse is released to the destination it is constructed with.classBasicGraphUI.PropertyChangeHandlerPropertyChangeListener for the graph.classBasicGraphUI.RootHandle
-
Field Summary
Fields Modifier and Type Field Description protected GraphCellEditorcellEditorCurrent editor for the graph.protected javax.swing.event.CellEditorListenercellEditorListenerListens for CellEditor events.protected java.awt.event.ComponentListenercomponentListenerListens for Component events.protected BasicGraphUI.GraphDropTargetListenerdefaultDropTargetListenerThe default DropTargetListener.protected javax.swing.TransferHandlerdefaultTransferHandlerThe default TransferHandler.static booleanDNDPREVIEWControls live-preview in dragEnabled mode.protected intdropActionNeeded to exchange information between DropTargetHandler and TransferHandler.protected java.awt.dnd.DropTargetdropTargetThe drop target where the default listener was last installed.protected java.lang.ObjecteditingCellPath that is being edited.protected java.awt.ComponenteditingComponentWhen editing, this will be the Component that is doing the actual editing.protected booleaneditorHasDifferentSizeSet to true if the editor has a different size than the renderer.protected CellViewfocusThe focused cell under the mousepointer and the last focused cell.protected JGraphgraphComponent that we're going to be drawing into.protected GraphLayoutCachegraphLayoutCacheReference to the graph's view (geometric pattern).protected GraphLayoutCacheListenergraphLayoutCacheListenerUpdates the display when the view has changed.protected GraphModelgraphModelUsed to determine what to display.protected GraphModelListenergraphModelListenerIs responsible for updating the view based on model events.protected GraphSelectionListenergraphSelectionListenerUpdates the display when the selection changes.protected GraphSelectionModelgraphSelectionModelModel maintaining the selection.protected CellHandlehandleHandle that we are going to use.protected java.awt.PointinsertionLocationNeeded to exchange information between Transfer- and MouseListener.protected java.awt.event.KeyListenerkeyListenerListens for KeyListener events.protected CellViewlastFocusThe focused cell under the mousepointer and the last focused cell.protected BasicMarqueeHandlermarqueeMarquee that we are going to use.static intMAXCELLSThe maximum number of cells to paint when dragging.static intMAXCLIPCELLSMaximum number of cells to compute clipping bounds for.static intMAXHANDLESThe maximum number of handles to paint individually.protected java.awt.event.MouseListenermouseListenerListens for Mouse events.protected java.awt.DimensionpreferredMinSizeMinimum preferred size.protected java.awt.DimensionpreferredSizeSize needed to completely display all the cells.protected java.beans.PropertyChangeListenerpropertyChangeListenerListens for JGraph property changes and updates display.protected javax.swing.CellRendererPanerendererPaneUsed to paint the CellRenderer.static intSCROLLBORDERBorder in pixels to scroll if marquee or dragging are active.static floatSCROLLSTEPMultiplicator for width and height when autoscrolling (=stepsize).protected booleansnapSelectedViewIf ture, a the view under mousepointer will be snapped to the grid lines during a drag operation.protected booleanstopEditingInCompleteEditingSet to false when editing and shouldSelectCell() returns true meaning the node should be selected before editing, used in completeEditing.protected booleanvalidCachedPreferredSizeIs the preferredSize valid?
-
Constructor Summary
Constructors Constructor Description BasicGraphUI()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidautoscroll(JGraph graph, java.awt.Point p)Scroll the graph for an event atp.voidcancelEditing(JGraph graph)Cancels all current editing sessions.protected voidcompleteEditing()Messages to stop the editing session.protected voidcompleteEditing(boolean messageStop, boolean messageCancel, boolean messageGraph)Stops the editing session.protected voidcompleteUIInstall()Invoked from installUI after all the defaults/listeners have been installed.protected voidcompleteUIUninstall()protected javax.swing.event.CellEditorListenercreateCellEditorListener()Creates a listener to handle events from the current editor.protected javax.swing.CellRendererPanecreateCellRendererPane()Returns the renderer pane that renderer components are placed in.protected java.awt.event.ComponentListenercreateComponentListener()Creates and returns a new ComponentHandler.protected GraphContextcreateContext(JGraph graph, java.lang.Object[] cells)protected GraphLayoutCacheListenercreateGraphLayoutCacheListener()Returns a listener that can update the graph when the view changes.protected GraphModelListenercreateGraphModelListener()Returns a listener that can update the graph when the model changes.protected GraphSelectionListenercreateGraphSelectionListener()Creates the listener that updates the display based on selection change methods.CellHandlecreateHandle(GraphContext context)Constructs the "root handle" forcontext.protected java.awt.event.KeyListenercreateKeyListener()Creates the listener reponsible for getting key events from the graph.protected java.awt.event.MouseListenercreateMouseListener()Creates the listener responsible for calling the correct handlers based on mouse events, and to select invidual cells.protected java.beans.PropertyChangeListenercreatePropertyChangeListener()Creates a listener that is responsible to update the UI based on how the graph's bounds properties change.protected javax.swing.TransferHandlercreateTransferHandler()Creates an instance of TransferHandler.static javax.swing.plaf.ComponentUIcreateUI(javax.swing.JComponent x)voiddrawGraph(java.awt.Graphics g, java.awt.geom.Rectangle2D clipBounds)Draws the graph to the specified graphics object within the specified clip bounds, if anyintgetDropAction()Returns the current drop action.java.lang.ObjectgetEditingCell(JGraph graph)Returns the element that is being edited.protected java.awt.geom.Point2DgetEditorLocation(java.lang.Object cell, java.awt.geom.Dimension2D editorSize, java.awt.geom.Point2D pt)Subclassers may override this to provide a better location for the in-place editing of edges (if you do not inherit from the EdgeRenderer class).protected java.lang.ObjectgetFocusedCell()Returns the cell that has the focus.CellHandlegetHandle()Returns the handle that is currently active, or null, if no handle is currently active.java.awt.PointgetInsertionLocation()Returns the current location of the Drag-and-Drop activity.java.awt.DimensiongetMaximumSize(javax.swing.JComponent c)Returns the maximum size for this component, which will be the preferred size if the instance is currently in a JGraph, or 0, 0.java.awt.DimensiongetMinimumSize(javax.swing.JComponent c)Returns the minimum size for this component.java.awt.DimensiongetPreferredMinSize()Returns the minimum preferred size.java.awt.DimensiongetPreferredSize(javax.swing.JComponent c)Returns the preferred size to properly display the graph.java.awt.geom.Dimension2DgetPreferredSize(JGraph graph, CellView view)Get the preferred Size for a cell view.protected voidinstallComponents()Intalls the subcomponents of the graph, which is the renderer pane.protected voidinstallDefaults()Invoked as part from the boilerplate install block.protected voidinstallKeyboardActions()Invoked as part from the boilerplate install block.protected voidinstallListeners()Invoked as part from the boilerplate install block.voidinstallUI(javax.swing.JComponent c)booleanisAddToSelectionEvent(java.awt.event.MouseEvent e)Returning true signifies that cells are added to the selection.booleanisConstrainedMoveEvent(java.awt.event.MouseEvent event)Returning true signifies a move should only be applied to one direction.booleanisEditing(JGraph graph)Returns true if the graph is being edited.booleanisForceMarqueeEvent(java.awt.event.MouseEvent event)Returning true signifies the marquee handler has precedence over other handlers, and is receiving subsequent mouse events.booleanisSnapSelectedView()booleanisToggleSelectionEvent(java.awt.event.MouseEvent e)Returning true signifies a mouse event on the cell should toggle the selection of only the cell under mouse.voidpaint(java.awt.Graphics g, javax.swing.JComponent c)Main painting routine.protected voidpaintBackground(java.awt.Graphics g)Paint the background of this graph.protected voidpaintBackgroundComponent(java.awt.Graphics g, java.awt.Component component)Requests that the component responsible for painting the background paint itselfprotected voidpaintBackgroundComponent(java.awt.Graphics g, java.awt.Component component, java.awt.Rectangle clip)Requests that the component responsible for painting the background paint itselfprotected voidpaintBackgroundImage(java.awt.Graphics g, java.awt.Rectangle clip)Hook for subclassers to paint the background image.voidpaintCell(java.awt.Graphics g, CellView view, java.awt.geom.Rectangle2D bounds, boolean preview)Paints the renderer ofviewtogatbounds.protected voidpaintCells(java.awt.Graphics g, java.awt.geom.Rectangle2D realClipBounds)Hook method to allow subclassers to alter just the cell painting functionalityprotected voidpaintForeground(java.awt.Graphics g)Paint the foreground of this graph.protected voidpaintGrid(double gs, java.awt.Graphics g, java.awt.geom.Rectangle2D clipBounds)Paint the grid.protected voidpaintOverlay(java.awt.Graphics g)Hook method to paints the overlayvoidpaintPorts(java.awt.Graphics g, CellView[] ports)Paintports.protected voidprepareForUIInstall()Invoked after thegraphinstance variable has been set, but before any defaults/listeners have been installed.voidselectCellForEvent(java.lang.Object cell, java.awt.event.MouseEvent event)Messaged to update the selection based on a MouseEvent over a particular cell.voidselectCellsForEvent(java.lang.Object[] cells, java.awt.event.MouseEvent event)Messaged to update the selection based on a MouseEvent for a group of cells.voidselectCellsForEvent(JGraph graph, java.lang.Object[] cells, java.awt.event.MouseEvent event)From GraphUI interface.protected voidsetGraphLayoutCache(GraphLayoutCache cache)Sets the GraphLayoutCache (geometric pattern).voidsetInsertionLocation(java.awt.Point p)Sets the current location for Drag-and-Drop activity.protected voidsetMarquee(BasicMarqueeHandler marqueeHandler)Sets the marquee handler.protected voidsetModel(GraphModel model)Sets the GraphModel.voidsetPreferredMinSize(java.awt.Dimension newSize)Sets the preferred minimum size.protected voidsetSelectionModel(GraphSelectionModel newLSM)Resets the selection model.voidsetSnapSelectedView(boolean snapSelectedView)Sets the mode of the snapSelectedView drag operation.protected booleanstartEditing(java.lang.Object cell, java.awt.event.MouseEvent event)Will start editing for cell if there is a cellEditor and shouldSelectCell returns true.voidstartEditingAtCell(JGraph graph, java.lang.Object cell)Selects the cell and tries to edit it.booleanstopEditing(JGraph graph)Stops the current editing session.protected voidtoggleSelectionCellForEvent(java.lang.Object cell, java.awt.event.MouseEvent event)Messaged to update the selection based on a toggle selection event, which means the cell's selection state is inverted.protected voiduninstallComponents()Uninstalls the renderer pane.protected voiduninstallKeyboardActions()protected voiduninstallListeners()voiduninstallUI(javax.swing.JComponent c)protected voidupdateCachedPreferredSize()Updates thepreferredSizeinstance variable, which is returned fromgetPreferredSize().voidupdateHandle()Update the handle using createHandle.voidupdateSize()Messages the Graph withgraphDidChange.
-
-
-
Field Detail
-
DNDPREVIEW
public static final boolean DNDPREVIEW
Controls live-preview in dragEnabled mode. This is used to disable live-preview in dragEnabled mode on Java 1.4.0 to workaround a bug that cause the VM to hang during concurrent DnD and repaints. Is this still required?
-
SCROLLBORDER
public static int SCROLLBORDER
Border in pixels to scroll if marquee or dragging are active.
-
SCROLLSTEP
public static float SCROLLSTEP
Multiplicator for width and height when autoscrolling (=stepsize).
-
MAXCELLS
public static int MAXCELLS
The maximum number of cells to paint when dragging.
-
MAXHANDLES
public static int MAXHANDLES
The maximum number of handles to paint individually.
-
MAXCLIPCELLS
public static int MAXCLIPCELLS
Maximum number of cells to compute clipping bounds for.
-
preferredMinSize
protected java.awt.Dimension preferredMinSize
Minimum preferred size.
-
graph
protected JGraph graph
Component that we're going to be drawing into.
-
graphLayoutCache
protected GraphLayoutCache graphLayoutCache
Reference to the graph's view (geometric pattern).
-
cellEditor
protected GraphCellEditor cellEditor
Current editor for the graph.
-
stopEditingInCompleteEditing
protected boolean stopEditingInCompleteEditing
Set to false when editing and shouldSelectCell() returns true meaning the node should be selected before editing, used in completeEditing.
-
rendererPane
protected javax.swing.CellRendererPane rendererPane
Used to paint the CellRenderer.
-
preferredSize
protected java.awt.Dimension preferredSize
Size needed to completely display all the cells.
-
validCachedPreferredSize
protected boolean validCachedPreferredSize
Is the preferredSize valid?
-
graphModel
protected GraphModel graphModel
Used to determine what to display.
-
graphSelectionModel
protected GraphSelectionModel graphSelectionModel
Model maintaining the selection.
-
handle
protected CellHandle handle
Handle that we are going to use.
-
marquee
protected BasicMarqueeHandler marquee
Marquee that we are going to use.
-
editingComponent
protected java.awt.Component editingComponent
When editing, this will be the Component that is doing the actual editing.
-
focus
protected CellView focus
The focused cell under the mousepointer and the last focused cell.
-
lastFocus
protected CellView lastFocus
The focused cell under the mousepointer and the last focused cell.
-
editingCell
protected java.lang.Object editingCell
Path that is being edited.
-
editorHasDifferentSize
protected boolean editorHasDifferentSize
Set to true if the editor has a different size than the renderer.
-
insertionLocation
protected java.awt.Point insertionLocation
Needed to exchange information between Transfer- and MouseListener.
-
dropAction
protected int dropAction
Needed to exchange information between DropTargetHandler and TransferHandler.
-
snapSelectedView
protected boolean snapSelectedView
If ture, a the view under mousepointer will be snapped to the grid lines during a drag operation. If snap-to-grid mode is disabled, views are moved by a snap increment.
-
propertyChangeListener
protected java.beans.PropertyChangeListener propertyChangeListener
Listens for JGraph property changes and updates display.
-
mouseListener
protected java.awt.event.MouseListener mouseListener
Listens for Mouse events.
-
keyListener
protected java.awt.event.KeyListener keyListener
Listens for KeyListener events.
-
componentListener
protected java.awt.event.ComponentListener componentListener
Listens for Component events.
-
cellEditorListener
protected javax.swing.event.CellEditorListener cellEditorListener
Listens for CellEditor events.
-
graphSelectionListener
protected GraphSelectionListener graphSelectionListener
Updates the display when the selection changes.
-
graphModelListener
protected GraphModelListener graphModelListener
Is responsible for updating the view based on model events.
-
graphLayoutCacheListener
protected GraphLayoutCacheListener graphLayoutCacheListener
Updates the display when the view has changed.
-
defaultTransferHandler
protected javax.swing.TransferHandler defaultTransferHandler
The default TransferHandler.
-
defaultDropTargetListener
protected BasicGraphUI.GraphDropTargetListener defaultDropTargetListener
The default DropTargetListener.
-
dropTarget
protected java.awt.dnd.DropTarget dropTarget
The drop target where the default listener was last installed.
-
-
Method Detail
-
createUI
public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent x)
-
setModel
protected void setModel(GraphModel model)
Sets the GraphModel. This invokesupdateSize.
-
setGraphLayoutCache
protected void setGraphLayoutCache(GraphLayoutCache cache)
Sets the GraphLayoutCache (geometric pattern). This invokesupdateSize.
-
setMarquee
protected void setMarquee(BasicMarqueeHandler marqueeHandler)
Sets the marquee handler.
-
setSelectionModel
protected void setSelectionModel(GraphSelectionModel newLSM)
Resets the selection model. The appropriate listeners are installed on the model.
-
getHandle
public CellHandle getHandle()
Returns the handle that is currently active, or null, if no handle is currently active. Typically, the returned objects are instances of the RootHandle inner class.
-
getDropAction
public int getDropAction()
Returns the current drop action.- Specified by:
getDropActionin classGraphUI
-
getFocusedCell
protected java.lang.Object getFocusedCell()
Returns the cell that has the focus.
-
getPreferredSize
public java.awt.geom.Dimension2D getPreferredSize(JGraph graph, CellView view)
Get the preferred Size for a cell view.- Specified by:
getPreferredSizein classGraphUI
-
getInsertionLocation
public java.awt.Point getInsertionLocation()
Returns the current location of the Drag-and-Drop activity.- Specified by:
getInsertionLocationin classGraphUI
-
setInsertionLocation
public void setInsertionLocation(java.awt.Point p)
Sets the current location for Drag-and-Drop activity. Should be set to null after a drop. Used from within DropTargetListener.- Specified by:
setInsertionLocationin classGraphUI
-
selectCellsForEvent
public void selectCellsForEvent(JGraph graph, java.lang.Object[] cells, java.awt.event.MouseEvent event)
From GraphUI interface.- Specified by:
selectCellsForEventin classGraphUI
-
selectCellsForEvent
public void selectCellsForEvent(java.lang.Object[] cells, java.awt.event.MouseEvent event)Messaged to update the selection based on a MouseEvent for a group of cells. If the event is a toggle selection event, the cells are either selected, or deselected. Otherwise the cells are selected.
-
selectCellForEvent
public void selectCellForEvent(java.lang.Object cell, java.awt.event.MouseEvent event)Messaged to update the selection based on a MouseEvent over a particular cell. If the event is a toggle selection event, the cell is either selected, or deselected. Otherwise the cell is selected.
-
toggleSelectionCellForEvent
protected void toggleSelectionCellForEvent(java.lang.Object cell, java.awt.event.MouseEvent event)Messaged to update the selection based on a toggle selection event, which means the cell's selection state is inverted.
-
isAddToSelectionEvent
public boolean isAddToSelectionEvent(java.awt.event.MouseEvent e)
Returning true signifies that cells are added to the selection.
-
isToggleSelectionEvent
public boolean isToggleSelectionEvent(java.awt.event.MouseEvent e)
Returning true signifies a mouse event on the cell should toggle the selection of only the cell under mouse.
-
isForceMarqueeEvent
public boolean isForceMarqueeEvent(java.awt.event.MouseEvent event)
Returning true signifies the marquee handler has precedence over other handlers, and is receiving subsequent mouse events.
-
isConstrainedMoveEvent
public boolean isConstrainedMoveEvent(java.awt.event.MouseEvent event)
Returning true signifies a move should only be applied to one direction.
-
isEditing
public boolean isEditing(JGraph graph)
Returns true if the graph is being edited. The item that is being edited can be returned by getEditingPath().
-
stopEditing
public boolean stopEditing(JGraph graph)
Stops the current editing session. This has no effect if the graph isn't being edited. Returns true if the editor allows the editing session to stop.- Specified by:
stopEditingin classGraphUI
-
cancelEditing
public void cancelEditing(JGraph graph)
Cancels all current editing sessions.- Specified by:
cancelEditingin classGraphUI
-
startEditingAtCell
public void startEditingAtCell(JGraph graph, java.lang.Object cell)
Selects the cell and tries to edit it. Editing will fail if the CellEditor won't allow it for the selected item.- Specified by:
startEditingAtCellin classGraphUI
-
getEditingCell
public java.lang.Object getEditingCell(JGraph graph)
Returns the element that is being edited.- Specified by:
getEditingCellin classGraphUI
-
installUI
public void installUI(javax.swing.JComponent c)
- Overrides:
installUIin classjavax.swing.plaf.ComponentUI
-
prepareForUIInstall
protected void prepareForUIInstall()
Invoked after thegraphinstance variable has been set, but before any defaults/listeners have been installed.
-
completeUIInstall
protected void completeUIInstall()
Invoked from installUI after all the defaults/listeners have been installed.
-
installDefaults
protected void installDefaults()
Invoked as part from the boilerplate install block. This sets the look and feel specific variables in JGraph.
-
installListeners
protected void installListeners()
Invoked as part from the boilerplate install block. This installs the listeners from BasicGraphUI in the graph.
-
installKeyboardActions
protected void installKeyboardActions()
Invoked as part from the boilerplate install block.
-
installComponents
protected void installComponents()
Intalls the subcomponents of the graph, which is the renderer pane.
-
createTransferHandler
protected javax.swing.TransferHandler createTransferHandler()
Creates an instance of TransferHandler. Used for subclassers to provide different TransferHandler.
-
createPropertyChangeListener
protected java.beans.PropertyChangeListener createPropertyChangeListener()
Creates a listener that is responsible to update the UI based on how the graph's bounds properties change.
-
createMouseListener
protected java.awt.event.MouseListener createMouseListener()
Creates the listener responsible for calling the correct handlers based on mouse events, and to select invidual cells.
-
createKeyListener
protected java.awt.event.KeyListener createKeyListener()
Creates the listener reponsible for getting key events from the graph.
-
createGraphSelectionListener
protected GraphSelectionListener createGraphSelectionListener()
Creates the listener that updates the display based on selection change methods.
-
createCellEditorListener
protected javax.swing.event.CellEditorListener createCellEditorListener()
Creates a listener to handle events from the current editor.
-
createComponentListener
protected java.awt.event.ComponentListener createComponentListener()
Creates and returns a new ComponentHandler.
-
createCellRendererPane
protected javax.swing.CellRendererPane createCellRendererPane()
Returns the renderer pane that renderer components are placed in.
-
createGraphLayoutCacheListener
protected GraphLayoutCacheListener createGraphLayoutCacheListener()
Returns a listener that can update the graph when the view changes.
-
createGraphModelListener
protected GraphModelListener createGraphModelListener()
Returns a listener that can update the graph when the model changes.
-
uninstallUI
public void uninstallUI(javax.swing.JComponent c)
- Overrides:
uninstallUIin classjavax.swing.plaf.ComponentUI
-
completeUIUninstall
protected void completeUIUninstall()
-
uninstallListeners
protected void uninstallListeners()
-
uninstallKeyboardActions
protected void uninstallKeyboardActions()
-
uninstallComponents
protected void uninstallComponents()
Uninstalls the renderer pane.
-
paint
public void paint(java.awt.Graphics g, javax.swing.JComponent c)Main painting routine.- Overrides:
paintin classjavax.swing.plaf.ComponentUI
-
paintOverlay
protected void paintOverlay(java.awt.Graphics g)
Hook method to paints the overlay- Parameters:
g- the graphics object to paint the overlay to
-
drawGraph
public void drawGraph(java.awt.Graphics g, java.awt.geom.Rectangle2D clipBounds)Draws the graph to the specified graphics object within the specified clip bounds, if any- Parameters:
g- the graphics object to draw the graph toclipBounds- the bounds within graph cells must intersect to be redrawn
-
paintCells
protected void paintCells(java.awt.Graphics g, java.awt.geom.Rectangle2D realClipBounds)Hook method to allow subclassers to alter just the cell painting functionality- Parameters:
g- the graphics object to paint torealClipBounds- the bounds of the region being repainted
-
paintCell
public void paintCell(java.awt.Graphics g, CellView view, java.awt.geom.Rectangle2D bounds, boolean preview)Paints the renderer ofviewtogatbounds. Recursive implementation that paints the children first.The reciever should NOT modify
clipBounds, orinsets. Thepreviewflag is passed to the renderer, and is not used here.
-
paintBackground
protected void paintBackground(java.awt.Graphics g)
Paint the background of this graph. Calls paintGrid.
-
paintBackgroundImage
protected void paintBackgroundImage(java.awt.Graphics g, java.awt.Rectangle clip)Hook for subclassers to paint the background image.- Parameters:
g- The graphics object to paint the image on.clip- The clipping region to draw into
-
paintBackgroundComponent
protected void paintBackgroundComponent(java.awt.Graphics g, java.awt.Component component)Requests that the component responsible for painting the background paint itself- Parameters:
g- The graphics object to paint the image on.component- the component to be painted onto the background image
-
paintBackgroundComponent
protected void paintBackgroundComponent(java.awt.Graphics g, java.awt.Component component, java.awt.Rectangle clip)Requests that the component responsible for painting the background paint itself- Parameters:
g- The graphics object to paint the image on.component- the component to be painted onto the background imageclip- The clipping region to draw into
-
paintGrid
protected void paintGrid(double gs, java.awt.Graphics g, java.awt.geom.Rectangle2D clipBounds)Paint the grid.
-
paintForeground
protected void paintForeground(java.awt.Graphics g)
Paint the foreground of this graph. Calls paintPorts.
-
paintPorts
public void paintPorts(java.awt.Graphics g, CellView[] ports)Paintports.- Specified by:
paintPortsin classGraphUI
-
updateHandle
public void updateHandle()
Update the handle using createHandle.- Specified by:
updateHandlein classGraphUI
-
createContext
protected GraphContext createContext(JGraph graph, java.lang.Object[] cells)
-
createHandle
public CellHandle createHandle(GraphContext context)
Constructs the "root handle" forcontext.- Parameters:
context- reference to the context of the current selection.
-
updateSize
public void updateSize()
Messages the Graph withgraphDidChange.
-
updateCachedPreferredSize
protected void updateCachedPreferredSize()
Updates thepreferredSizeinstance variable, which is returned fromgetPreferredSize().
-
setPreferredMinSize
public void setPreferredMinSize(java.awt.Dimension newSize)
Sets the preferred minimum size.
-
getPreferredMinSize
public java.awt.Dimension getPreferredMinSize()
Returns the minimum preferred size.
-
getPreferredSize
public java.awt.Dimension getPreferredSize(javax.swing.JComponent c)
Returns the preferred size to properly display the graph.- Overrides:
getPreferredSizein classjavax.swing.plaf.ComponentUI
-
getMinimumSize
public java.awt.Dimension getMinimumSize(javax.swing.JComponent c)
Returns the minimum size for this component. Which will be the min preferred size or 0, 0.- Overrides:
getMinimumSizein classjavax.swing.plaf.ComponentUI
-
getMaximumSize
public java.awt.Dimension getMaximumSize(javax.swing.JComponent c)
Returns the maximum size for this component, which will be the preferred size if the instance is currently in a JGraph, or 0, 0.- Overrides:
getMaximumSizein classjavax.swing.plaf.ComponentUI
-
completeEditing
protected void completeEditing()
Messages to stop the editing session. If the UI the receiver is providing the look and feel for returns true fromgetInvokesStopCellEditing, stopCellEditing will invoked on the current editor. Then completeEditing will be messaged with false, true, false to cancel any lingering editing.
-
completeEditing
protected void completeEditing(boolean messageStop, boolean messageCancel, boolean messageGraph)Stops the editing session. If messageStop is true the editor is messaged with stopEditing, if messageCancel is true the editor is messaged with cancelEditing. If messageGraph is true the graphModel is messaged with valueForCellChanged.
-
startEditing
protected boolean startEditing(java.lang.Object cell, java.awt.event.MouseEvent event)Will start editing for cell if there is a cellEditor and shouldSelectCell returns true.This assumes that cell is valid and visible.
-
getEditorLocation
protected java.awt.geom.Point2D getEditorLocation(java.lang.Object cell, java.awt.geom.Dimension2D editorSize, java.awt.geom.Point2D pt)Subclassers may override this to provide a better location for the in-place editing of edges (if you do not inherit from the EdgeRenderer class).
-
autoscroll
public static void autoscroll(JGraph graph, java.awt.Point p)
Scroll the graph for an event atp.
-
isSnapSelectedView
public boolean isSnapSelectedView()
- Returns:
- true if snapSelectedView mode is enabled during the drag
operation. If it is enabled, the view, that is returned by the
findViewForPoint(Point pt), will be snapped to the grid lines.
By default, findViewForPoint() returns the first view from the GraphContext whose bounds intersect with snap proximity of a mouse pointer. If snap-to-grid mode is disabled, views are moved by a snap increment.
-
setSnapSelectedView
public void setSnapSelectedView(boolean snapSelectedView)
Sets the mode of the snapSelectedView drag operation.- Parameters:
snapSelectedView- specifies if the snap-to-grid mode should be applied during a drag operation. If it is enabled, the view, that is returned by the findViewForPoint(Point pt), will be snapped to the grid lines.
By default, findViewForPoint() returns the first view from the GraphContext whose bounds intersect with snap proximity of a mouse pointer. If snap-to-grid mode is disabled, views are moved by a snap increment.
-
-