Main Page | Packages | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ikayaki.gui.MeasurementSequenceTableModel Class Reference

Inheritance diagram for ikayaki.gui.MeasurementSequenceTableModel:

Inheritance graph
[legend]
Collaboration diagram for ikayaki.gui.MeasurementSequenceTableModel:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MeasurementSequenceTableModel ()
Project getProject ()
void setProject (Project project)
void projectUpdated (ProjectEvent event)
void measurementUpdated (MeasurementEvent event)
SequenceColumn[] getPossibleColumns ()
boolean isColumnVisible (SequenceColumn column)
void setColumnVisible (SequenceColumn column, boolean visible)
int getRowCount ()
int getColumnCount ()
Object getValueAt (int rowIndex, int columnIndex)
void setValueAt (Object data, int rowIndex, int columnIndex)
Override boolean isCellEditable (int rowIndex, int columnIndex)
Override String getColumnName (int column)
String getColumnToolTip (int column)
Override Class<?> getColumnClass (int columnIndex)

Private Member Functions

void showColumn (SequenceColumn column, boolean save)
void hideColumn (SequenceColumn column, boolean save)
void saveColumn (SequenceColumn column, boolean visible)

Private Attributes

Project project = null
List< SequenceColumnvisibleColumns = new ArrayList<SequenceColumn>()
List< SequenceColumnpossibleColumns = new ArrayList<SequenceColumn>()

Static Private Attributes

static final String VISIBLE_COLUMNS_PROPERTY = "visibleColumns"

Detailed Description

Handles the showing and editing of a project's measurement sequence. The columns that are being shown can be selected on a per project basis, and the selections are remembered even after the project has been closed.

Author:
Esko Luontola

Definition at line 37 of file MeasurementSequenceTableModel.java.


Constructor & Destructor Documentation

ikayaki.gui.MeasurementSequenceTableModel.MeasurementSequenceTableModel  ) 
 

Creates a new MeasurementSequenceTableModel with no active project.

Definition at line 49 of file MeasurementSequenceTableModel.java.

References ikayaki.gui.null, and ikayaki.gui.MeasurementSequenceTableModel.setProject().

Here is the call graph for this function:


Member Function Documentation

Override Class<?> ikayaki.gui.MeasurementSequenceTableModel.getColumnClass int  columnIndex  ) 
 

Returns Object.class regardless of columnIndex.

Parameters:
columnIndex the column being queried
Returns:
the Object.class

Definition at line 371 of file MeasurementSequenceTableModel.java.

References ikayaki.gui.MeasurementSequenceTableModel.visibleColumns.

int ikayaki.gui.MeasurementSequenceTableModel.getColumnCount  ) 
 

Returns the number of columns in the model. A JTable uses this method to determine how many columns it should create and display by default.

Returns:
the number of columns in the model
See also:
getRowCount

Definition at line 305 of file MeasurementSequenceTableModel.java.

References ikayaki.gui.MeasurementSequenceTableModel.visibleColumns.

Override String ikayaki.gui.MeasurementSequenceTableModel.getColumnName int  column  ) 
 

Returns a name for the column. If column cannot be found, returns an empty string.

Parameters:
column the column being queried.
Returns:
a string containing the default name of column.

Definition at line 348 of file MeasurementSequenceTableModel.java.

References ikayaki.gui.MeasurementSequenceTableModel.project, and ikayaki.gui.MeasurementSequenceTableModel.visibleColumns.

String ikayaki.gui.MeasurementSequenceTableModel.getColumnToolTip int  column  ) 
 

Returns the tooltip text for the specified column. Will be shown in the table header.

Definition at line 358 of file MeasurementSequenceTableModel.java.

References ikayaki.gui.null, ikayaki.gui.MeasurementSequenceTableModel.project, and ikayaki.gui.MeasurementSequenceTableModel.visibleColumns.

Referenced by ikayaki.gui.MeasurementSequencePanel.MeasurementSequencePanel().

SequenceColumn [] ikayaki.gui.MeasurementSequenceTableModel.getPossibleColumns  ) 
 

