public class MessageModel extends javax.swing.table.AbstractTableModel implements TrackerListener, ColumnSizingTableModel, AprsMessageContainingModel, FastComparableTableModel, ClearableTableModel
ClearableTableModel.ClearType
Modifier and Type | Method and Description |
---|---|
int |
compareRows(int rowIndex1,
int rowIndex2,
int columnIndex)
Compare the selected column of the two rows.
|
int |
deleteAllRows(ClearableTableModel.ClearType clearType)
Delete all rows from this table.
|
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.
|
MessageMessage |
getMessage(int row)
Get a message at the specified index from the appropriate (filtered or unfiltered) list.
|
AX25Message |
getMessageAt(int rowIndex)
Get a message at the specified index.
|
java.lang.String |
getRecordTypeTag()
Get a tag that can be given to the
Localizer to return the
term for the records to be or that have been deleted. |
int |
getRowCount()
Returns the number of rows in the model.
|
java.lang.Object |
getValueAt(int rowIndex,
int columnIndex)
Returns the value for the cell at
columnIndex and
rowIndex . |
boolean |
isCellEditable(int rowIndex,
int columnIndex)
Report if the value of the specified table cell can be edited and modified by the user.
|
boolean |
isShowEveryonesMessages()
Report if all Messages are to be shown, or only those addressed to this station.
|
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 |
messageRemoved(MessageMessage mm)
Remove an APRS text message from the MessageModel when it is being viewed in a Chat session.
|
void |
setMode(RawPacketDisplayMode mode)
Specify what display mode should be used to present the message body of the specified
message when the body's column is requested with the getValueAt() method.
|
void |
setShowEveryonesMessages(boolean showEveryonesMessages)
Specify if all Messages are to be shown, or only those addressed to this station.
|
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.
|
boolean |
tableCanContainPlayback()
Identifies whether this table can contain playback (historical) data.
|
boolean |
tableCanContainRealtime()
Identifies whether this table can contain realtime data.
|
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener, setValueAt
public boolean isShowEveryonesMessages()
public void setShowEveryonesMessages(boolean showEveryonesMessages)
showEveryonesMessages
- boolean true if all messages are to be shown, or false for only messages addressed to this stationpublic java.lang.Class<?> getColumnClass(int columnIndex)
getColumnClass
in interface javax.swing.table.TableModel
getColumnClass
in class javax.swing.table.AbstractTableModel
columnIndex
- the column being queriedpublic java.lang.String getColumnName(int column)
getColumnName
in interface javax.swing.table.TableModel
getColumnName
in class javax.swing.table.AbstractTableModel
column
- the column being queriedcolumn
public int getColumnWidth(int columnIndex)
getColumnWidth
in interface ColumnSizingTableModel
columnIndex
- int index of the model's column whose width should be obtainedpublic boolean isSizeToFit(int columnIndex)
isSizeToFit
in interface ColumnSizingTableModel
columnIndex
- int index of the model's column whose width should be obtainedpublic boolean isCellEditable(int rowIndex, int columnIndex)
isCellEditable
in interface javax.swing.table.TableModel
isCellEditable
in class javax.swing.table.AbstractTableModel
rowIndex
- zero-based model row index of the cellcolumnIndex
- zero-based model column index of the cellpublic int getColumnCount()
getColumnCount
in interface javax.swing.table.TableModel
getRowCount()
public int getRowCount()
getRowCount
in interface javax.swing.table.TableModel
getColumnCount()
public java.lang.Object getValueAt(int rowIndex, int columnIndex)
columnIndex
and
rowIndex
.getValueAt
in interface javax.swing.table.TableModel
rowIndex
- the row whose value is to be queriedcolumnIndex
- the column whose value is to be queriedpublic AX25Message getMessageAt(int rowIndex) throws java.lang.IndexOutOfBoundsException
getMessageAt
in interface AprsMessageContainingModel
rowIndex
- zero-based index to the specified Messagejava.lang.IndexOutOfBoundsException
- if index is out of range for stored messagespublic MessageMessage getMessage(int row)
row
- zero-based index to the specified Messagejava.lang.IndexOutOfBoundsException
- if index is out of range for stored messagespublic int compareRows(int rowIndex1, int rowIndex2, int columnIndex)
compareRows
in interface FastComparableTableModel
rowIndex1
- zero-based model row index of first row to comparerowIndex2
- zero-based model row index of second row to comparecolumnIndex
- zero-based model column index of column to comparepublic void setMode(RawPacketDisplayMode mode)
setMode
in interface AprsMessageContainingModel
mode
- RawPacketDisplayMode enum specifying the display modegetValueAt(int, int)
public void messageAdded(StationState ss, int index, AX25Message msg)
messageAdded
in interface TrackerListener
ss
- StationState containing the station's informationindex
- zero-based index of the message added to the StationState objectmsg
- 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 herepublic void messageDeleted(StationState ss, int index, AX25Message msg)
messageDeleted
in interface TrackerListener
ss
- StationState containing the station's information; the AX25Message
will already be removed from the StationState objectindex
- zero-based index of the message removed from the StationState objectmsg
- 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 herepublic void stationAdded(StationState ss, int index)
stationAdded
in interface TrackerListener
ss
- StationState containing the station's information; the initial AX25Message
will not yet be stored within the StationState objectindex
- zero-based integer sequence number for this station in the StationTrackerpublic void stationUpdated(StationState ss)
stationUpdated
in interface TrackerListener
ss
- StationState containing the station's information; the new AX25Message
will not yet be stored within the StationState objectpublic void stationDeleted(StationState ss, int index)
stationDeleted
in interface TrackerListener
ss
- StationState containing the station's informationindex
- zero-based integer sequence number for this station in the StationTrackerpublic void messageRemoved(MessageMessage mm)
mm
- MessageMessage to removepublic int deleteAllRows(ClearableTableModel.ClearType clearType)
deleteAllRows
in interface ClearableTableModel
clearType
- type of records to deletepublic boolean tableCanContainPlayback()
tableCanContainPlayback
in interface ClearableTableModel
public boolean tableCanContainRealtime()
tableCanContainRealtime
in interface ClearableTableModel
public java.lang.String getRecordTypeTag()
Localizer
to return the
term for the records to be or that have been deleted. Should translate
to a plural term, i.e., "messages" rather than "message".getRecordTypeTag
in interface ClearableTableModel