Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.ka2ddo.yaac.gui
Class StationListViewer

    java.lang.Object
      javax.swing.table.AbstractTableModel
          org.ka2ddo.yaac.gui.StationListViewer

All Implemented Interfaces:
  java.awt.event.ActionListener, java.beans.PropertyChangeListener, java.io.Serializable, java.lang.Runnable, java.util.EventListener, javax.swing.table.TableModel, TrackerListener, FilterChangeListener, ColumnSizingTableModel, FastComparableTableModel

    public class StationListViewer

extends javax.swing.table.AbstractTableModel
implements ColumnSizingTableModel, TrackerListener, java.lang.Runnable, java.beans.PropertyChangeListener, java.awt.event.ActionListener, FilterChangeListener, FastComparableTableModel

This provides a sortable, filterable situational status display, as a backing TableModel for a JTable view.

See Also:
  Serialized Form

Field Summary

Fields inherited from class javax.swing.table.AbstractTableModel
`listenerList`

Constructor Summary
`StationListViewer(java.util.ResourceBundle msgBundle, boolean isOneShot)` Create a StationListViewer TableModel, obtaining column labels from the specified ResourceBundle.

Method Summary
`void` | `actionPerformed(java.awt.event.ActionEvent e)` Do not call.
`void` | `addTableModelListener(javax.swing.event.TableModelListener l)` Adds a listener to the list that's notified each time a change to the data model occurs.
`int` | `compareRows(int rowIndex1, int rowIndex2, int columnIndex)` Compare the selected column of the two rows.
`void` | `filterSettingsChanged(Filter changedFilter, boolean changedByUser)` Called when the specified Filter's matching criteria have been changed.
`java.lang.Class<?>` | `getColumnClass(int columnIndex)` Returns the data Class for the specified column.
`int` | `getColumnCount()` Returns the number of columns in the model.
`java.lang.String` | `getColumnName(int column)` Returns the localized name for the column.
`int` | `getColumnWidth(int columnIndex)` Specifies the default initial width of a column from this model.
`ListViewMode` | `getListViewMode()` Get the current mode for viewing the list of stations and objects.
`int` | `getObjectCount()` Get the current number of objects known to YAAC, regardless of the view mode.
`int` | `getRowCount()` Returns the number of rows in the model.
`StationState` | `getSortedRow(int rowIndex)` Return the object state record for the specified index into the sorted list of objects that is backing the table model.
`int` | `getStationCount()` Get the current number of stations known to YAAC, regardless of the view mode.
`java.lang.Object` | `getValueAt(int rowIndex, int columnIndex)` Returns the value for the cell at `columnIndex` and `rowIndex`.
`boolean` | `isApplyFilter()` Report whether the currently defined filters should restrict the contents of the station/object list.
`boolean` | `isCellEditable(int rowIndex, int columnIndex)`
`boolean` | `isSizeToFit(int columnIndex)` Specifies whether setWidthToFit() should be enabled on this column
`void` | `messageAdded(StationState ss, int index, AX25Message msg)` Called when a AX25Message is added to the history for a station in the tracker.
`void` | `messageDeleted(StationState ss, int index, AX25Message msg)` Called when a AX25Message is deleted from the history for a station in the tracker.
`void` | `propertyChange(java.beans.PropertyChangeEvent evt)` This method gets called when a bound property is changed.
`void` | `removeTableModelListener(javax.swing.event.TableModelListener l)` Removes a listener from the list that's notified each time a change to the data model occurs.
`void` | `run()`
`void` | `setApplyFilter(boolean applyFilter)` Specify whether filters should be applied when generating the list of stations and objects.
`void` | `setListViewMode(ListViewMode listViewMode)` Set the current view mode.
`void` | `setValueAt(java.lang.Object aValue, int rowIndex, int columnIndex)` Allow changing the editable columns of the table.
`void` | `stationAdded(StationState ss, int index)` Called when a new station is initially added to the tracker.
`void` | `stationDeleted(StationState ss, int index)` Called when an existing station is deleted from the tracker.
`void` | `stationUpdated(StationState ss)` Called when an existing station is updated with new information in the tracker.

