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.loconet.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,- LnPanelInterface
 
 public class LoaderPane extends AbstractLoaderPane implements LnPanelInterface 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:
- Serialized Form
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class javax.swing.JPaneljavax.swing.JPanel.AccessibleJPanel
 - 
Nested classes/interfaces inherited from class javax.swing.JComponentjavax.swing.JComponent.AccessibleJComponent
 
- 
 - 
Field SummaryFields Modifier and Type Field Description (package private) javax.swing.JTextFieldbootload(package private) javax.swing.JRadioButtoncheckhardwareexact(package private) javax.swing.JRadioButtoncheckhardwaregreater(package private) javax.swing.JRadioButtoncheckhardwareno(package private) javax.swing.JRadioButtonchecksoftwareless(package private) javax.swing.JRadioButtonchecksoftwareno(package private) javax.swing.JTextFielddelay(package private) intdelayval(package private) javax.swing.JTextFielddeveloper(package private) javax.swing.JTextFieldeestart(package private) inteestartval(package private) intendaddr(package private) javax.swing.JTextFielderaseBlockSize(package private) javax.swing.ButtonGrouphardgroup(package private) javax.swing.JTextFieldhardwareprotected LocoNetSystemConnectionMemomemoLnPanelInterface implementation makes "memo" object available as convenience(package private) javax.swing.JTextFieldmfg(package private) javax.swing.JTextFieldproduct(package private) static intPXCT2ENDOPERATION(package private) static intPXCT2SENDADDRESS(package private) static intPXCT2SENDDATA(package private) static intPXCT2SETUP(package private) static intPXCT2VERIFYDATA(package private) javax.swing.ButtonGroupsoftgroup(package private) javax.swing.JTextFieldsoftware(package private) intstartaddr- 
Fields inherited from class jmri.jmrix.AbstractLoaderPaneabortButton, abortOperation, addressSizeButtonGroup, bar, inputContent, loadButton, selectButton, status, verifyButton
 - 
Fields inherited from class javax.swing.JComponentlistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
- 
 - 
Constructor SummaryConstructors Constructor Description LoaderPane()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent e)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.protected voiddoLoad()protected voiddoVerify()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)LnPanelInterface implementation creates standard form of title.protected voidhandleOptionsInFileContent(MemoryContents inputContent)voidinitComponents()This gets invoked early.voidinitComponents(LocoNetSystemConnectionMemo memo)2nd stage of initialization, invoked after the constructor is complete.voidinitContext(java.lang.Object context)3rd stage of initialization, invoked after Swing components exist.protected booleanparametersAreValid()Checks the values in the GUI text boxes to determine if any are invalid.(package private) voidsendOne(int pxct2, int d1, int d2, int d3, int d4, int d5, int d6, int d7, int d8)protected voidsetDefaultFieldValues()protected voidupdateDownloadVerifyButtons()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.- 
Methods inherited from class jmri.jmrix.AbstractLoaderPaneclearInputFileName, disableDownloadVerifyButtons, doRead, enableDownloadVerifyButtons, intParameterIsValid, isOperationAborted, setOperationAborted
 - 
Methods inherited from class jmri.util.swing.JmriPaneldispose, getMenus, getMinimumDimension, getWindowInterface, isMultipleInstances, setWindowInterface
 - 
Methods inherited from class javax.swing.JPanelgetAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 - 
Methods inherited from class javax.swing.JComponentaddAncestorListener, 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.Containeradd, 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.Componentaction, 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- 
memoprotected LocoNetSystemConnectionMemo memo LnPanelInterface implementation makes "memo" object available as convenience
 - 
bootloadjavax.swing.JTextField bootload 
 - 
mfgjavax.swing.JTextField mfg 
 - 
developerjavax.swing.JTextField developer 
 - 
productjavax.swing.JTextField product 
 - 
hardwarejavax.swing.JTextField hardware 
 - 
softwarejavax.swing.JTextField software 
 - 
delayjavax.swing.JTextField delay 
 - 
eestartjavax.swing.JTextField eestart 
 - 
eraseBlockSizejavax.swing.JTextField eraseBlockSize 
 - 
