Class VSRows

All Implemented Interfaces:
EventListener, IGProp<GProp<?>[]>, IPropCnr, Cloneable
Direct Known Subclasses:
EditorVSRows

public class VSRows extends ArrayProp<VSRow>
The rows property class that only allows VSRow children properties.
Author:
Christopher Mindus
  • Field Details

    • EMPTY_ROWS

      public static final VSRow[] EMPTY_ROWS
      An empty array of rows.
  • Constructor Details

    • VSRows

      public VSRows()
      Creates a VirtualSpace Rows property with the specified name with a null value.
    • VSRows

      public VSRows(Atom propertyAtom)
      Creates an VirtualSpace Rows property with the specified name with a null value.
      Parameters:
      propertyAtom - The property atom.
  • Method Details

    • createRow

      public VSRow createRow()
      Creates a row with a unique name.
      Returns:
      A new row with a unique name, not yet added to this row container.
    • getRows

      public VSRow[] getRows()
      Gets the rows in this rows container.
    • getTable

      public VSTable getTable()
      Gets the table of the row.
      Returns:
      The VirtualSpace Table instance, or null if row is not added to a table.
    • clone

      public VSRows clone()
      Clones the property.
      Overrides:
      clone in class ArrayProp<VSRow>
      Returns:
      A new cloned property.
    • getRowCount

      public int getRowCount()
      Gets the count of rows.
    • getRow

      public VSRow getRow(int rowIndex)
      Gets the row at specified index.
      Parameters:
      rowIndex - The row index.
      Returns:
      The row, or null if row is not found.
    • addEmptyRowsToCount

      public int addEmptyRowsToCount(int rowCount)
      Adds empty rows so that the amount of rows is reached.
      Parameters:
      rowCount - The row count requested.
      Returns:
      The amount of rows added.
    • getFirstSelectedRow

      public VSRow getFirstSelectedRow()
      Gets the first selected row in the table if the selection type is single or multiple.
      Returns:
      The selected row, null for none.
    • getSelectedIndex

      public int getSelectedIndex()
      Gets the first selected row regardless of table selection by checking the VSRow selection state.
      Returns:
      The selected row index, or -1 for none.
    • getSelectedRows

      public VSRow[] getSelectedRows()
      Gets the rows that are selected.
      Returns:
      An array with the selected rows, never null.
    • getSelectedIndicies

      public int[] getSelectedIndicies()
      Gets the selected row indicies in the table if the selection type is single or multiple.
      Returns:
      An array of the selected row indicies, or an empty array for no selection present.
    • clearSelection

      public void clearSelection()
      Clears the selection without trigger component.
    • clearSelection

      public void clearSelection(IGProp<?> trigger)
      Clears the selection with optional trigger component.
      Parameters:
      trigger - The trigger of the selection, null for none.
    • setSelection

      public boolean setSelection(int index)
      Sets the single selection index without trigger component.

      Selection processing is done in the following way:
      - select the new row index,
      - unselect the other rows, starting with the first to last row.

      This makes it possible to know if there are no selections remaining at an "unselection event".

      Parameters:
      index - The selected row index, or any negative value (e.g. -1) to clear the selection.
      Returns:
      true for success, false if index is out of bounds. In case of false return code, no selection or unselection is performed.
    • setSelection

      public boolean setSelection(int index, IGProp<?> trigger)
      Sets the single selection index with optional trigger component.

      Selection processing is done in the following way:
      - select the new row index,
      - unselect the other rows, starting with the first to last row.

      This makes it possible to know if there are no selections remaining at an "unselection event".

      Parameters:
      index - The selected row index, or any negative value (e.g. -1) to clear the selection.
      trigger - The trigger of the selection, null for none.
      Returns:
      true for success, false if index is out of bounds. In case of false return code, no selection or unselection is performed.
    • setSelection

      public boolean setSelection(int[] indicies)
      Sets the selection indices.

      Selection processing is done in the following way:
      - select the new row indicies,
      - unselect the other rows, starting with the first to last row.

      This makes it possible to know if there are no selections remaining at an "unselection event".

      Parameters:
      indicies - The selected row indicies.
      Returns:
      true for success, false if any index is out of bounds. In case of false return code, no selection or unselection is performed.
    • setSelection

      public boolean setSelection(int[] indicies, IGProp<?> trigger)
      Sets the selection indices.

      Selection processing is done in the following way:
      - select the new row indicies,
      - unselect the other rows, starting with the first to last row.

      This makes it possible to know if there are no selections remaining at an "unselection event".

      Parameters:
      indicies - The selected row indicies.
      trigger - The trigger of the selection, null for none.
      Returns:
      true for success, false if any index is out of bounds. In case of false return code, no selection or unselection is performed.
    • addListener

      public boolean addListener(IVSTableRowSelectionListener listener)
      Adds a new table row selection listener. Calling this method multiple times with the same listener will have no effect (but to return false).
      Parameters:
      listener - The listener to add.
      Returns:
      true if the listener was added, false otherwise.
      Throws:
      NullPointerException - If the listener is null.
    • removeListener

      public boolean removeListener(IVSTableRowSelectionListener listener)
      Removes a table row selection listener.
      Parameters:
      listener - The listener to remove.
      Returns:
      true if listener is successfully removed, false otherwise.
    • fireRowSelection

      public void fireRowSelection()
      Fires the current row selection to listeners if the table is of single or multiple selection. If no change of selection is present, nothing will be done.