Class FilteredTasksTableModel

java.lang.Object
javax.swing.table.AbstractTableModel
org.cesilko.rachota.gui.FilteredTasksTableModel
All Implemented Interfaces:
Serializable, TableModel

public class FilteredTasksTableModel extends AbstractTableModel
Table model for filtered tasks.
See Also:
  • Field Details

    • DESCRIPTION

      public static final int DESCRIPTION
      Identification of filter name column.
      See Also:
    • DURATION_TIME

      public static final int DURATION_TIME
      Identification of filter content rule column.
      See Also:
    • DURATION_DAYS

      public static final int DURATION_DAYS
      Identification of filter content column.
      See Also:
  • Constructor Details

    • FilteredTasksTableModel

      public FilteredTasksTableModel()
      Creates a new instance of FilteredTasksTableModel
  • Method Details

    • setGroupSameTasks

      public void setGroupSameTasks(boolean groupSameTasks)
      Sets whether to group tasks with same description or not.
      Parameters:
      groupSameTasks - If true, tasks with same description will occupy one row.
    • setTasks

      public void setTasks(Vector tasks)
      Sets filtered tasks with new vector and refreshes the table.
      Parameters:
      tasks - Vector of filtered tasks to be displayed in the table.
    • getValueAt

      public Object getValueAt(int row, int column)
      Returns value of cell located in given row and column.
      Parameters:
      row - Number of row.
      column - Number of column.
      Returns:
      Value of cell at specified location.
    • getSimilarTask

      public Task getSimilarTask(int row)
      Returns similar task to the one at given row.
      Parameters:
      row - Row of task to be found.
      Returns:
      Either same task or new task with same description.
    • getRowCount

      public int getRowCount()
      Returns number of rows in the table i.e. filtered tasks. The number depends on the groupSameTasks setting.
      Returns:
      Number of rows in the table i.e. number of filtered tasks either unique or same depending on whether they should be grouped.
    • getColumnCount

      public int getColumnCount()
      Returns number of columns in the table i.e. 3.
      Returns:
      Always 3 since table has three columns.
    • getColumnName

      public String getColumnName(int column)
      Returns name of column by given column number.
      Specified by:
      getColumnName in interface TableModel
      Overrides:
      getColumnName in class AbstractTableModel
      Parameters:
      column - Number of column.
      Returns:
      Name of column by given column number.
    • getTotalTime

      public double getTotalTime()
      Returns total time spent on all displayed tasks.
      Returns:
      Total time spent on all displayed tasks in miliseconds.
    • getSortedColumn

      public int getSortedColumn()
      Returns column that is currently sorted.
      Returns:
      Column that is being sorted.
    • getSortedOrder

      public String getSortedOrder()
      Returns sorting order that is currently used.
      Returns:
      Returns + char in case of ascending order or - char in case of descending order.
    • sortTable

      public void sortTable(int column, boolean changeOrder)
      Sorts table according to given column and known order.
      Parameters:
      column - Column that will be used for sorting.
      changeOrder - Should the sorting order be changed ?