Returns an array of columns that the current project can show. They are in the order of appearance.

Definition at line 159 of file MeasurementSequenceTableModel.java.

References ikayaki.gui.MeasurementSequenceTableModel.possibleColumns.

Project ikayaki.gui.MeasurementSequenceTableModel.getProject  ) 
 

Returns the active project, or null if no project is active.

Definition at line 57 of file MeasurementSequenceTableModel.java.

References ikayaki.gui.MeasurementSequenceTableModel.project.

int ikayaki.gui.MeasurementSequenceTableModel.getRowCount  ) 
 

Returns the number of rows in the model. A JTable uses this method to determine how many rows it should display. This method should be quick, as it is called frequently during rendering.

Returns:
the number of rows in the model
See also:
getColumnCount

Definition at line 286 of file MeasurementSequenceTableModel.java.

References ikayaki.Project.getSteps(), ikayaki.Project.isSequenceEditEnabled(), ikayaki.gui.null, ikayaki.gui.MeasurementSequenceTableModel.project, and ikayaki.gui.MeasurementSequenceTableModel.visibleColumns.

Here is the call graph for this function:

Object ikayaki.gui.MeasurementSequenceTableModel.getValueAt int  rowIndex,
int  columnIndex
 

Returns the value for the cell at columnIndex and rowIndex.

Parameters:
rowIndex the row whose value is to be queried
columnIndex the column whose value is to be queried
Returns:
the value Object at the specified cell

Definition at line 316 of file MeasurementSequenceTableModel.java.

References ikayaki.Project.getValue(), ikayaki.gui.MeasurementSequenceTableModel.project, ikayaki.gui.rowIndex, and ikayaki.gui.MeasurementSequenceTableModel.visibleColumns.

Here is the call graph for this function:

void ikayaki.gui.MeasurementSequenceTableModel.hideColumn SequenceColumn  column,
boolean  save
[private]
 

Hides the specified column.

Parameters:
column the column to be hidden.
save should this column change be saved to the project or not.

Definition at line 199 of file MeasurementSequenceTableModel.java.

References ikayaki.gui.MeasurementSequenceTableModel.saveColumn(), and ikayaki.gui.MeasurementSequenceTableModel.visibleColumns.

Referenced by ikayaki.gui.MeasurementSequenceTableModel.setColumnVisible(), and ikayaki.gui.MeasurementSequenceTableModel.setProject().

Here is the call graph for this function:

Override boolean ikayaki.gui.MeasurementSequenceTableModel.isCellEditable int  rowIndex,
int  columnIndex
 

Returns false. This is the default implementation for all cells.

Parameters:
rowIndex the row being queried
columnIndex the column being queried
Returns:
false

Definition at line 338 of file MeasurementSequenceTableModel.java.

References ikayaki.gui.MeasurementSequenceTableModel.project, ikayaki.gui.rowIndex, and ikayaki.gui.MeasurementSequenceTableModel.visibleColumns.

boolean ikayaki.gui.MeasurementSequenceTableModel.isColumnVisible SequenceColumn  column  ) 
 

Tells if specified column is currently visible.

Parameters:
column the column to be queried.
Returns:
true if the column is visible, otherwise false.
Exceptions:
NullPointerException if column is null.

Definition at line 215 of file MeasurementSequenceTableModel.java.

References ikayaki.gui.null, and ikayaki.gui.MeasurementSequenceTableModel.visibleColumns.

Referenced by ikayaki.gui.MeasurementSequenceTableModel.setColumnVisible().

void ikayaki.gui.MeasurementSequenceTableModel.measurementUpdated MeasurementEvent  event  ) 
 

Refreshes the table to reflect the changes in the measurement steps.

Implements ikayaki.MeasurementListener.

Definition at line 141 of file MeasurementSequenceTableModel.java.