checkhardwarenojavax.swing.JRadioButton checkhardwareno 
 - 
checkhardwareexactjavax.swing.JRadioButton checkhardwareexact 
 - 
checkhardwaregreaterjavax.swing.JRadioButton checkhardwaregreater 
 - 
hardgroupjavax.swing.ButtonGroup hardgroup 
 - 
checksoftwarenojavax.swing.JRadioButton checksoftwareno 
 - 
checksoftwarelessjavax.swing.JRadioButton checksoftwareless 
 - 
softgroupjavax.swing.ButtonGroup softgroup 
 - 
PXCT2SETUPstatic int PXCT2SETUP 
 - 
PXCT2SENDADDRESSstatic int PXCT2SENDADDRESS 
 - 
PXCT2SENDDATAstatic int PXCT2SENDDATA 
 - 
PXCT2VERIFYDATAstatic int PXCT2VERIFYDATA 
 - 
PXCT2ENDOPERATIONstatic int PXCT2ENDOPERATION 
 - 
startaddrint startaddr 
 - 
endaddrint endaddr 
 - 
delayvalint delayval 
 - 
eestartvalint eestartval 
 
- 
 - 
Constructor Detail- 
LoaderPanepublic LoaderPane() 
 
- 
 - 
Method Detail- 
initContextpublic void initContext(java.lang.Object context) 3rd stage of initialization, invoked after Swing components exist.- Overrides:
- initContextin class- JmriPanel
- Parameters:
- context- the context that this panel may be initialized with
 
 - 
initComponentspublic void initComponents() This gets invoked early. We don't want it to do anything, so we just fail to pass it up. Instead, we wait for the later call of initComponents(LocoNetSystemConnectionMemo memo)- Overrides:
- initComponentsin class- AbstractLoaderPane
 
 - 
initComponentspublic 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:
- initComponentsin interface- LnPanelInterface
- Parameters:
- memo- a- LocoNetSystemConnectionMemoobject
 
 - 
getTitlepublic java.lang.String getTitle(java.lang.String menuTitle) LnPanelInterface implementation creates standard form of title.- Parameters:
- menuTitle- is a string containing the name of the tool
- Returns:
- a new string containing the connection's UserName plus the name of the tool
 
 - 
getHelpTargetpublic 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 class- AbstractLoaderPane
- Returns:
- the target String
 
 - 
getTitlepublic java.lang.String getTitle() Description copied from class:JmriPanelProvide a recommended title for an enclosing frame.
 - 
addOptionsPanelprotected 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 class- AbstractLoaderPane
 
 - 
handleOptionsInFileContentprotected void handleOptionsInFileContent(MemoryContents inputContent) - Overrides:
- handleOptionsInFileContentin class- AbstractLoaderPane
 
 - 
addChooserFiltersprotected void addChooserFilters(javax.swing.JFileChooser chooser) Add filter(s) for possible types to the input file chooser.- Overrides:
- addChooserFiltersin class- AbstractLoaderPane
- Parameters:
- chooser- a JFileChooser to which the filter is to be added
 
 - 
doLoadprotected void doLoad() - Overrides:
- doLoadin class- AbstractLoaderPane
 
 - 
doVerifyprotected void doVerify() - Overrides:
- doVerifyin class- AbstractLoaderPane
 
 - 
sendOnevoid sendOne(int pxct2, int d1, int d2, int d3, int d4, int d5, int d6, int d7, int d8) 
 - 
setDefaultFieldValuesprotected void setDefaultFieldValues() - Overrides:
- setDefaultFieldValuesin class- AbstractLoaderPane
 
 - 
parametersAreValidprotected 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 class- AbstractLoaderPane
- Returns:
- false if one or more GUI text box contains an invalid value
 
 - 
updateDownloadVerifyButtonsprotected void 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.- Overrides:
- updateDownloadVerifyButtonsin class- AbstractLoaderPane
 
 - 
actionPerformedpublic void actionPerformed(java.awt.event.ActionEvent e) Description copied from class:AbstractLoaderPane- Specified by:
- actionPerformedin interface- java.awt.event.ActionListener
- Overrides:
- actionPerformedin class- AbstractLoaderPane
 
 
- 
 
-