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 classLoaderPane.DefaultNested 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) Connectionconnection(package private) DatagramServicedcs(package private) byte[]fdata(package private) OlcbInterfaceiface(package private) LoaderClientloaderClient(package private) javax.swing.JCheckBoxlockNode(package private) MemoryConfigurationServicemcsprotected CanSystemConnectionMemomemo(package private) NodeIDnid(package private) NodeSelectornodeSelector(package private) javax.swing.JPanelselectorPane(package private) MemorySpaceSelectorspaceField(package private) MimicNodeStorestore-
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 voidaddChooserFilters(javax.swing.JFileChooser chooser)Add filter(s) for possible types to the input file chooser.protected voidaddOptionsPanel()Include code to add additional options here.(package private) NodeIDdestNodeID()Get NodeID from the GUIprotected voiddoLoad()voiddoRead(javax.swing.JFileChooser chooser)Read file into local memory.java.lang.StringgetHelpTarget()Provide a help target string which an enclosing frame can provide as a help reference.java.lang.StringgetTitle()Provide a recommended title for an enclosing frame.java.lang.StringgetTitle(java.lang.String menuTitle)protected voidhandleOptionsInFileContent(MemoryContents inputContent)voidinitComponents(CanSystemConnectionMemo memo)2nd stage of initialization, invoked after the Constructor is complete.protected booleanparametersAreValid()Checks the values in the GUI text boxes to determine if any are invalid.voidreadFile(java.lang.String filename)protected voidsetDefaultFieldValues()(package private) voidsetDestNodeID(NodeID nodeID)Set NodeID in the GUI(package private) voidupdateGUI(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:CanPanelInterface2nd stage of initialization, invoked after the Constructor is complete.This needs to be connected to the initContext() method in implementing classes.
- Specified by:
initComponentsin interfaceCanPanelInterface- Parameters:
memo- system connection.
-
addChooserFilters
protected void addChooserFilters(javax.swing.JFileChooser chooser)
Description copied from class:AbstractLoaderPaneAdd filter(s) for possible types to the input file chooser.- Overrides:
addChooserFiltersin classAbstractLoaderPane- Parameters:
chooser- the file chooser to add filter(s) to
-
doRead
public void doRead(javax.swing.JFileChooser chooser)
Description copied from class:AbstractLoaderPaneRead file into local memory.- Overrides:
doReadin classAbstractLoaderPane- Parameters:
chooser- chooser to select the file to read from
-
getHelpTarget
public java.lang.String getHelpTarget()
Description copied from class:AbstractLoaderPaneProvide 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:
getHelpTargetin classAbstractLoaderPane- Returns:
- the target String
-
getTitle
public java.lang.String getTitle()
Description copied from class:JmriPanelProvide a recommended title for an enclosing frame.
-
addOptionsPanel
protected void addOptionsPanel()
Description copied from class:AbstractLoaderPaneInclude code to add additional options here. By convention, if you include visible options, follow with a JSeparator.- Overrides:
addOptionsPanelin classAbstractLoaderPane
-
handleOptionsInFileContent
protected void handleOptionsInFileContent(MemoryContents inputContent)
- Overrides:
handleOptionsInFileContentin classAbstractLoaderPane
-
doLoad
protected void doLoad()
- Overrides:
doLoadin 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:
setDefaultFieldValuesin 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:
parametersAreValidin classAbstractLoaderPane- Returns:
- false if one or more GUI text box contains an invalid value
-
-