References ikayaki.Project.getStep(), ikayaki.MeasurementEvent.getStep(), ikayaki.Project.getSteps(), ikayaki.MeasurementEvent.getType(), ikayaki.gui.MeasurementSequenceTableModel.project, ikayaki.MeasurementEvent.STEP_ABORTED, ikayaki.MeasurementEvent.STEP_END, ikayaki.MeasurementEvent.STEP_START, and ikayaki.MeasurementEvent.VALUE_MEASURED.

Here is the call graph for this function:

void ikayaki.gui.MeasurementSequenceTableModel.projectUpdated ProjectEvent  event  ) 
 

Refreshes the table to reflect the changes in the project's data.

Deprecated:
The selected rows need to be saved before updating the table data, and that can only be done with access to the JTable. That's why it is on MeasurementSequencePanel's responsibility is to react to ProjectEvents and do the fireTableDataChanged().

Implements ikayaki.ProjectListener.

Definition at line 132 of file MeasurementSequenceTableModel.java.

void ikayaki.gui.MeasurementSequenceTableModel.saveColumn SequenceColumn  column,
boolean  visible
[private]
 

Saves to the project's properties, whether the specified column should be shown or not. Will do nothing if the current project is null.

Parameters:
column the column whose property is changed.
visible true to show the column, false to hide it.

Definition at line 251 of file MeasurementSequenceTableModel.java.

References ikayaki.Project.getProperty(), ikayaki.gui.null, ikayaki.gui.MeasurementSequenceTableModel.project, ikayaki.Project.setProperty(), and ikayaki.gui.MeasurementSequenceTableModel.VISIBLE_COLUMNS_PROPERTY.

Referenced by ikayaki.gui.MeasurementSequenceTableModel.hideColumn(), and ikayaki.gui.MeasurementSequenceTableModel.showColumn().

Here is the call graph for this function:

void ikayaki.gui.MeasurementSequenceTableModel.setColumnVisible SequenceColumn  column,
boolean  visible
 

Sets visibility of the specified column. Makes sure that the columns are always in the same order. Saves the visible columns to the project's properties.

Parameters:
column the column to be changed.
visible true if the column should be visible, otherwise false.
Exceptions:
NullPointerException if column is null.

Definition at line 230 of file MeasurementSequenceTableModel.java.

References ikayaki.gui.MeasurementSequenceTableModel.hideColumn(), ikayaki.gui.MeasurementSequenceTableModel.isColumnVisible(), ikayaki.gui.null, and ikayaki.gui.MeasurementSequenceTableModel.showColumn().

Here is the call graph for this function:

void ikayaki.gui.MeasurementSequenceTableModel.setProject Project  project  ) 
 

Sets the project for this model. Unregisters MeasurementListener and ProjectListener from the old project, and registers them to the new project. Decides which colums to show in the table.

Parameters:
project new active project, or null to make no project active.

Definition at line 67 of file MeasurementSequenceTableModel.java.

References ikayaki.Project.addMeasurementListener(), ikayaki.Project.addProjectListener(), ikayaki.Project.getProperty(), ikayaki.gui.MeasurementSequenceTableModel.hideColumn(), ikayaki.gui.null, ikayaki.gui.MeasurementSequenceTableModel.possibleColumns, ikayaki.gui.project, ikayaki.Project.removeMeasurementListener(), ikayaki.Project.removeProjectListener(), ikayaki.gui.MeasurementSequenceTableModel.showColumn(), ikayaki.gui.MeasurementSequenceTableModel.VISIBLE_COLUMNS_PROPERTY, and ikayaki.gui.MeasurementSequenceTableModel.visibleColumns.

Referenced by ikayaki.gui.MeasurementSequenceTableModel.MeasurementSequenceTableModel().

Here is the call graph for this function:

void ikayaki.gui.MeasurementSequenceTableModel.setValueAt Object  data,
int  rowIndex,
int  columnIndex
 

Sets the value for the cell at columnIndex and rowIndex.

Parameters:
data new value of the cell
rowIndex the row whose value is to be queried
columnIndex the column whose value is to be queried

Definition at line 327 of file MeasurementSequenceTableModel.java.

