org.ka2ddo.yaac.gui
Class ObjectEditor

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.ka2ddo.yaac.gui.ObjectEditor
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, ObjectEditorSettingsIfc

public class ObjectEditor
extends javax.swing.JPanel
implements ObjectEditorSettingsIfc

This class allows a user to create or update the information regarding an Object or Item. Information includes:

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
ObjectEditor()
          Create an ObjectEditor GUI widget,
 
Method Summary
 int getFastSendRate()
          Get the currently configured fast send rate for this object.
 ObjectReport getObjectReport()
          Extract the current values in the editor into an APRS ObjectReport.
 int getSlowSendRate()
          Get the currently configured slow send rate for this object.
 boolean isSendable()
          Test if the current state of the editor would create a sendable ObjectReport record.
 void setAll(Message msg)
          Initialize all of the editor's sub-widgets from the contents of the specified APRS Message.
 void setAll(ObjectReport msg)
          Initialize the editor from the contents of an ObjectReport message.
 void setLocation(double lat, double lon)
          Set the geographical position of the APRS Object/Item being edited.
 void setName(java.lang.String name)
          Set the name of the Object or Item being edited by this editor.
 void setScope(Scope scope)
          Specify the transmission scope of the generated Object or Item as not transmitted at all, RF only, or allowed to be forwarded to the APRS-IS Internet backbone.
 void setStillAlive(boolean alive)
          Specify whether generated Object or Item should specify that the object is still alive.
 void showDialog(java.awt.Component parent, java.lang.String title, ObjectReportTransmitter transmitter)
          Display a non-blocking JDialog with the ObjectEditor panel inside it, and extra buttons to save and cancel the dialog in a footer panel at the bottom.
 
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, 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

ObjectEditor

public ObjectEditor()
Create an ObjectEditor GUI widget,

Method Detail

setName

public void setName(java.lang.String name)
Set the name of the Object or Item being edited by this editor.

Overrides:
setName in class java.awt.Component
Parameters:
name - String name for APRS Object/Item (should be 9 or fewer ASCII characters, but is not checked)

setLocation

public void setLocation(double lat,
                        double lon)
Set the geographical position of the APRS Object/Item being edited.

Parameters:
lat - latitude in fractional degrees North
lon - longitude in fractional degrees East

setAll

public void setAll(Message msg)
Initialize all of the editor's sub-widgets from the contents of the specified APRS Message.

Parameters:
msg - APRS Message (expected to be an ObjectReport, but other types are accepted for doing takeovers of failed transmitters for PositionReported stations)

setAll

public void setAll(ObjectReport msg)
Initialize the editor from the contents of an ObjectReport message.

Parameters:
msg - ObjectReport whose contents are to be copied into the editor

setStillAlive

public void setStillAlive(boolean alive)
Specify whether generated Object or Item should specify that the object is still alive.

Parameters:
alive - boolean true if Object is still alive

setScope

public void setScope(Scope scope)
Specify the transmission scope of the generated Object or Item as not transmitted at all, RF only, or allowed to be forwarded to the APRS-IS Internet backbone.

Parameters:
scope - desired Scope of transmission

getObjectReport

public ObjectReport getObjectReport()
Extract the current values in the editor into an APRS ObjectReport. Note this does not check that the editor values are complete and valid before exporting the ObjectReport; the caller is required to confirm validity before calling this method.

Returns:
ObjectReport with the current values in the editor

isSendable

public boolean isSendable()
Test if the current state of the editor would create a sendable ObjectReport record.

Returns:
boolean true if enough information has been entered to transmit the current Object data

getFastSendRate

public int getFastSendRate()
Get the currently configured fast send rate for this object.

Specified by:
getFastSendRate in interface ObjectEditorSettingsIfc
Returns:
fast send rate in seconds

getSlowSendRate

public int getSlowSendRate()
Get the currently configured slow send rate for this object.

Specified by:
getSlowSendRate in interface ObjectEditorSettingsIfc
Returns:
slow send rate in seconds

showDialog

public void showDialog(java.awt.Component parent,
                       java.lang.String title,
                       ObjectReportTransmitter transmitter)
Display a non-blocking JDialog with the ObjectEditor panel inside it, and extra buttons to save and cancel the dialog in a footer panel at the bottom.

Parameters:
parent - Component that will be the positioning parent of the JDialog
title - already-localized title String for the JDialog's title bar
transmitter - the ObjectReportTransmitter callback object to be informed when the editor contents are to be extracted and transmitted; this may be called multiple times if the user presses the Send button to transmit the Object without closing the editor, edits again, and resends