Package diva.graph

A generic and highly-extensible graph visualization library whose basic interface is a widget analogous to java.swing.JTree.

See:
          Description

Interface Summary
EdgeController Specifies the interface for objects that manage creation of and interaction with graph edges.
EdgeRenderer A factory which creates a visual representation (EdgeFigure) given an edge input.
GraphController A class that represents the main component of a typical graph editor.
GraphListener A listener for changes in a graph's structure or contents, which are communicated through GraphEvent objects.
GraphModel A graph model is an abstraction of a graph implementation and a registration point for GraphListeners.
GraphViewListener A listener for changes in a graph's structure or contents, which are communicated through GraphViewEvent objects.
MutableGraphModel A mutable graph model is a read-write subclass of the read-only graph model, allowing users to actually create new nodes and edges, and to modify the topology of the graph.
NodeController Specifies the interface for objects that manage creation of and interaction with graph nodes.
NodeRenderer A factory which creates a visual representation (Figure) given a node input.
 

Class Summary
AbstractGraphController An abstract implementation of the GraphController interface.
AbstractGraphModel An abstract implementation of the GraphModel interface that provides the basic event notification system
BasicEdgeController A basic implementation of EdgeController, which works with graphs that have edges connecting simple nodes.
BasicNodeController A basic node controller implementation, intended for use as a controller for graphs containing only one node type.
EdgeCreator An interactor that interactively drags edges from one node to another.
EdgeInteractor An interactor for edges.
GraphEvent A graph event that is emitted when anything interesting happens inside a graph by way of a GraphModel.
GraphPane The display part of the JGraph user-level widget.
GraphUtilities A set of utilities for traversing/manipulating/etc. graphs.
GraphUtilities.PartiallyContainedEdgeFilter  
GraphUtilities.TotallyContainedEdgeFilter  
GraphViewEvent A graph view event that is emitted when anything interesting happens inside a graph view.
JGraph A graph widget analogous to java.swing.JTree.
NodeDragInteractor An interactor that drags nodes.
NodeInteractor An interactor for nodes.
SimpleGraphController A simple graph controller, which works well if all nodes have the same interaction, and all edges have the same interaction.
 

Exception Summary
GraphException A graph package topological error.
 

Package diva.graph Description

A generic and highly-extensible graph visualization library whose basic interface is a widget analogous to java.swing.JTree. The diva.graph collection of packages provides three central pieces of functionality:

For a taste of how this library works in its most basic form, the following piece of code instantiates a basic graph, containing two nodes connected by an edge ( A -> B ).

// Construct the widgets
Frame f = new Frame();
JGraph g = new JGraph();
f.add("Center", g);

// Construct the graph
BasicNode a = new BasicNode("a");
BasicNode b = new BasicNode("b");
BasicEdge e = new BasicEdge("e");
jg.getModel().addNode(a);
jg.getModel().addNode(b);
jg.getModel().connect(e, a, b);

// Display it all
f.setVisible(true);

Since:
Ptolemy II 1.0