Methods inherited from class javax.swing.table.AbstractTableModel
`findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### StationListViewer

    public StationListViewer(java.util.ResourceBundle msgBundle,
                             boolean isOneShot)

  Create a StationListViewer TableModel, obtaining column labels from the specified ResourceBundle.

  Parameters:
    `msgBundle` - ResourceBundle providing localized column titles
    `isOneShot` - boolean true if model does not refresh itself; useful for mini-webserver

Method Detail

### getRowCount

    public int getRowCount()

  Returns the number of rows in the model.

  Specified by:
    `getRowCount` in interface `javax.swing.table.TableModel`
  Returns:
    the number of rows in the model
  See Also:
    `getColumnCount()`

### getColumnCount

    public int getColumnCount()

  Returns the number of columns in the model.

  Specified by:
    `getColumnCount` in interface `javax.swing.table.TableModel`
  Returns:
    the number of columns in the model
  See Also:
    `getRowCount()`

### getSortedRow

    public StationState getSortedRow(int rowIndex)

  Return the object state record for the specified index into the sorted list of objects that is backing the table model.

  Parameters:
    `rowIndex` - zero-based row index
  Returns:
    StationState record describing the Object or Item

### getValueAt

    public java.lang.Object getValueAt(int rowIndex,
                                       int columnIndex)

  Returns the value for the cell at `columnIndex` and `rowIndex`.

  Specified by:
    `getValueAt` in interface `javax.swing.table.TableModel`
  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

### compareRows

    public int compareRows(int rowIndex1,
                           int rowIndex2,
                           int columnIndex)

  Compare the selected column of the two rows.

  Specified by:
    `compareRows` in interface `FastComparableTableModel`
  Parameters:
    `rowIndex1` - zero-based model row index of first row to compare
    `rowIndex2` - zero-based model row index of second row to compare
    `columnIndex` - zero-based model column index of column to compare
  Returns:
    +1 if the 1st row's column is after the 2nd row's column, -1 if before, or 0 if equal precedence

### getColumnClass

    public java.lang.Class<?> getColumnClass(int columnIndex)

  Returns the data Class for the specified column.

  Specified by:
    `getColumnClass` in interface `javax.swing.table.TableModel`
  Overrides:
    `getColumnClass` in class `javax.swing.table.AbstractTableModel`
  Parameters:
    `columnIndex` - the column being queried
  Returns:
    the Class object for the column's data

### isCellEditable

    public boolean isCellEditable(int rowIndex,
                                  int columnIndex)

  Specified by:
    `isCellEditable` in interface `javax.swing.table.TableModel`
  Overrides:
    `isCellEditable` in class `javax.swing.table.AbstractTableModel`

### getColumnName

    public java.lang.String getColumnName(int column)

  Returns the localized name for the column.

  Specified by:
    `getColumnName` in interface `javax.swing.table.TableModel`
  Overrides:
    `getColumnName` in class `javax.swing.table.AbstractTableModel`
  Parameters:
    `column` - the column being queried
  Returns:
    a string containing the name of `column`

### setValueAt

    public void setValueAt(java.lang.Object aValue,
                           int rowIndex,
                           int columnIndex)

  Allow changing the editable columns of the table. Note that only column 11 (alias) and column 12 (alternate symbol) is editable.

  Specified by:
    `setValueAt` in interface `javax.swing.table.TableModel`
  Overrides:
    `setValueAt` in class `javax.swing.table.AbstractTableModel`
  Parameters:
    `aValue` - value to assign to cell
    `rowIndex` - row of cell
    `columnIndex` - column of cell

### getColumnWidth

    public int getColumnWidth(int columnIndex)

  Specifies the default initial width of a column from this model. Should only be queried at table creation time.

  Specified by:
    `getColumnWidth` in interface `ColumnSizingTableModel`
  Parameters:
    `columnIndex` - int index of the model's column whose width should be obtained
  Returns:
    the width, in the same units used by the TableColumn class's setWidth() method, or -1 to indicate the width should not be forced

### isSizeToFit

    public boolean isSizeToFit(int columnIndex)

  Specifies whether setWidthToFit() should be enabled on this column

  Specified by:
    `isSizeToFit` in interface `ColumnSizingTableModel`
  Parameters:
    `columnIndex` - int index of the model's column whose width should be obtained
  Returns:
    boolean true if sizeWidthToFit() should be called on this column

### getListViewMode

    public ListViewMode getListViewMode()

  Get the current mode for viewing the list of stations and objects.

  Returns:
    current ListViewMode

### setListViewMode

    public void setListViewMode(ListViewMode listViewMode)

  Set the current view mode.

  Parameters:
    `listViewMode` - ListViewMode to use for future display of stations/objects

### getStationCount

    public int getStationCount()

  Get the current number of stations known to YAAC, regardless of the view mode.

  Returns:
    count of station records in tracker

### getObjectCount

    public int getObjectCount()

  Get the current number of objects known to YAAC, regardless of the view mode.

  Returns:
    count of object records in tracker

### addTableModelListener

    public void addTableModelListener(javax.swing.event.TableModelListener l)

  Adds a listener to the list that's notified each time a change to the data model occurs.

  Specified by:
    `addTableModelListener` in interface `javax.swing.table.TableModel`
  Overrides:
    `addTableModelListener` in class `javax.swing.table.AbstractTableModel`
  Parameters:
    `l` - the TableModelListener

### actionPerformed

    public void actionPerformed(java.awt.event.ActionEvent e)

  Do not call. Here to support the above timer.

  Specified by:
    `actionPerformed` in interface `java.awt.event.ActionListener`

### removeTableModelListener

    public void removeTableModelListener(javax.swing.event.TableModelListener l)

  Removes a listener from the list that's notified each time a change to the data model occurs.

  Specified by:
    `removeTableModelListener` in interface `javax.swing.table.TableModel`
  Overrides:
    `removeTableModelListener` in class `javax.swing.table.AbstractTableModel`
  Parameters:
    `l` - the TableModelListener

### isApplyFilter

    public boolean isApplyFilter()

  Report whether the currently defined filters should restrict the contents of the station/object list.

  Returns:
    boolean true if filters will be applied

### setApplyFilter

    public void setApplyFilter(boolean applyFilter)

  Specify whether filters should be applied when generating the list of stations and objects.

  Parameters:
    `applyFilter` - boolean true if filters should be used

### messageAdded

    public void messageAdded(StationState ss,
                             int index,
                             AX25Message msg)

  Called when a AX25Message is added to the history for a station in the tracker.

  Specified by:
    `messageAdded` in interface `TrackerListener`
  Parameters:
    `ss` - StationState containing the station's information
    `index` - zero-based index of the message added to the StationState object
    `msg` - APRS Message object being added to the tracker; note that non-APRS packets that can still be decoded (such as OpenTRAC) will also be passed here; AX25Frames that cannot be decoded will pass null here

### messageDeleted

    public void messageDeleted(StationState ss,
                               int index,
                               AX25Message msg)

  Called when a AX25Message is deleted from the history for a station in the tracker.

  Specified by:
    `messageDeleted` in interface `TrackerListener`
  Parameters:
    `ss` - StationState containing the station's information; the initial Message will already be removed from the StationState object
    `index` - zero-based index of the message removed from the StationState object
    `msg` - APRS Message object being removed from the tracker; note that non-APRS packets that can still be decoded (such as OpenTRAC) will also be passed here; AX25Frames that cannot be decoded will pass null here

### stationAdded

    public void stationAdded(StationState ss,
                             int index)

  Called when a new station is initially added to the tracker.

  Specified by:
    `stationAdded` in interface `TrackerListener`
  Parameters:
    `ss` - StationState containing the station's information; the initial AX25Message will not yet be stored within the StationState object
    `index` - zero-based integer sequence number for this station in the StationTracker

### stationUpdated

    public void stationUpdated(StationState ss)

  Called when an existing station is updated with new information in the tracker.

  Specified by:
    `stationUpdated` in interface `TrackerListener`
  Parameters:
    `ss` - StationState containing the station's information; the new AX25Message will not yet be stored within the StationState object

### stationDeleted

    public void stationDeleted(StationState ss,
                               int index)

  Called when an existing station is deleted from the tracker.

  Specified by:
    `stationDeleted` in interface `TrackerListener`
  Parameters:
    `ss` - StationState containing the station's information
    `index` - zero-based integer sequence number for this station in the StationTracker

### run

    public void run()

  Specified by:
    `run` in interface `java.lang.Runnable`

### filterSettingsChanged

    public void filterSettingsChanged(Filter changedFilter,
                                      boolean changedByUser)

  Called when the specified Filter's matching criteria have been changed.

  Specified by:
    `filterSettingsChanged` in interface `FilterChangeListener`
  Parameters:
    `changedFilter` - Filter that has changed
    `changedByUser` - boolean true if change was manually made by user, false if change was made automatically by dynamic filter logic

### propertyChange

    public void propertyChange(java.beans.PropertyChangeEvent evt)

  This method gets called when a bound property is changed.

  Specified by:
    `propertyChange` in interface `java.beans.PropertyChangeListener`
  Parameters:
    `evt` - A PropertyChangeEvent object describing the event source and the property that has changed.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD