Package jmri.jmrix
Class AbstractLoaderPane
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
jmri.util.swing.JmriPanel
jmri.jmrix.AbstractLoaderPane
- All Implemented Interfaces:
ActionListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible
- Direct Known Subclasses:
LoaderPane,LoaderPane
Pane for downloading .hex files and .dmf files to those LocoNet devices which
support firmware updates via LocoNet IPL messages.
This version relies on the file contents interpretation mechanisms built into
the readHex() methods found in class jmri.jmrit.MemoryContents to
automatically interpret the file's addressing type - either 16-bit or 24-bit
addressing. The interpreted addressing type is reported in the pane after a
file is read. The user cannot select the addressing type.
This version relies on the file contents checking mechanisms built into the
readHex() methods found in class jmri.jmrit.MemoryContents to check for a
wide variety of possible issues in the contents of the firmware update file.
Any exception thrown by at method is used to select an error message to
display in the status line of the pane.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected JButtonprotected boolean(package private) JRadioButton(package private) JRadioButtonprotected ButtonGroupprotected JProgressBarprotected MemoryContents(package private) JLabel(package private) JPanelprotected JButtonprotected JButtonprotected JLabelprotected JButtonFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected voidaddChooserFilters(JFileChooser chooser) Add filter(s) for possible types to the input file chooser.protected voidInclude code to add additional options here.voidprotected voidCleans up the GUI interface after a firmware file read fails.protected voiddoLoad()protected voiddoRead(JFileChooser chooser) Read file into local memory.protected voiddoVerify()protected voidCleans up the GUI interface.abstract StringProvide a help target string which an enclosing frame can provide as a help reference.protected voidhandleOptionsInFileContent(MemoryContents inputContent) void2nd stage of initialization, invoked after the constructor is complete.protected booleanintParameterIsValid(JTextField jtf, int minOk, int maxOk) protected booleanprotected booleanChecks the values in the GUI text boxes to determine if any are invalid.protected voidprotected voidsetOperationAborted(boolean state) protected voidConditionally enables or disables the Download and Verify GUI buttons based on the validity of the parameter values in the GUI and the state of the memory contents object.Methods inherited from class jmri.util.swing.JmriPanel
dispose, getMenus, getMinimumDimension, getTitle, getWindowInterface, initContext, isMultipleInstances, setWindowInterfaceMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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 Details
-
inputFileName
-
selectButton
-
loadButton
-
verifyButton
-
abortButton
-
address24bit
-
address16bit
-
addressSizeButtonGroup
-
bar
-
status
-
inputFileNamePanel
-
inputContent
-
abortOperation
-
-
Constructor Details
-
AbstractLoaderPane
public AbstractLoaderPane()
-
-
Method Details
-
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:
getHelpTargetin classJmriPanel- Returns:
- the target String
-
addOptionsPanel
Include code to add additional options here. By convention, if you include visible options, follow with a JSeparator. -
initComponents
2nd stage of initialization, invoked after the constructor is complete.- Overrides:
initComponentsin classJmriPanel
-
addChooserFilters
Add filter(s) for possible types to the input file chooser.- Parameters:
chooser- the file chooser to add filter(s) to
-
handleOptionsInFileContent
-
doRead
Read file into local memory.- Parameters:
chooser- chooser to select the file to read from
-
doLoad
-
doVerify
-
enableDownloadVerifyButtons
Cleans up the GUI interface. Updates status line to a localized "done" message or a localized "aborted" message depending on the value returned by isOperationAborted() . Assumes that the file was properly read to memory and is usable for firmware update and/or verify operations, and configures the Load, and Verify GUI buttons as enabled, and the Abort GUI button as disabled. -
disableDownloadVerifyButtons
Cleans up the GUI interface after a firmware file read fails. Assumes that the invoking code will update the GUI status line as appropriate for the particular cause of failure. Configures the Load, Verify and Abort GUI buttons as disabled. -
setOperationAborted
-
isOperationAborted
-
setDefaultFieldValues
-
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.- Returns:
- false if one or more GUI text box contains an invalid value
-
intParameterIsValid
-
updateDownloadVerifyButtons
Conditionally enables or disables the Download and Verify GUI buttons based on the validity of the parameter values in the GUI and the state of the memory contents object. -
clearInputFileName
-
actionPerformed
- Specified by:
actionPerformedin interfaceActionListener
-