org.jgraph.graph
Interface GraphSelectionModel

All Known Implementing Classes:
DefaultGraphSelectionModel, JGraph.EmptySelectionModel

public interface GraphSelectionModel

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).

Version:
0.1 1/1/02
Author:
Gaudenz Alder

Field Summary
static int MULTIPLE_GRAPH_SELECTION
          Selection can contain any number of items.
static int SINGLE_GRAPH_SELECTION
          Selection can only contain one cell at a time.
 
Method Summary
 void addGraphSelectionListener(GraphSelectionListener x)
          Adds x to the list of listeners that are notified each time the set of selected Objects changes.
 void addPropertyChangeListener(PropertyChangeListener listener)
          Adds a PropertyChangeListener to the listener list.
 void addSelectionCell(Object cell)
          Adds cell to the current selection.
 void addSelectionCells(Object[] cells)
          Adds cells to the current selection.
 void clearSelection()
          Empties the current selection.
 Object[] getSelectables()
          Returns the cells that are currently selectable.
 Object getSelectionCell()
          Returns the first cell in the selection.
 Object[] getSelectionCells()
          Returns the cells in the selection.
 int getSelectionCount()
          Returns the number of cells that are selected.
 int getSelectionMode()
          Returns the current selection mode, either SINGLE_GRAPH_SELECTION or MULTIPLE_GRAPH_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.
 boolean isChildrenSelected(Object cell)
          Returns true if the cell, cell, has selected children.
 boolean isSelectionEmpty()
          Returns true if the selection is currently empty.
 void removeGraphSelectionListener(GraphSelectionListener x)
          Removes x from the list of listeners that are notified each time the set of selected Objects changes.
 void removePropertyChangeListener(PropertyChangeListener listener)
          Removes a PropertyChangeListener from the listener list.
 void removeSelectionCell(Object cell)
          Removes cell from the selection.
 void removeSelectionCells(Object[] cells)
          Removes cells from the selection.
 void setChildrenSelectable(boolean flag)
          Sets if the selection model allows the selection of children.
 void setSelectionCell(Object cell)
          Sets the selection to cell.
 void setSelectionCells(Object[] cells)
          Sets the selection to cells.
 void setSelectionMode(int mode)
          Sets the selection model, which must be either SINGLE_GRAPH_SELECTION or MULTIPLE_GRAPH_SELECTION.
 

Field Detail

SINGLE_GRAPH_SELECTION

static final int SINGLE_GRAPH_SELECTION
Selection can only contain one cell at a time.

See Also:
Constant Field Values

MULTIPLE_GRAPH_SELECTION

static final int MULTIPLE_GRAPH_SELECTION
Selection can contain any number of items.

See Also:
Constant Field Values
Method Detail

setSelectionMode

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.


setChildrenSelectable

void setChildrenSelectable(boolean flag)
Sets if the selection model allows the selection of children.


isChildrenSelectable

boolean isChildrenSelectable()
Returns true if the selection model allows the selection of children.


getSelectionMode

int getSelectionMode()
Returns the current selection mode, either SINGLE_GRAPH_SELECTION or MULTIPLE_GRAPH_SELECTION.


setSelectionCell

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.

Parameters:
cell - new cell to select

setSelectionCells

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.

Parameters:
cells - new selection

addSelectionCell

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.

Parameters:
cell - the new cell to add to the current selection

addSelectionCells

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.

Parameters:
cells - the new cells to add to the current selection

removeSelectionCell

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.

Parameters:
cell - the cell to remove from the selection

removeSelectionCells

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.

Parameters:
cells - the cells to remove from the selection

getSelectables

Object[] getSelectables()
Returns the cells that are currently selectable.


getSelectionCell

Object getSelectionCell()
Returns the first cell in the selection. How first is defined is up to implementors.


getSelectionCells

Object[] getSelectionCells()
Returns the cells in the selection. This will return null (or an empty array) if nothing is currently selected.


getSelectionCount

int getSelectionCount()
Returns the number of cells that are selected.


isCellSelected

boolean isCellSelected(Object cell)
Returns true if the cell, cell, is in the current selection.


isChildrenSelected

boolean isChildrenSelected(Object cell)
Returns true if the cell, cell, has selected children.


isSelectionEmpty

boolean isSelectionEmpty()
Returns true if the selection is currently empty.


clearSelection

void clearSelection()
Empties the current selection. If this represents a change in the current selection, the selection listeners are notified.


addPropertyChangeListener

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.

Parameters:
listener - the PropertyChangeListener to be added

removePropertyChangeListener

void removePropertyChangeListener(PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list. This removes a PropertyChangeListener that was registered for all properties.

Parameters:
listener - the PropertyChangeListener to be removed

addGraphSelectionListener

void addGraphSelectionListener(GraphSelectionListener x)
Adds x to the list of listeners that are notified each time the set of selected Objects changes.

Parameters:
x - the new listener to be added

removeGraphSelectionListener

void removeGraphSelectionListener(GraphSelectionListener x)
Removes x from the list of listeners that are notified each time the set of selected Objects changes.

Parameters:
x - the listener to remove