|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectjavax.swing.undo.UndoableEditSupport
com.jgraph.graph.DefaultGraphModel
A simple implementation of a graph model.
| Nested Class Summary | |
static class |
DefaultGraphModel.EmptyIterator
|
class |
DefaultGraphModel.GraphModelEdit
An implementation of GraphModelChange that can be added to the model event. |
class |
DefaultGraphModel.GraphModelLayerEdit
An implementation of GraphViewChange. |
| Field Summary | |
protected boolean |
asksAllowsChildren
Indicates whether isLeaf is based on a node's allowsChildren value. |
protected boolean |
attributeStore
Indicates whether this models consumes the UI's attribute changes. |
protected java.util.Iterator |
emptyIterator
Default instance of an empty iterator. |
protected javax.swing.event.EventListenerList |
listenerList
The list of listeners that listen to the model. |
protected java.util.List |
roots
Set that contains all root cells of this model. |
| Fields inherited from class javax.swing.undo.UndoableEditSupport |
compoundEdit, listeners, realSource, updateLevel |
| Constructor Summary | |
DefaultGraphModel()
Constructs a model that is not an attribute store. |
|
DefaultGraphModel(boolean attributeStore)
Constructs a model who's isAttributeStore returns the specified value. |
|
| Method Summary | |
boolean |
acceptsSource(java.lang.Object edge,
java.lang.Object port)
Returns true if port is a valid source
for edge. |
boolean |
acceptsTarget(java.lang.Object edge,
java.lang.Object port)
Returns true if port is a valid target
for edge. |
void |
addGraphModelListener(GraphModelListener l)
Adds a listener for the GraphModelEvent posted after the graph changes. |
protected void |
connect(java.lang.Object edge,
java.lang.Object port,
boolean isSource,
boolean remove)
Connects or disconnects the edge and port in this model based on remove. |
boolean |
contains(java.lang.Object node)
Returns true if node or one of its
ancestors is in the model. |
protected DefaultGraphModel.GraphModelEdit |
createCellEdit(ConnectionSet cs,
java.util.Map propertyMap,
ParentMap pm,
javax.swing.undo.UndoableEdit[] edits)
Returns an edit that represents a change. |
protected DefaultGraphModel.GraphModelEdit |
createEdit(java.lang.Object[] inserted,
java.lang.Object[] removed,
java.util.Map attributes,
java.util.Map properties,
ConnectionSet cs,
ParentMap pm)
|
protected DefaultGraphModel.GraphModelEdit |
createInsertEdit(java.lang.Object[] cells,
ConnectionSet cs,
ParentMap pm,
java.util.Map propertyMap,
java.util.Map attributeMap)
Returns an edit that represents an insert. |
protected DefaultGraphModel.GraphModelLayerEdit |
createLayerEdit(java.lang.Object[] cells,
int layer)
|
protected DefaultGraphModel.GraphModelEdit |
createRemoveEdit(java.lang.Object[] cells)
Returns an edit that represents a remove. |
java.util.Iterator |
edges(java.lang.Object port)
Returns an iterator of the edges connected to port. |
void |
edit(ConnectionSet cs,
java.util.Map propertyMap,
ParentMap pm,
javax.swing.undo.UndoableEdit[] edits)
Applies the propertyMap and the connection changes to
the model. |
protected void |
fireGraphChanged(java.lang.Object source,
GraphModelEvent.GraphModelChange edit)
|
java.util.Map |
getAttributes(java.lang.Object node)
Returns a Map that represents the properties for
the specified cell. |
java.lang.Object |
getChild(java.lang.Object parent,
int index)
Returns the child of parent at index index in the parent's child array. |
int |
getChildCount(java.lang.Object parent)
Returns the number of children of parent. |
static java.util.Set |
getDescendants(GraphModel model,
java.lang.Object[] cells)
Flattens the given array of root cells by adding the roots and their descandants. |
static java.util.Set |
getEdges(GraphModel model,
java.lang.Object[] cells)
Return the set of edges that are connected to the specified cells. |
GraphModelListener[] |
getGraphModelListeners()
Return an array of all GraphModelListeners that were added to this model. |
int |
getIndexOfChild(java.lang.Object parent,
java.lang.Object child)
Returns the index of child in parent. |
int |
getIndexOfRoot(java.lang.Object root)
Returns the index of root in the model. |
java.lang.Object |
getParent(java.lang.Object child)
Returns the parent of child in the model. |
java.lang.Object |
getRootAt(int index)
Returns the root at index index in the model. |
int |
getRootCount()
Returns the number of roots in the model. |
static java.lang.Object[] |
getRoots(GraphModel model)
Returns the roots of the specified model as an array. |
java.lang.Object |
getSource(java.lang.Object edge)
Returns the source of edge. |
java.lang.Object |
getTarget(java.lang.Object edge)
Returns the target of edge. |
protected void |
handleConnection(ConnectionSet.Connection c)
Inserts the specified connection into the model. |
protected ConnectionSet |
handleConnectionSet(ConnectionSet cs)
Applies connectionSet to the model. |
protected java.lang.Object[] |
handleInsert(java.lang.Object[] cells)
Inserts cells into the model. |
protected ParentMap |
handleParentMap(ParentMap parentMap)
Applies cells to the model. |
protected java.util.Map |
handlePropertyMap(java.util.Map propertyMap)
Applies propertyMap to the model. |
protected java.lang.Object[] |
handleRemove(java.lang.Object[] cells)
Removes cells from the model. |
void |
insert(java.lang.Object[] roots,
ConnectionSet cs,
ParentMap pm,
java.util.Map attributeMap)
Inserts the cells and connections into the model,
and passes attributeMap to the views. |
boolean |
isAttributeStore()
Returns true if the model stores all attributes. |
boolean |
isLeaf(java.lang.Object node)
Returns whether the specified node is a leaf node. |
boolean |
isOrdered()
Returns true if the model order should be used. |
void |
remove(java.lang.Object[] roots)
Removes cells from the model. |
void |
removeGraphModelListener(GraphModelListener l)
Removes a listener previously added with addGraphModelListener(). |
void |
toBack(java.lang.Object[] cells)
Sends cells to back. |
void |
toFront(java.lang.Object[] cells)
Brings cells to front. |
| Methods inherited from class javax.swing.undo.UndoableEditSupport |
_postEdit, addUndoableEditListener, beginUpdate, createCompoundEdit, endUpdate, getUndoableEditListeners, getUpdateLevel, postEdit, removeUndoableEditListener, toString |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface com.jgraph.graph.GraphModel |
addUndoableEditListener, removeUndoableEditListener |
| Field Detail |
protected transient javax.swing.event.EventListenerList listenerList
protected transient java.util.Iterator emptyIterator
protected java.util.List roots
protected boolean asksAllowsChildren
protected boolean attributeStore
| Constructor Detail |
public DefaultGraphModel()
public DefaultGraphModel(boolean attributeStore)
| Method Detail |
public int getRootCount()
getRootCount in interface GraphModelpublic java.lang.Object getRootAt(int index)
getRootAt in interface GraphModelpublic int getIndexOfRoot(java.lang.Object root)
root in the model.
If root is null, returns -1.
getIndexOfRoot in interface GraphModelnullpublic boolean contains(java.lang.Object node)
true if node or one of its
ancestors is in the model.
contains in interface GraphModeltrue if node is in the modelpublic boolean isAttributeStore()
true if the model stores all attributes.
Otherwise, the view attributes and model properties are stored
in separate places, allowing a cell to have multiple attribute
sets among different views ("view-dependent" attributes).
isAttributeStore in interface GraphModeltrue if the model handles attributes.public java.util.Map getAttributes(java.lang.Object node)
Map that represents the properties for
the specified cell. This properties have precedence over each
view's attributes, regardless of isAttributeStore.
getAttributes in interface GraphModelnode as a Mappublic java.lang.Object getSource(java.lang.Object edge)
edge. edge must be an object
previously obtained from this data source.
getSource in interface GraphModelObject that represents the source of edgepublic java.lang.Object getTarget(java.lang.Object edge)
edge. edge must be an object
previously obtained from this data source.
getTarget in interface GraphModelObject that represents the target of edge
public boolean acceptsSource(java.lang.Object edge,
java.lang.Object port)
true if port is a valid source
for edge. edge and port must be
objects previously obtained from this data source.
acceptsSource in interface GraphModeltrue if port is a valid source
for edge.
public boolean acceptsTarget(java.lang.Object edge,
java.lang.Object port)
true if port is a valid target
for edge. edge and port must be
objects previously obtained from this data source.
acceptsTarget in interface GraphModeltrue if port is a valid target
for edge.public java.util.Iterator edges(java.lang.Object port)
port.
port must be a object previously obtained from
this data source. This method never returns null.
edges in interface GraphModelport - a port in the graph, obtained from this data source
Iterator that represents the connected edgespublic java.lang.Object getParent(java.lang.Object child)
getParent in interface GraphModelchild - a node in the graph, obtained from this data source
public int getIndexOfChild(java.lang.Object parent,
java.lang.Object child)
null, returns -1.
getIndexOfChild in interface GraphModelparent - a note in the tree, obtained from this data sourcechild - the node we are interested in
null
public java.lang.Object getChild(java.lang.Object parent,
int index)
getChild in interface GraphModelparent - a node in the tree, obtained from this data source
public int getChildCount(java.lang.Object parent)
getChildCount in interface GraphModelparent - a node in the tree, obtained from this data source
public boolean isLeaf(java.lang.Object node)
isLeaf in interface GraphModelnode - the node to check
public void insert(java.lang.Object[] roots,
ConnectionSet cs,
ParentMap pm,
java.util.Map attributeMap)
cells and connections into the model,
and passes attributeMap to the views. If the
model is an attribute store, the attributeMap
is absorbed by the model.
Notifies the model- and undo listeners of the change.
insert in interface GraphModelpublic void remove(java.lang.Object[] roots)
cells from the model. If removeChildren
is true, the children are also removed.
Notifies the model- and undo listeners of the change.
remove in interface GraphModel
public void edit(ConnectionSet cs,
java.util.Map propertyMap,
ParentMap pm,
javax.swing.undo.UndoableEdit[] edits)
propertyMap and the connection changes to
the model. The initial edits that triggered the call
are considered to be part of this transaction.
Notifies the model- and undo listeners of the change.
Note: If only edits is non-null, the
edits are directly passed to the UndoableEditListeners.
edit in interface GraphModelpublic void toBack(java.lang.Object[] cells)
cells to back.
toBack in interface GraphModelpublic void toFront(java.lang.Object[] cells)
cells to front.
toFront in interface GraphModel
protected DefaultGraphModel.GraphModelLayerEdit createLayerEdit(java.lang.Object[] cells,
int layer)
public boolean isOrdered()
true if the model order should be used.
Typically, this returns the value of isAttributeStore.
isOrdered in interface GraphModel
protected DefaultGraphModel.GraphModelEdit createInsertEdit(java.lang.Object[] cells,
ConnectionSet cs,
ParentMap pm,
java.util.Map propertyMap,
java.util.Map attributeMap)
protected DefaultGraphModel.GraphModelEdit createRemoveEdit(java.lang.Object[] cells)
protected DefaultGraphModel.GraphModelEdit createCellEdit(ConnectionSet cs,
java.util.Map propertyMap,
ParentMap pm,
javax.swing.undo.UndoableEdit[] edits)
protected DefaultGraphModel.GraphModelEdit createEdit(java.lang.Object[] inserted,
java.lang.Object[] removed,
java.util.Map attributes,
java.util.Map properties,
ConnectionSet cs,
ParentMap pm)
protected java.lang.Object[] handleInsert(java.lang.Object[] cells)
cells into the model. Returns
the cells that were inserted (including descendants).
protected java.lang.Object[] handleRemove(java.lang.Object[] cells)
cells from the model. Returns
the cells that were removed as roots.
protected ParentMap handleParentMap(ParentMap parentMap)
cells to the model. Returns
a parent map that may be used to undo this change.
protected java.util.Map handlePropertyMap(java.util.Map propertyMap)
propertyMap to the model. Returns
a property map that may be used to undo this change.
protected ConnectionSet handleConnectionSet(ConnectionSet cs)
connectionSet to the model. Returns
a connection set that may be used to undo this change.
protected void handleConnection(ConnectionSet.Connection c)
protected void connect(java.lang.Object edge,
java.lang.Object port,
boolean isSource,
boolean remove)
remove. Subclassers should override
this to update connectivity datastructures.
public void addGraphModelListener(GraphModelListener l)
addGraphModelListener in interface GraphModell - the listener to addremoveGraphModelListener(com.jgraph.event.GraphModelListener)public void removeGraphModelListener(GraphModelListener l)
removeGraphModelListener in interface GraphModell - the listener to removeaddGraphModelListener(com.jgraph.event.GraphModelListener)
protected void fireGraphChanged(java.lang.Object source,
GraphModelEvent.GraphModelChange edit)
public GraphModelListener[] getGraphModelListeners()
public static java.lang.Object[] getRoots(GraphModel model)
public static java.util.Set getEdges(GraphModel model,
java.lang.Object[] cells)
public static java.util.Set getDescendants(GraphModel model,
java.lang.Object[] cells)
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||