Class DuplexGroupScanPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.util.swing.JmriPanel
-
- jmri.jmrix.loconet.swing.LnPanel
-
- jmri.jmrix.loconet.duplexgroup.swing.DuplexGroupScanPanel
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.event.ChangeListener
,LocoNetListener
,LnPanelInterface
public class DuplexGroupScanPanel extends LnPanel implements LocoNetListener, javax.swing.event.ChangeListener
Defines a GUI and associated logic to perform energy scan operations on Duplex radio channels. Displays energy scan data in a graphical form.This tool works equally well with UR92 and UR92CE devices. The UR92 and UR92CE behave identically with respect to this tool. For the purpose of clarity, only the term UR92 is used herein.
- 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
-
-
Field Summary
Fields Modifier and Type Field Description (package private) int
channelIndexToScan
(package private) javax.swing.JButton
clearButton
(package private) jmri.jmrix.loconet.duplexgroup.swing.DuplexGroupScanPanel.DuplexChannelInfo[]
dci
(package private) javax.swing.JLabel
grStatusValue
(package private) int
loopNum
(package private) int
maxChannelIndexToScan
(package private) int
previousGroupChannel
(package private) DuplexGroupScanPanel
safe
(package private) javax.swing.JButton
scanLoopButton
(package private) java.lang.Integer
scanLoopDelay
(package private) javax.swing.JLabel
scanLoopLabel
(package private) boolean
stopRequested
(package private) boolean
waitingForPreviousGroupChannel
(package private) java.lang.Integer
whenToStop
-
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
-
-
Constructor Summary
Constructors Constructor Description DuplexGroupScanPanel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
connect(LnTrafficController t)
void
dispose()
Break connection with the LnTrafficController and stop timers.java.lang.String
getHelpTarget()
Provide a help target string which an enclosing frame can provide as a help reference.java.lang.String
getTitle()
Provide a recommended title for an enclosing frame.void
initComponents()
2nd stage of initialization, invoked after the constructor is complete.void
initComponents(LocoNetSystemConnectionMemo memo)
2nd stage of initialization, invoked after the constructor is complete.boolean
isInitialized()
void
message(LocoNetMessage m)
Process all incoming LocoNet messages to look for Duplex Group information operations.void
stateChanged(javax.swing.event.ChangeEvent e)
-
Methods inherited from class jmri.jmrix.loconet.swing.LnPanel
getTitle, getTitleHelper, initContext
-
Methods inherited from class jmri.util.swing.JmriPanel
getMenus, getMinimumDimension, getWindowInterface, isMultipleInstances, setWindowInterface
-
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, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
dci
jmri.jmrix.loconet.duplexgroup.swing.DuplexGroupScanPanel.DuplexChannelInfo[] dci
-
safe
DuplexGroupScanPanel safe
-
scanLoopButton
javax.swing.JButton scanLoopButton
-
scanLoopLabel
javax.swing.JLabel scanLoopLabel
-
clearButton
javax.swing.JButton clearButton
-
grStatusValue
javax.swing.JLabel grStatusValue
-
stopRequested
boolean stopRequested
-
scanLoopDelay
java.lang.Integer scanLoopDelay
-
waitingForPreviousGroupChannel
boolean waitingForPreviousGroupChannel
-
previousGroupChannel
int previousGroupChannel
-
channelIndexToScan
int channelIndexToScan
-
maxChannelIndexToScan
int maxChannelIndexToScan
-
loopNum
int loopNum
-
whenToStop
java.lang.Integer whenToStop
-
-
Constructor Detail
-
DuplexGroupScanPanel
public DuplexGroupScanPanel()
-
-
Method Detail
-
initComponents
public void initComponents()
2nd stage of initialization, invoked after the constructor is complete.- Overrides:
initComponents
in classJmriPanel
-
getHelpTarget
public java.lang.String getHelpTarget()
Provide a help target string which an enclosing frame can provide as a help reference.This automatically provides a reference to the usual place for JMRI window-specific help pages that are named for the implementing class, but note this is a Pane class, not a Frame class.
- Overrides:
getHelpTarget
in classJmriPanel
- Returns:
- the target String
-
getTitle
public java.lang.String getTitle()
Provide a recommended title for an enclosing frame.
-
initComponents
public void initComponents(LocoNetSystemConnectionMemo memo)
2nd stage of initialization, invoked after the constructor is complete.This needs to be connected to the initContext() method in implementing classes.
- Specified by:
initComponents
in interfaceLnPanelInterface
- Overrides:
initComponents
in classLnPanel
- Parameters:
memo
- aLocoNetSystemConnectionMemo
object
-
isInitialized
public boolean isInitialized()
-
message
public void message(LocoNetMessage m)
Process all incoming LocoNet messages to look for Duplex Group information operations. Only pays attention to LocoNet report of Duplex Group Name/password/channel/groupID, and ignores all other LocoNet messages.If tool has sent a query for Duplex group information and has not yet received a Duplex group report, the method updates the GUI with the received information.
If the tool is not currently waiting for a response to a query, then the method compares the received information against the information currently displayed in the GUI. If the received information does not match, a message is displayed on the status line in the GUI, else nothing is displayed in the GUI status line.
- Specified by:
message
in interfaceLocoNetListener
- Parameters:
m
- The received LocoNet message. Note that this same object may be presented to multiple users. It should not be modified here.
-
connect
public void connect(LnTrafficController t)
-
dispose
public void dispose()
Break connection with the LnTrafficController and stop timers.
-
stateChanged
public void stateChanged(javax.swing.event.ChangeEvent e)
- Specified by:
stateChanged
in interfacejavax.swing.event.ChangeListener
-
-