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.filter
Class SymbolFilter

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JPanel
                      org.ka2ddo.yaac.gui.filter.SymbolFilter

All Implemented Interfaces:
  java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Closeable, java.io.Serializable, java.lang.Runnable, javax.accessibility.Accessible, javax.swing.table.TableModel, TrackerListener, FilterChangeListener, ColumnSizingTableModel, SaveableFilter, TableCellRendererSource

    public class SymbolFilter

extends javax.swing.JPanel
implements javax.swing.table.TableModel, ColumnSizingTableModel, TableCellRendererSource, SaveableFilter, TrackerListener, java.io.Closeable, FilterChangeListener, java.lang.Runnable

This filter selects messages by the APRS symbol code, indicated by symbol table ID and symbol type. The selection information is presented as a table of symbol codes and icons, plus a checkbox to specify which station types are enabled and disabled.

See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class javax.swing.JPanel
`javax.swing.JPanel.AccessibleJPanel`

Nested classes/interfaces inherited from class javax.swing.JComponent
`javax.swing.JComponent.AccessibleJComponent`

Nested classes/interfaces inherited from class java.awt.Container
`java.awt.Container.AccessibleAWTContainer`

Nested classes/interfaces inherited from class java.awt.Component
`java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

Field Summary

Fields inherited from class javax.swing.JComponent
`accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`SymbolFilter(Filter myFilter)` Create the GUI control TableModel for the specified back-end SymbolFilter.

Method Summary
`void` | `addTableModelListener(javax.swing.event.TableModelListener l)` Adds a listener to the list that is notified each time a change to the data model occurs.
`void` | `close()` Closes this stream and releases any system resources associated with it.
`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 columnIndex)` Returns the localized name for the column.
`int` | `getColumnWidth(int columnIndex)` Specifies the default initial width of a column from this model.
`javax.swing.filechooser.FileNameExtensionFilter` | `getPreferredFileType()` Specify the preferred filetype for files saving this Filter's data set.
`javax.swing.table.TableCellRenderer` | `getRenderer(int columnIndex)` Get the TableCellRenderer for the specified column.
`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)` Returns true if the cell at `rowIndex` and `columnIndex` is editable.
`boolean` | `isSaveable()` Indicate if this Filter is saveable.
`boolean` | `isSizeToFit(int columnIndex)` Specifies whether setWidthToFit() should be enabled on this column.
`void` | `messageAdded(StationState ss, int index, AX25Message msg)` Called when a Message 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` | `removeTableModelListener(javax.swing.event.TableModelListener l)` Removes a listener from the list that is notified each time a change to the data model occurs.
`void` | `run()` Do not call.
`void` | `saveFilterToFile(java.io.BufferedOutputStream out)` Save the contents of the Filter to the specified DataOutput object.
`void` | `setValueAt(java.lang.Object aValue, int rowIndex, int columnIndex)` Sets the value in the cell at `columnIndex` and `rowIndex` to `aValue`.
`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.JPanel
`getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

Methods inherited from class javax.swing.JComponent
`addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

Methods inherited from class java.awt.Container
`add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree`

Methods inherited from class java.awt.Component
`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle`

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

Constructor Detail

### SymbolFilter

    public SymbolFilter(Filter myFilter)

  Create the GUI control TableModel for the specified back-end SymbolFilter.

  Parameters:
    `myFilter` - SymbolFilter to monitor and control

Method Detail

### addTableModelListener

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

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

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

### 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`
  Parameters:
    `columnIndex` - the column being queried
  Returns:
    the Class object for the column's data

### 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()`

### getColumnName

    public java.lang.String getColumnName(int columnIndex)

  Returns the localized name for the column.

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

### 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()`

### 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

### isCellEditable

    public boolean isCellEditable(int rowIndex,
                                  int columnIndex)

  Returns true if the cell at `rowIndex` and `columnIndex` is editable. Otherwise, `setValueAt` on the cell will not change the value of that cell.

  Specified by:
    `isCellEditable` in interface `javax.swing.table.TableModel`
  Parameters:
    `rowIndex` - the row whose value to be queried
    `columnIndex` - the column whose value to be queried
  Returns:
    true if the cell is editable
  See Also:
    `setValueAt(java.lang.Object, int, int)`

### removeTableModelListener

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

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

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

### setValueAt

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

  Sets the value in the cell at `columnIndex` and `rowIndex` to `aValue`.

  Specified by:
    `setValueAt` in interface `javax.swing.table.TableModel`
  Parameters:
    `aValue` - the new value
    `rowIndex` - the row whose value is to be changed
    `columnIndex` - the column whose value is to be changed
  See Also:
    `getValueAt(int, int)`, `isCellEditable(int, int)`

### 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

### getRenderer

    public javax.swing.table.TableCellRenderer getRenderer(int columnIndex)

  Get the TableCellRenderer for the specified column.

  Specified by:
    `getRenderer` in interface `TableCellRendererSource`
  Parameters:
    `columnIndex` - zero-based model index of the column
  Returns:
    custom TableCellRenderer for this column, or null to not override the defaults

### isSaveable

    public boolean isSaveable()

  Indicate if this Filter is saveable. Meant for use by combining filters whose sub-Filters may not all be savable.

  Specified by:
    `isSaveable` in interface `SaveableFilter`
  Returns:
    boolean true if the current Filter can be saved

### getPreferredFileType

    public javax.swing.filechooser.FileNameExtensionFilter getPreferredFileType()

  Specify the preferred filetype for files saving this Filter's data set.

  Specified by:
    `getPreferredFileType` in interface `SaveableFilter`
  Returns:
    FileNameExtensionFilter that will be used in the saving JFileChooser

### saveFilterToFile

    public void saveFilterToFile(java.io.BufferedOutputStream out)
                          throws java.io.IOException

  Save the contents of the Filter to the specified DataOutput object.

  Specified by:
    `saveFilterToFile` in interface `SaveableFilter`
  Parameters:
    `out` - DataOutput implementing object for writing the file contents in its preferred format
  Throws:
    `java.io.IOException` - if the write failed for some reason

### messageAdded

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

  Called when a Message 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 AX25Message 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()

  Do not call. Used by SwingUtilities.invokeLater() to refresh the table because the table model's statistics data values have changed.

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

### close

    public void close()
               throws java.io.IOException

  Closes this stream and releases any system resources associated with it. If the stream is already closed then invoking this method has no effect.

  Specified by:
    `close` in interface `java.io.Closeable`
  Throws:
    `java.io.IOException` - if an I/O error occurs

### 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

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