Package diva.graph
Class BasicNodeController
- java.lang.Object
-
- diva.graph.BasicNodeController
-
- All Implemented Interfaces:
NodeController
- Direct Known Subclasses:
LocatableNodeController
public class BasicNodeController extends java.lang.Object implements NodeController
A basic node controller implementation, intended for use as a controller for graphs containing only one node type. This class can also be subclassed to control a specific type of node in graphs that have multiple node types.- Version:
- $Id$
- Author:
- Steve Neuendorffer
- Pt.AcceptedRating:
- Red
-
-
Constructor Summary
Constructors Constructor Description BasicNodeController(GraphController controller)
Create a new basic controller with default node and edge interactors.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_drawChildren(java.lang.Object node)
Draw the children of the given node.protected Figure
_renderNode(java.lang.Object node)
Render the given node using the node renderer.void
addNode(java.lang.Object node)
Given a node, add it to this graph editor and perform a layout on the new node.void
addNode(java.lang.Object node, double x, double y)
Add the node to this graph editor and render it at the given location.void
addNode(java.lang.Object node, java.lang.Object parent)
Add the node to this graph editor, inside the given parent node and place it where convenientvoid
addNode(java.lang.Object node, java.lang.Object parent, double x, double y)
Add the node to this graph editor, inside the given parent node and render it at the given location relative to its parent.void
clearNode(java.lang.Object node)
Remove the figure for the given node.Figure
drawNode(java.lang.Object node)
Render the given node and add the resulting figure to the foreground layer of the graph pane.Figure
drawNode(java.lang.Object node, java.lang.Object parent)
Render the given node and add the resulting figure to the given node's figure, which is assumed to be a CompositeFigure in the controller's graph pane.GraphController
getController()
Return the graph controller containing this controller.Interactor
getNodeInteractor()
Return the node interactor associated with this controller.NodeRenderer
getNodeRenderer()
Return the node renderer associated with this controller.void
removeNode(java.lang.Object node)
Remove the node.void
setNodeInteractor(Interactor interactor)
Set the node interactor for this controllervoid
setNodeRenderer(NodeRenderer renderer)
Set the node renderer for this controller
-
-
-
Constructor Detail
-
BasicNodeController
public BasicNodeController(GraphController controller)
Create a new basic controller with default node and edge interactors.
-
-
Method Detail
-
addNode
public void addNode(java.lang.Object node)
Given a node, add it to this graph editor and perform a layout on the new node.- Specified by:
addNode
in interfaceNodeController
-
addNode
public void addNode(java.lang.Object node, double x, double y)
Add the node to this graph editor and render it at the given location.- Specified by:
addNode
in interfaceNodeController
-
addNode
public void addNode(java.lang.Object node, java.lang.Object parent)
Add the node to this graph editor, inside the given parent node and place it where convenient- Specified by:
addNode
in interfaceNodeController
-
addNode
public void addNode(java.lang.Object node, java.lang.Object parent, double x, double y)
Add the node to this graph editor, inside the given parent node and render it at the given location relative to its parent.- Specified by:
addNode
in interfaceNodeController
-
clearNode
public void clearNode(java.lang.Object node)
Remove the figure for the given node.- Specified by:
clearNode
in interfaceNodeController
-
drawNode
public Figure drawNode(java.lang.Object node)
Render the given node and add the resulting figure to the foreground layer of the graph pane. If the node was previously rendered, then infer the new location of the figure from the old.- Specified by:
drawNode
in interfaceNodeController
-
drawNode
public Figure drawNode(java.lang.Object node, java.lang.Object parent)
Render the given node and add the resulting figure to the given node's figure, which is assumed to be a CompositeFigure in the controller's graph pane.- Specified by:
drawNode
in interfaceNodeController
-
getController
public GraphController getController()
Return the graph controller containing this controller.- Specified by:
getController
in interfaceNodeController
-
getNodeInteractor
public Interactor getNodeInteractor()
Return the node interactor associated with this controller.- Specified by:
getNodeInteractor
in interfaceNodeController
-
getNodeRenderer
public NodeRenderer getNodeRenderer()
Return the node renderer associated with this controller.- Specified by:
getNodeRenderer
in interfaceNodeController
-
removeNode
public void removeNode(java.lang.Object node)
Remove the node.- Specified by:
removeNode
in interfaceNodeController
-
setNodeInteractor
public void setNodeInteractor(Interactor interactor)
Set the node interactor for this controller- Specified by:
setNodeInteractor
in interfaceNodeController
-
setNodeRenderer
public void setNodeRenderer(NodeRenderer renderer)
Set the node renderer for this controller- Specified by:
setNodeRenderer
in interfaceNodeController
-
_renderNode
protected Figure _renderNode(java.lang.Object node)
Render the given node using the node renderer. Set the interactor of the resulting figure to the node interactor.
-
_drawChildren
protected void _drawChildren(java.lang.Object node)
Draw the children of the given node.
-
-