org.jgraph.graph

Interface GraphSelectionModel

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

Field Summary
static intMULTIPLE_GRAPH_SELECTION
Selection can contain any number of items.
static intSINGLE_GRAPH_SELECTION
Selection can only contain one cell at a time.
Method Summary
voidaddGraphSelectionListener(GraphSelectionListener x)
Adds x to the list of listeners that are notified each time the set of selected Objects changes.
voidaddPropertyChangeListener(PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list.
voidaddSelectionCell(Object cell)
Adds cell to the current selection.
voidaddSelectionCells(Object[] cells)
Adds cells to the current selection.
voidclearSelection()
Empties the current selection.
Object[]getSelectables()
Returns the cells that are currently selectable.
ObjectgetSelectionCell()
Returns the first cell in the selection.
Object[]getSelectionCells()
Returns the cells in the selection.
intgetSelectionCount()
Returns the number of cells that are selected.
intgetSelectionMode()
Returns the current selection mode, either SINGLE_GRAPH_SELECTION or MULTIPLE_GRAPH_SELECTION.
booleanisCellSelected(Object cell)
Returns true if the cell, cell, is in the current selection.
booleanisChildrenSelectable()
Returns true if the selection model allows the selection of children.
booleanisChildrenSelected(Object cell)
Returns true if the cell, cell, has selected children.
booleanisSelectionEmpty()
Returns true if the selection is currently empty.
voidremoveGraphSelectionListener(GraphSelectionListener x)
Removes x from the list of listeners that are notified each time the set of selected Objects changes.
voidremovePropertyChangeListener(PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list.
voidremoveSelectionCell(Object cell)
Removes cell from the selection.
voidremoveSelectionCells(Object[] cells)
Removes cells from the selection.
voidsetChildrenSelectable(boolean flag)
Sets if the selection model allows the selection of children.
voidsetSelectionCell(Object cell)
Sets the selection to cell.
voidsetSelectionCells(Object[] cells)
Sets the selection to cells.
voidsetSelectionMode(int mode)
Sets the selection model, which must be either SINGLE_GRAPH_SELECTION or MULTIPLE_GRAPH_SELECTION.

Field Detail

MULTIPLE_GRAPH_SELECTION

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

SINGLE_GRAPH_SELECTION

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

Method Detail

addGraphSelectionListener

public 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

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.

Parameters: 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.

Parameters: 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.

Parameters: 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.

Parameters: 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.

Parameters: 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.

Parameters: 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.

Parameters: 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.

Parameters: 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.

Parameters: cells new selection

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.

Copyright (C) 2001-2009 JGraph Ltd. All rights reserved.