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

    • 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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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

        java.lang.Object[] getSelectables()
        Returns the cells that are currently selectable.
      • getSelectionCell

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

        java.lang.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​(java.lang.Object cell)
        Returns true if the cell, cell, is in the current selection.
      • isChildrenSelected

        boolean isChildrenSelected​(java.lang.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​(java.beans.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​(java.beans.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