Class TreeTableView.TreeTableViewSelectionModel<S>

Enclosing class:
TreeTableView<S>

public abstract static class TreeTableView.TreeTableViewSelectionModel<S> extends TableSelectionModel<TreeItem<S>>
A simple extension of the SelectionModel abstract class to allow for special support for TreeTableView controls.
Since:
JavaFX 8.0
  • Constructor Details

    • TreeTableViewSelectionModel

      public TreeTableViewSelectionModel(TreeTableView<S> treeTableView)
      Builds a default TreeTableViewSelectionModel instance with the provided TreeTableView.
      Parameters:
      treeTableView - The TreeTableView upon which this selection model should operate.
      Throws:
      NullPointerException - TreeTableView can not be null.
  • Method Details

    • getSelectedCells

      public abstract ObservableList<TreeTablePosition<S,?>> getSelectedCells()
      A read-only ObservableList representing the currently selected cells in this TreeTableView. Rather than directly modify this list, please use the other methods provided in the TreeTableViewSelectionModel.
      Returns:
      a list of selected cells
    • getTreeTableView

      public TreeTableView<S> getTreeTableView()
      Returns the TreeTableView instance that this selection model is installed in.
      Returns:
      the TreeTableView instance that this selection model is installed in
    • getModelItem

      public TreeItem<S> getModelItem(int index)
      Returns the item at the given index. An example using ListView would be listView.getItems().get(index).
      Parameters:
      index - The index of the item that is requested from the underlying data model.
      Returns:
      Returns null if the index is out of bounds, or an element of type T that is related to the given index.
    • getItemCount

      protected int getItemCount()
      Returns the number of items in the data model that underpins the control. An example would be that a ListView selection model would likely return listView.getItems().size(). The valid range of selectable indices is between 0 and whatever is returned by this method.
      Returns:
      the number of items in the data model that underpins the control
    • focus

      public void focus(int row)
      Focuses the item at the given index.
      Parameters:
      row - the index of the item to be focused
    • getFocusedIndex

      public int getFocusedIndex()
      Gets the index of the focused item.
      Returns:
      the index of the focused item
    • selectRange

      public void selectRange(int minRow, TableColumnBase<TreeItem<S>,?> minColumn, int maxRow, TableColumnBase<TreeItem<S>,?> maxColumn)
      Selects the cells in the range (minRow, minColumn) to (maxRow, maxColumn), inclusive.
      Specified by:
      selectRange in class TableSelectionModel<TreeItem<S>>
      Parameters:
      minRow - the minRow
      minColumn - the minColumn
      maxRow - the maxRow
      maxColumn - the maxColumn
    • getSelectedIndices

      public ObservableList<Integer> getSelectedIndices()
      Description copied from class: MultipleSelectionModel

      Returns a read-only ObservableList of all selected indices. The ObservableList will be updated by the selection model to always reflect changes in selection. This can be observed by adding a ListChangeListener to the returned ObservableList.

      Specified by:
      getSelectedIndices in class MultipleSelectionModel<T>
      Returns:
      the list of selected indices
    • getSelectedItems

      public ObservableList<TreeItem<S>> getSelectedItems()
      Description copied from class: MultipleSelectionModel

      Returns a read-only ObservableList of all selected items. The ObservableList will be updated further by the selection model to always reflect changes in selection. This can be observed by adding a ListChangeListener to the returned ObservableList.

      Specified by:
      getSelectedItems in class MultipleSelectionModel<T>
      Returns:
      the list of selected items
    • clearAndSelect

      public void clearAndSelect(int row)
      Description copied from class: SelectionModel
      A method that clears any selection prior to setting the selection to the given index. The purpose of this method is to avoid having to call SelectionModel.clearSelection() first, meaning that observers that are listening to the selected index property will not see the selected index being temporarily set to -1.
      Specified by:
      clearAndSelect in class SelectionModel<T>
      Parameters:
      row - The index that should be the only selected index in this selection model.
    • select

      public void select(int row)
      Description copied from class: SelectionModel

      This will select the given index in the selection model, assuming the index is within the valid range (i.e. greater than or equal to zero, and less than the total number of items in the underlying data model).

      If there is already one or more indices selected in this model, calling this method will not clear these selections - to do so it is necessary to first call SelectionModel.clearSelection().

      If the index is already selected, it will not be selected again, or unselected. However, if multiple selection is implemented, then calling select on an already selected index will have the effect of making the index the new selected index (as returned by SelectionModel.getSelectedIndex().

      Specified by:
      select in class SelectionModel<T>
      Parameters:
      row - The position of the item to select in the selection model.
    • select

      public void select(TreeItem<S> obj)
      Description copied from class: SelectionModel

      This method will attempt to select the index that contains the given object. It will iterate through the underlying data model until it finds an item whose value is equal to the given object. At this point it will stop iterating - this means that this method will not select multiple indices.

      Specified by:
      select in class SelectionModel<T>
      Parameters:
      obj - The object to attempt to select in the underlying data model.
    • selectIndices

      public void selectIndices(int row, int... rows)
      Description copied from class: MultipleSelectionModel

      This method allows for one or more selections to be set at the same time. It will ignore any value that is not within the valid range (i.e. greater than or equal to zero, and less than the total number of items in the underlying data model). Any duplication of indices will be ignored.

      If there is already one or more indices selected in this model, calling this method will not clear these selections - to do so it is necessary to first call clearSelection.

      The last valid value given will become the selected index / selected item.

      Specified by:
      selectIndices in class MultipleSelectionModel<T>
      Parameters:
      row - the first index to select
      rows - zero or more additional indices to select
    • selectAll

      public void selectAll()
      Description copied from class: MultipleSelectionModel

      Convenience method to select all available indices.

      Specified by:
      selectAll in class MultipleSelectionModel<T>
    • selectFirst

      public void selectFirst()
      Description copied from class: MultipleSelectionModel

      This method will attempt to select the first index in the control. If clearSelection is not called first, this method will have the result of selecting the first index, whilst retaining the selection of any other currently selected indices.

      If the first index is already selected, calling this method will have no result, and no selection event will take place.

      Specified by:
      selectFirst in class MultipleSelectionModel<T>
    • selectLast

      public void selectLast()
      Description copied from class: MultipleSelectionModel

      This method will attempt to select the last index in the control. If clearSelection is not called first, this method will have the result of selecting the last index, whilst retaining the selection of any other currently selected indices.

      If the last index is already selected, calling this method will have no result, and no selection event will take place.

      Specified by:
      selectLast in class MultipleSelectionModel<T>
    • clearSelection

      public void clearSelection(int index)
      Description copied from class: SelectionModel

      This method will clear the selection of the item in the given index. If the given index is not selected, nothing will happen.

      Specified by:
      clearSelection in class SelectionModel<T>
      Parameters:
      index - The selected item to deselect.
    • clearSelection

      public void clearSelection()
      Description copied from class: SelectionModel

      Clears the selection model of all selected indices.

      Specified by:
      clearSelection in class SelectionModel<T>
    • isSelected

      public boolean isSelected(int index)
      Description copied from class: SelectionModel
      This method tests whether the given index is currently selected in this SelectionModel.
      Specified by:
      isSelected in class SelectionModel<T>
      Parameters:
      index - The index to check as to whether it is currently selected or not.
      Returns:
      True if the given index is selected, false otherwise.
    • isEmpty

      public boolean isEmpty()
      Description copied from class: SelectionModel
      This method is available to test whether there are any selected indices/items. It will return true if there are no selected items, and false if there are.
      Specified by:
      isEmpty in class SelectionModel<T>
      Returns:
      Will return true if there are no selected items, and false if there are.
    • selectPrevious

      public void selectPrevious()
      Description copied from class: SelectionModel

      This method will attempt to select the index directly before the current focused index. If clearSelection is not called first, this method will have the result of selecting the previous index, whilst retaining the selection of any other currently selected indices.

      Calling this method will only succeed if:

      • There is currently a lead/focused index.
      • The lead/focus index is not the first index in the control.
      • The previous index is not already selected.

      If any of these conditions is false, no selection event will take place.

      Specified by:
      selectPrevious in class SelectionModel<T>
    • selectNext

      public void selectNext()
      Description copied from class: SelectionModel

      This method will attempt to select the index directly after the current focused index. If clearSelection is not called first, this method will have the result of selecting the next index, whilst retaining the selection of any other currently selected indices.

      Calling this method will only succeed if:

      • There is currently a lead/focused index.
      • The lead/focus index is not the last index in the control.
      • The next index is not already selected.

      If any of these conditions is false, no selection event will take place.

      Specified by:
      selectNext in class SelectionModel<T>