Package jmri.jmrix.openlcb.swing.send
Class OpenLcbCanSendPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.util.swing.JmriPanel
-
- jmri.jmrix.can.swing.CanPanel
-
- jmri.jmrix.openlcb.swing.send.OpenLcbCanSendPane
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,AbstractMRListener
,CanListener
,CanPanelInterface
public class OpenLcbCanSendPane extends CanPanel implements CanListener
User interface for sending OpenLCB CAN frames to exercise the systemWhen sending a sequence of operations:
- Send the next message and start a timer
- When the timer trips, repeat if buttons still down.
- 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) ClientActions
actions
(package private) MemorySpaceSelector
addrSpace
(package private) AliasMap
aliasMap
(package private) javax.swing.JButton
cdiButton
(package private) javax.swing.JTextField
configAddressField
(package private) javax.swing.JTextField
configNumberField
(package private) Connection
connection
(package private) javax.swing.JTextField
datagramContentsField
(package private) OlcbInterface
iface
(package private) javax.swing.JLabel
jLabel1
(package private) static int
MAXSEQUENCE
(package private) MemoryConfigurationService
mcs
(package private) javax.swing.JTextField[]
mDelayField
(package private) int
mNextSequenceElement
(package private) javax.swing.JTextField[]
mPacketField
(package private) javax.swing.JToggleButton
mRunButton
(package private) javax.swing.JCheckBox[]
mUseField
(package private) NodeSelector
nodeSelector
(package private) javax.swing.JTextField
packetTextField
(package private) javax.swing.JTextField
readDataField
(package private) javax.swing.JButton
sendButton
(package private) javax.swing.JFormattedTextField
sendEventField
(package private) javax.swing.JTextField
srcAliasField
(package private) NodeID
srcNodeID
(package private) MimicNodeStore
store
(package private) javax.swing.Timer
timer
(package private) javax.swing.JComboBox<java.lang.String>
validitySelector
(package private) javax.swing.JTextField
writeDataField
-
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 OpenLcbCanSendPane()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) javax.swing.JComponent
addLineLabel(java.lang.String text)
(package private) javax.swing.JComponent
addLineLabel(java.lang.String text, javax.swing.JComponent c)
(package private) CanMessage
createPacket(java.lang.String s)
Create a well-formed message from a String String is expected to be space seperated hex bytes or CbusAddress, e.g.: 12 34 56 +n4e1(package private) NodeID
destNodeID()
void
dispose()
When the window closes, stop any sequences running(package private) EventID
eventID()
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(CanSystemConnectionMemo memo)
2nd stage of initialization, invoked after the Constructor is complete.void
message(CanMessage m)
Don't pay attention to messagesvoid
openCdiPane()
void
readPerformed(java.awt.event.ActionEvent e)
void
reply(CanReply m)
Don't pay attention to repliesprotected void
restartTimer(int delay)
Internal routine to handle timer starts and restartsvoid
runButtonActionPerformed(java.awt.event.ActionEvent e)
Run button pressed down, start the sequence operationvoid
sendButtonActionPerformed(java.awt.event.ActionEvent e)
void
sendCimPerformed(java.awt.event.ActionEvent e)
void
sendConsumerID(java.awt.event.ActionEvent e)
void
sendDatagramPerformed(java.awt.event.ActionEvent e)
void
sendDatagramReply(java.awt.event.ActionEvent e)
void
sendEventPerformed(java.awt.event.ActionEvent e)
(package private) void
sendNextItem()
Send next item; may be used for the first item or when a delay has elapsed.void
sendProducerID(java.awt.event.ActionEvent e)
void
sendReqConsumers(java.awt.event.ActionEvent e)
void
sendReqProducers(java.awt.event.ActionEvent e)
void
sendRequestEvents(java.awt.event.ActionEvent e)
void
sendRequestPip(java.awt.event.ActionEvent e)
void
sendRequestSnip(java.awt.event.ActionEvent e)
void
sendVerifyNodeGlobal(java.awt.event.ActionEvent e)
void
sendVerifyNodeGlobalID(java.awt.event.ActionEvent e)
protected void
setCdiButton()
Set whether Open CDI button is enabled based on whether the selected node has CDI in its PIP(package private) void
startSequenceDelay()
Echo has been heard, start delay for next packetprotected void
timeout()
Internal routine to handle a timeout and send next item(package private) EventState
validity()
void
writePerformed(java.awt.event.ActionEvent e)
-
Methods inherited from class jmri.jmrix.can.swing.CanPanel
getMemo, initContext, prependConnToString
-
Methods inherited from class jmri.util.swing.JmriPanel
getMenus, getMinimumDimension, getWindowInterface, initComponents, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jmri.jmrix.can.CanListener
addTc, addTc, removeTc, removeTc
-
-
-
-
Field Detail
-
jLabel1
final javax.swing.JLabel jLabel1
-
sendButton
final javax.swing.JButton sendButton
-
packetTextField
final javax.swing.JTextField packetTextField
-
MAXSEQUENCE
static final int MAXSEQUENCE
- See Also:
- Constant Field Values
-
mPacketField
final javax.swing.JTextField[] mPacketField
-
mUseField
final javax.swing.JCheckBox[] mUseField
-
mDelayField
final javax.swing.JTextField[] mDelayField
-
mRunButton
final javax.swing.JToggleButton mRunButton
-
srcAliasField
final javax.swing.JTextField srcAliasField
-
nodeSelector
NodeSelector nodeSelector
-
sendEventField
final javax.swing.JFormattedTextField sendEventField
-
datagramContentsField
final javax.swing.JTextField datagramContentsField
-
configNumberField
final javax.swing.JTextField configNumberField
-
configAddressField
final javax.swing.JTextField configAddressField
-
readDataField
final javax.swing.JTextField readDataField
-
writeDataField
final javax.swing.JTextField writeDataField
-
addrSpace
final MemorySpaceSelector addrSpace
-
validitySelector
final javax.swing.JComboBox<java.lang.String> validitySelector
-
cdiButton
javax.swing.JButton cdiButton
-
connection
Connection connection
-
store
MimicNodeStore store
-
iface
OlcbInterface iface
-
actions
ClientActions actions
-
mNextSequenceElement
int mNextSequenceElement
-
timer
javax.swing.Timer timer
-
-
Constructor Detail
-
OpenLcbCanSendPane
public OpenLcbCanSendPane()
-
-
Method Detail
-
initComponents
public void initComponents(CanSystemConnectionMemo memo)
Description copied from class:CanPanel
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 interfaceCanPanelInterface
- Overrides:
initComponents
in classCanPanel
- Parameters:
memo
- system connection.
-
setCdiButton
protected void setCdiButton()
Set whether Open CDI button is enabled based on whether the selected node has CDI in its PIP
-
getHelpTarget
public java.lang.String getHelpTarget()
Description copied from class:JmriPanel
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()
Description copied from class:JmriPanel
Provide a recommended title for an enclosing frame.
-
addLineLabel
javax.swing.JComponent addLineLabel(java.lang.String text)
-
addLineLabel
javax.swing.JComponent addLineLabel(java.lang.String text, javax.swing.JComponent c)
-
sendButtonActionPerformed
public void sendButtonActionPerformed(java.awt.event.ActionEvent e)
-
sendCimPerformed
public void sendCimPerformed(java.awt.event.ActionEvent e)
-
destNodeID
NodeID destNodeID()
-
sendVerifyNodeGlobal
public void sendVerifyNodeGlobal(java.awt.event.ActionEvent e)
-
sendVerifyNodeGlobalID
public void sendVerifyNodeGlobalID(java.awt.event.ActionEvent e)
-
sendRequestEvents
public void sendRequestEvents(java.awt.event.ActionEvent e)
-
sendRequestPip
public void sendRequestPip(java.awt.event.ActionEvent e)
-
sendRequestSnip
public void sendRequestSnip(java.awt.event.ActionEvent e)
-
sendEventPerformed
public void sendEventPerformed(java.awt.event.ActionEvent e)
-
sendReqConsumers
public void sendReqConsumers(java.awt.event.ActionEvent e)
-
validity
EventState validity()
-
sendConsumerID
public void sendConsumerID(java.awt.event.ActionEvent e)
-
sendReqProducers
public void sendReqProducers(java.awt.event.ActionEvent e)
-
sendProducerID
public void sendProducerID(java.awt.event.ActionEvent e)
-
sendDatagramPerformed
public void sendDatagramPerformed(java.awt.event.ActionEvent e)
-
sendDatagramReply
public void sendDatagramReply(java.awt.event.ActionEvent e)
-
readPerformed
public void readPerformed(java.awt.event.ActionEvent e)
-
writePerformed
public void writePerformed(java.awt.event.ActionEvent e)
-
openCdiPane
public void openCdiPane()
-
restartTimer
protected void restartTimer(int delay)
Internal routine to handle timer starts and restarts- Parameters:
delay
- milliseconds to delay
-
timeout
protected void timeout()
Internal routine to handle a timeout and send next item
-
runButtonActionPerformed
public void runButtonActionPerformed(java.awt.event.ActionEvent e)
Run button pressed down, start the sequence operation- Parameters:
e
- event from GUI
-
startSequenceDelay
void startSequenceDelay()
Echo has been heard, start delay for next packet
-
sendNextItem
void sendNextItem()
Send next item; may be used for the first item or when a delay has elapsed.
-
createPacket
CanMessage createPacket(java.lang.String s)
Create a well-formed message from a String String is expected to be space seperated hex bytes or CbusAddress, e.g.: 12 34 56 +n4e1- Parameters:
s
- string of spaced hex byte codes- Returns:
- The packet, with contents filled-in
-
message
public void message(CanMessage m)
Don't pay attention to messages- Specified by:
message
in interfaceCanListener
- Parameters:
m
- the CanMessage being sent.
-
reply
public void reply(CanReply m)
Don't pay attention to replies- Specified by:
reply
in interfaceCanListener
- Parameters:
m
- the CanReply being received.
-
-