org.jgraph.graph
public class DefaultGraphSelectionModel extends Object implements GraphSelectionModel, Cloneable, Serializable
| Nested Class Summary | |
|---|---|
| protected class | DefaultGraphSelectionModel.CellPlaceHolder
Holds a path and whether or not it is new. |
| Field Summary | |
|---|---|
| protected Map | cellStates Maps the cells to their selection state. |
| protected SwingPropertyChangeSupport | changeSupport Used to message registered listeners. |
| protected boolean | childrenSelectable Boolean that indicates if the model allows stepping-into groups. |
| protected JGraph | graph Reference to the parent graph. |
| protected EventListenerList | listenerList Event listener list. |
| protected Set | selection List that contains the selected items. |
| protected int | selectionMode
Mode for the selection, will be either SINGLE_TREE_SELECTION,
CONTIGUOUS_TREE_SELECTION or DISCONTIGUOUS_TREE_SELECTION. |
| static int | SELECTED Value that represents selected state in cellStates. |
| static String | SELECTION_MODE_PROPERTY Property name for selectionMode. |
| static Integer | UNSELECTED Object value that represents the unselected state in cellStates. |
| Constructor Summary | |
|---|---|
| DefaultGraphSelectionModel(JGraph graph) Constructs a DefaultGraphSelectionModel for the specified graph. | |
| Method Summary | |
|---|---|
| void | addGraphSelectionListener(GraphSelectionListener x)
Adds x to the list of listeners that are notified each time the set of
selected TreePaths changes.
|
| void | addPropertyChangeListener(PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list. |
| void | addSelectionCell(Object cell)
Adds the specified cell to the current selection
|
| void | addSelectionCells(Object[] cells)
Adds cells to the current selection.
|
| void | clearSelection()
Empties the current selection. |
| Object | clone()
Returns a clone of this object with the same selection. |
| protected boolean | deselect(Object cell)
Deselects a single cell and updates all datastructures. |
| protected void | fireValueChanged(GraphSelectionEvent e)
Notifies all listeners that are registered for tree selection events on
this object.
|
| EventListener[] | getListeners(Class listenerType)
Returns an array of all the listeners of the given type that were added
to this model.
|
| Object[] | getSelectables()
Returns the cells that are currently selectable. |
| protected int | getSelectedChildCount(Object cell)
Returns the number of selected childs for cell. |
| Object | getSelectionCell()
Returns the first cell in the selection. |
| Object[] | getSelectionCells()
Returns the cells in the selection. |
| int | getSelectionCount()
Returns the number of paths that are selected. |
| int | getSelectionMode()
Returns the selection mode, one of SINGLE_TREE_SELECTION,
DISCONTIGUOUS_TREE_SELECTION or
CONTIGUOUS_TREE_SELECTION. |
| boolean | isCellSelected(Object cell)
Returns true if the cell, cell, is in the current
selection. |
| boolean | isChildrenSelectable()
Returns true if the selection model allows the selection of children. |
| protected boolean | isChildrenSelectable(Object cell)
Hook for subclassers for fine-grained control over stepping-into cells.
|
| boolean | isChildrenSelected(Object cell)
Returns true if the cell, cell, has selected children. |
| boolean | isSelectionEmpty()
Returns true if the selection is currently empty. |
| protected void | notifyCellChange(Vector changedCells)
Notifies listeners of a change in path. |
| void | removeGraphSelectionListener(GraphSelectionListener x)
Removes x from the list of listeners that are notified each time the set
of selected TreePaths changes.
|
| void | removePropertyChangeListener(PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list. |
| void | removeSelectionCell(Object cell)
Removes the specified cell from the selection.
|
| void | removeSelectionCells(Object[] cells)
Removes the specified cells from the selection.
|
| protected boolean | select(Set set, Object cell)
Selects a single cell and updates all datastructures. |
| void | setChildrenSelectable(boolean flag)
Sets if the selection model allows the selection of children. |
| protected void | setSelectedChildCount(Object cell, int count)
Sets the number of selected childs for cell to
count. |
| void | setSelectionCell(Object cell)
Selects the specified cell.
|
| void | setSelectionCells(Object[] cells)
Sets the selection to cells. |
| void | setSelectionMode(int mode)
Sets the selection mode, which must be one of SINGLE_TREE_SELECTION, |
Parameters: x the new listener to be added
A PropertyChangeEvent will get fired when the selection mode changes.
Parameters: listener the PropertyChangeListener to be added
Parameters: cell the cell to add to the current selection
Parameters: cells the cells to be added to the current selection
Throws: CloneNotSupportedException never thrown by instances of this class
See Also: DefaultGraphSelectionModel EventListenerList
Returns: all of the objects receiving listenerType notifications from this model
Since: 1.3
cell.SINGLE_TREE_SELECTION,
DISCONTIGUOUS_TREE_SELECTION or
CONTIGUOUS_TREE_SELECTION.cell, is in the current
selection.childrenSelectable&&
isCellSelected.cell, has selected children.changePaths should
contain instances of PathPlaceHolder.Parameters: x the listener to remove
Parameters: listener the PropertyChangeListener to be removed
Parameters: cell the cell to remove from the current selection
Parameters: cells the cells to remove from the current selection
cell to
count.Parameters: cell the cell to select
cells. If this represents a change
the GraphSelectionListeners are notified. Potentially paths will be held
by this object; in other words don't change any of the objects in the
array once passed in.
Parameters: cells new selection