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 Link icon

    • EMPTY_ROWS Link icon

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

    • VSRows Link icon

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

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

    • createRow Link icon

      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 Link icon

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

      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 Link icon

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

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

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

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

      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 Link icon

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

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

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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 Link icon

      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.