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