Package diva.graph

Class 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 convenient
      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.
      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 controller
      void setNodeRenderer​(NodeRenderer renderer)
      Set the node renderer for this controller
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 interface NodeController
      • 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 interface NodeController
      • 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 interface NodeController
      • 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 interface NodeController
      • clearNode

        public void clearNode​(java.lang.Object node)
        Remove the figure for the given node.
        Specified by:
        clearNode in interface NodeController
      • 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 interface NodeController
      • 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 interface NodeController
      • removeNode

        public void removeNode​(java.lang.Object node)
        Remove the node.
        Specified by:
        removeNode in interface NodeController
      • _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.