Class LoaderPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.util.swing.JmriPanel
-
- jmri.jmrix.AbstractLoaderPane
-
- jmri.jmrix.openlcb.swing.downloader.LoaderPane
-
- All Implemented Interfaces:
java.awt.event.ActionListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,CanPanelInterface
public class LoaderPane extends AbstractLoaderPane implements CanPanelInterface
Pane for downloading firmware files files to OpenLCB devices which support firmware updates according to the Firmware Upgrade Protocol.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
LoaderPane.Default
Nested class to create one of these using old-style defaults-
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) Connection
connection
(package private) DatagramService
dcs
(package private) byte[]
fdata
(package private) OlcbInterface
iface
(package private) LoaderClient
loaderClient
(package private) javax.swing.JCheckBox
lockNode
(package private) MemoryConfigurationService
mcs
protected CanSystemConnectionMemo
memo
(package private) NodeID
nid
(package private) NodeSelector
nodeSelector
(package private) javax.swing.JPanel
selectorPane
(package private) MemorySpaceSelector
spaceField
(package private) MimicNodeStore
store
-
Fields inherited from class jmri.jmrix.AbstractLoaderPane
abortButton, abortOperation, addressSizeButtonGroup, bar, inputContent, loadButton, selectButton, status, verifyButton
-
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 LoaderPane()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addChooserFilters(javax.swing.JFileChooser chooser)
Add filter(s) for possible types to the input file chooser.protected void
addOptionsPanel()
Include code to add additional options here.(package private) NodeID
destNodeID()
Get NodeID from the GUIprotected void
doLoad()
void
doRead(javax.swing.JFileChooser chooser)
Read file into local memory.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.java.lang.String
getTitle(java.lang.String menuTitle)
protected void
handleOptionsInFileContent(MemoryContents inputContent)
void
initComponents(CanSystemConnectionMemo memo)
2nd stage of initialization, invoked after the Constructor is complete.protected boolean
parametersAreValid()
Checks the values in the GUI text boxes to determine if any are invalid.void
readFile(java.lang.String filename)
protected void
setDefaultFieldValues()
(package private) void
setDestNodeID(NodeID nodeID)
Set NodeID in the GUI(package private) void
updateGUI(int value)
-
Methods inherited from class jmri.jmrix.AbstractLoaderPane
actionPerformed, clearInputFileName, disableDownloadVerifyButtons, doVerify, enableDownloadVerifyButtons, initComponents, intParameterIsValid, isOperationAborted, setOperationAborted, updateDownloadVerifyButtons
-
Methods inherited from class jmri.util.swing.JmriPanel
dispose, getMenus, getMinimumDimension, getWindowInterface, initContext, 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
-
memo
protected CanSystemConnectionMemo memo
-
connection
Connection connection
-
dcs
DatagramService dcs
-
store
MimicNodeStore store
-
nodeSelector
NodeSelector nodeSelector
-
selectorPane
javax.swing.JPanel selectorPane
-
spaceField
MemorySpaceSelector spaceField
-
lockNode
javax.swing.JCheckBox lockNode
-
loaderClient
LoaderClient loaderClient
-
iface
OlcbInterface iface
-
fdata
byte[] fdata
-
-
Constructor Detail
-
LoaderPane
public LoaderPane()
-
-
Method Detail
-
getTitle
public java.lang.String getTitle(java.lang.String menuTitle)
-
initComponents
public void initComponents(CanSystemConnectionMemo memo)
Description copied from interface:CanPanelInterface
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
- Parameters:
memo
- system connection.
-
addChooserFilters
protected void addChooserFilters(javax.swing.JFileChooser chooser)
Description copied from class:AbstractLoaderPane
Add filter(s) for possible types to the input file chooser.- Overrides:
addChooserFilters
in classAbstractLoaderPane
- Parameters:
chooser
- the file chooser to add filter(s) to
-
doRead
public void doRead(javax.swing.JFileChooser chooser)
Description copied from class:AbstractLoaderPane
Read file into local memory.- Overrides:
doRead
in classAbstractLoaderPane
- Parameters:
chooser
- chooser to select the file to read from
-
getHelpTarget
public java.lang.String getHelpTarget()
Description copied from class:AbstractLoaderPane
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.
- Specified by:
getHelpTarget
in classAbstractLoaderPane
- Returns:
- the target String
-
getTitle
public java.lang.String getTitle()
Description copied from class:JmriPanel
Provide a recommended title for an enclosing frame.
-
addOptionsPanel
protected void addOptionsPanel()
Description copied from class:AbstractLoaderPane
Include code to add additional options here. By convention, if you include visible options, follow with a JSeparator.- Overrides:
addOptionsPanel
in classAbstractLoaderPane
-
handleOptionsInFileContent
protected void handleOptionsInFileContent(MemoryContents inputContent)
- Overrides:
handleOptionsInFileContent
in classAbstractLoaderPane
-
doLoad
protected void doLoad()
- Overrides:
doLoad
in classAbstractLoaderPane
-
updateGUI
void updateGUI(int value)
-
destNodeID
NodeID destNodeID()
Get NodeID from the GUI- Returns:
- selected node id
-
setDestNodeID
void setDestNodeID(NodeID nodeID)
Set NodeID in the GUI
-
setDefaultFieldValues
protected void setDefaultFieldValues()
- Overrides:
setDefaultFieldValues
in classAbstractLoaderPane
-
readFile
public void readFile(java.lang.String filename)
-
parametersAreValid
protected boolean parametersAreValid()
Checks the values in the GUI text boxes to determine if any are invalid. Intended for use immediately after reading a firmware file for the purpose of validating any key/value pairs found in the file. Also intended for use immediately before a "verify" or "download" operation to check that the user has not changed any of the GUI text values to ones that are unsupported.Note that this method cannot guarantee that the values are suitable for the hardware being updated and/or for the particular firmware information which was read from the firmware file.
- Overrides:
parametersAreValid
in classAbstractLoaderPane
- Returns:
- false if one or more GUI text box contains an invalid value
-
-