References ikayaki.gui.data, ikayaki.gui.MeasurementSequenceTableModel.project, ikayaki.gui.rowIndex, and ikayaki.gui.MeasurementSequenceTableModel.visibleColumns.

void ikayaki.gui.MeasurementSequenceTableModel.showColumn SequenceColumn  column,
boolean  save
[private]
 

Shows the specified column. Makes sure that the columns are always in the same order.

Parameters:
column the column to be shown.
save should this column change be saved to the project or not.

Definition at line 169 of file MeasurementSequenceTableModel.java.

References ikayaki.gui.MeasurementSequenceTableModel.possibleColumns, ikayaki.gui.MeasurementSequenceTableModel.saveColumn(), and ikayaki.gui.MeasurementSequenceTableModel.visibleColumns.

Referenced by ikayaki.gui.MeasurementSequenceTableModel.setColumnVisible(), and ikayaki.gui.MeasurementSequenceTableModel.setProject().

Here is the call graph for this function:


Member Data Documentation

List<SequenceColumn> ikayaki.gui.MeasurementSequenceTableModel.possibleColumns = new ArrayList<SequenceColumn>() [private]
 

Definition at line 44 of file MeasurementSequenceTableModel.java.

Referenced by ikayaki.gui.MeasurementSequenceTableModel.getPossibleColumns(), ikayaki.gui.MeasurementSequenceTableModel.setProject(), and ikayaki.gui.MeasurementSequenceTableModel.showColumn().

Project ikayaki.gui.MeasurementSequenceTableModel.project = null [private]
 

Definition at line 41 of file MeasurementSequenceTableModel.java.

Referenced by ikayaki.gui.MeasurementSequenceTableModel.getColumnName(), ikayaki.gui.MeasurementSequenceTableModel.getColumnToolTip(), ikayaki.gui.MeasurementSequenceTableModel.getProject(), ikayaki.gui.MeasurementSequenceTableModel.getRowCount(), ikayaki.gui.MeasurementSequenceTableModel.getValueAt(), ikayaki.gui.MeasurementSequenceTableModel.isCellEditable(), ikayaki.gui.MeasurementSequenceTableModel.measurementUpdated(), ikayaki.gui.MeasurementSequenceTableModel.saveColumn(), and ikayaki.gui.MeasurementSequenceTableModel.setValueAt().

final String ikayaki.gui.MeasurementSequenceTableModel.VISIBLE_COLUMNS_PROPERTY = "visibleColumns" [static, private]
 

Definition at line 39 of file MeasurementSequenceTableModel.java.

Referenced by ikayaki.gui.MeasurementSequenceTableModel.saveColumn(), and ikayaki.gui.MeasurementSequenceTableModel.setProject().

List<SequenceColumn> ikayaki.gui.MeasurementSequenceTableModel.visibleColumns = new ArrayList<SequenceColumn>() [private]
 

Definition at line 43 of file MeasurementSequenceTableModel.java.

Referenced by ikayaki.gui.MeasurementSequenceTableModel.getColumnClass(), ikayaki.gui.MeasurementSequenceTableModel.getColumnCount(), ikayaki.gui.MeasurementSequenceTableModel.getColumnName(), ikayaki.gui.MeasurementSequenceTableModel.getColumnToolTip(), ikayaki.gui.MeasurementSequenceTableModel.getRowCount(), ikayaki.gui.MeasurementSequenceTableModel.getValueAt(), ikayaki.gui.MeasurementSequenceTableModel.hideColumn(), ikayaki.gui.MeasurementSequenceTableModel.isCellEditable(), ikayaki.gui.MeasurementSequenceTableModel.isColumnVisible(), ikayaki.gui.MeasurementSequenceTableModel.setProject(), ikayaki.gui.MeasurementSequenceTableModel.setValueAt(), and ikayaki.gui.MeasurementSequenceTableModel.showColumn().


The documentation for this class was generated from the following file:
Generated on Fri May 6 16:01:05 2005 for Squid by  doxygen 1.4.1