Package org.ka2ddo.yaac.gui
Class ObjectEditor
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.ka2ddo.yaac.gui.ObjectEditor
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,ObjectEditorSettingsIfc
This class allows a user to create or update the information regarding an Object or Item.
Information includes:
- object name
- whether object is killed
- timestamp (Objects only)
- latitude and longitude
- symbol table ID and code
- overlay for symbol (opt)
- one of:
- course and speed
- PHG for the object's antenna
- radio range (assuming an omni antenna)
- DF signal strength
- area object parameters
- comment
- QRU group (if needed)
- beaconing rate for object
- digipeat path choice(s)
- Author:
- Andrew Pavlin, KA2DDO
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
-
Method Summary
Modifier and TypeMethodDescriptionint
Get the currently configured decay ratio for this object.int
Get the currently configured fast send rate for this object.Extract the current values in the editor into an APRS ObjectReport.int
Get the currently configured slow send rate for this object.boolean
Test if the current state of the editor would create a sendable ObjectReport record.void
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
Set the name of the Object or Item being edited by this editor.void
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
(Component parent, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
ObjectEditor
public ObjectEditor()Create an ObjectEditor GUI widget,
-
-
Method Details
-
setName
Set the name of the Object or Item being edited by this editor. -
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 Northlon
- longitude in fractional degrees East
-
setAll
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
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
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
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 interfaceObjectEditorSettingsIfc
- Returns:
- fast send rate in seconds
-
getDecayRatio
public int getDecayRatio()Get the currently configured decay ratio for this object.- Specified by:
getDecayRatio
in interfaceObjectEditorSettingsIfc
- Returns:
- decay ratio
-
getSlowSendRate
public int getSlowSendRate()Get the currently configured slow send rate for this object.- Specified by:
getSlowSendRate
in interfaceObjectEditorSettingsIfc
- Returns:
- slow send rate in seconds
-
showDialog
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 JDialogtitle
- already-localized title String for the JDialog's title bartransmitter
- 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
-