This interface represents the current state of the selection for
the graph component.
A GraphSelectionModel can be configured to allow only one
cell (
SINGLE_GRAPH_SELECTION
) or a number of
cells (
MULTIPLE_GRAPH_SELECTION
).
addGraphSelectionListener
public void addGraphSelectionListener(GraphSelectionListener x)
Adds x to the list of listeners that are notified each time the
set of selected Objects changes.
x
- the new listener to be added
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list.
The listener is registered for all properties.
A PropertyChangeEvent will get fired when the selection mode
changes.
listener
- the PropertyChangeListener to be added
addSelectionCell
public void addSelectionCell(Object cell)
Adds cell to the current selection. If cell is not currently
in the selection the GraphSelectionListeners are notified. This has
no effect if cell
is null.
cell
- the new cell to add to the current selection
addSelectionCells
public void addSelectionCells(Object[] cells)
Adds cells to the current selection. If any of the cells are
not currently in the selection the GraphSelectionListeners
are notified. This has no effect if cells
is null.
cells
- the new cells to add to the current selection
clearSelection
public void clearSelection()
Empties the current selection. If this represents a change in the
current selection, the selection listeners are notified.
getSelectables
public Object[] getSelectables()
Returns the cells that are currently selectable.
getSelectionCell
public Object getSelectionCell()
Returns the first cell in the selection. How first is defined is
up to implementors.
getSelectionCells
public Object[] getSelectionCells()
Returns the cells in the selection. This will return null (or an
empty array) if nothing is currently selected.
getSelectionCount
public int getSelectionCount()
Returns the number of cells that are selected.
getSelectionMode
public int getSelectionMode()
Returns the current selection mode, either
SINGLE_GRAPH_SELECTION
or
MULTIPLE_GRAPH_SELECTION
.
isCellSelected
public boolean isCellSelected(Object cell)
Returns true if the cell, cell
, is in the current
selection.
isChildrenSelectable
public boolean isChildrenSelectable()
Returns true if the selection model allows the selection
of children.
isChildrenSelected
public boolean isChildrenSelected(Object cell)
Returns true if the cell, cell
,
has selected children.
isSelectionEmpty
public boolean isSelectionEmpty()
Returns true if the selection is currently empty.
removeGraphSelectionListener
public void removeGraphSelectionListener(GraphSelectionListener x)
Removes x from the list of listeners that are notified each time
the set of selected Objects changes.
x
- the listener to remove
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list.
This removes a PropertyChangeListener that was registered
for all properties.
listener
- the PropertyChangeListener to be removed
removeSelectionCell
public void removeSelectionCell(Object cell)
Removes cell from the selection. If cell is in the selection
the GraphSelectionListeners are notified. This has no effect if
cell
is null.
cell
- the cell to remove from the selection
removeSelectionCells
public void removeSelectionCells(Object[] cells)
Removes cells from the selection. If any of the cells in
cells
are in the selection, the
GraphSelectionListeners are notified. This method has no
effect if cells
is null.
cells
- the cells to remove from the selection
setChildrenSelectable
public void setChildrenSelectable(boolean flag)
Sets if the selection model allows the selection
of children.
setSelectionCell
public void setSelectionCell(Object cell)
Sets the selection to cell. If this represents a change, then
the GraphSelectionListeners are notified. If cell
is
null, this has the same effect as invoking clearSelection
.
cell
- new cell to select
setSelectionCells
public void setSelectionCells(Object[] cells)
Sets the selection to cells. If this represents a change, then
the GraphSelectionListeners are notified. If cells
is
null, this has the same effect as invoking clearSelection
.
setSelectionMode
public void setSelectionMode(int mode)
Sets the selection model, which must be either
SINGLE_GRAPH_SELECTION or MULTIPLE_GRAPH_SELECTION.
This may change the selection if the current selection is not valid
for the new mode.