Package jmri.jmrit.symbolicprog
Class CombinedLocoSelListPane
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
jmri.util.swing.JmriPanel
jmri.jmrit.symbolicprog.LocoSelPane
jmri.jmrit.symbolicprog.CombinedLocoSelPane
jmri.jmrit.symbolicprog.CombinedLocoSelListPane
- All Implemented Interfaces:
ImageObserver,MenuContainer,PropertyChangeListener,Serializable,EventListener,Accessible
Provide GUI controls to select a known loco and/or new decoder.
This is an extension of the CombinedLocoSelPane class to use a JList instead of a JComboBox for the decoder selection. Also, this uses separate JLists for manufacturer and decoder model. The loco selection (Roster manipulation) parts are unchanged.
The JComboBox implementation always had to have selected entries, so we added dummy "select from .." items at the top and used those to indicate that there was no selection in that box. Here, the lack of a selection indicates there's no selection.
- 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 TypeFieldDescription(package private) ListSelectionListener(package private) ListSelectionListenerFields inherited from class jmri.jmrit.symbolicprog.CombinedLocoSelPane
_statusLabel, go2, iddecoder, idloco, locoBox, programmerBox, selectorFields 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 TypeMethodDescription(package private) booleanHas the user selected a decoder type, either manually or via a successful event?protected JPanelCreate the panel used to select the decoder(package private) voidlistDecodersFromMfg(int pMfgID, String pMfg) protected StringConvert the decoder selection UI result into a name.(package private) voidSet the decoder selection to a specific decoder from a selected Loco(package private) voidupdateForDecoderMfgID(String pMfg, int pMfgID, int pModelID) Decoder identify has not matched specific types, but did find manufacturer match(package private) voidupdateForDecoderNotID(int pMfgID, int pModelID) Decoder identify did not match anything, warn and show all(package private) voidupdateForDecoderTypeID(List<DecoderFile> pModelList) Decoder identify has matched one or more specific types(package private) voidupdateMfgListContents(String specific) Update the contents of the manufacturer list to make sure it contains a specific value.(package private) voidForce the manufacturer list to select the mfg of the currently selected decoder.(package private) voidSet a selection in the manufacturer list, without triggering an update of the decoder panel.Methods inherited from class jmri.jmrit.symbolicprog.CombinedLocoSelPane
addDecoderIdentButton, createProgrammerSelection, init, layoutRosterSelection, openButton, openKnownLoco, openNewLoco, propertyChange, selectDecoder, selectLoco, startIdentifyDecoder, startIdentifyLoco, startProgrammerMethods inherited from class jmri.util.swing.JmriPanel
dispose, getHelpTarget, getMenus, getMinimumDimension, getTitle, getWindowInterface, initComponents, 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
-
mDecoderList
-
mDecoderListener
-
mMfgList
-
mMfgListener
-
-
Constructor Details
-
CombinedLocoSelListPane
-
-
Method Details
-
layoutDecoderSelection
Create the panel used to select the decoder- Overrides:
layoutDecoderSelectionin classCombinedLocoSelPane- Returns:
- a JPanel for handling the decoder-selection GUI
-
updateMfgListContents
Update the contents of the manufacturer list to make sure it contains a specific value. Normally the list does not contain mfgs with no defined decoders; this allows you to also show a specific mfg that's of interest, even though there's no definitions for it. This is protected against invoking any listeners, as the change is meant to be transparent; the original selection is set back.- Parameters:
specific- The value to update
-
updateMfgListToSelectedDecoder
Force the manufacturer list to select the mfg of the currently selected decoder. Note that this is complicated by the need to not trigger an update of the decoder list. -
updateMfgListWithoutTrigger
Set a selection in the manufacturer list, without triggering an update of the decoder panel.- Parameters:
mfg- Selected manufacturer code
-
updateForDecoderTypeID
Decoder identify has matched one or more specific types- Overrides:
updateForDecoderTypeIDin classCombinedLocoSelPane- Parameters:
pModelList- a list of decoders
-
updateForDecoderMfgID
Decoder identify has not matched specific types, but did find manufacturer match- Overrides:
updateForDecoderMfgIDin classCombinedLocoSelPane- Parameters:
pMfg- Manufacturer name. This is passed to save time, as it has already been determined once.pMfgID- Manufacturer ID number (CV8)pModelID- Model ID number (CV7)
-
listDecodersFromMfg
-
updateForDecoderNotID
Decoder identify did not match anything, warn and show all- Overrides:
updateForDecoderNotIDin classCombinedLocoSelPane- Parameters:
pMfgID- Manufacturer ID number (CV8)pModelID- Model ID number (CV7)
-
setDecoderSelectionFromLoco
Set the decoder selection to a specific decoder from a selected Loco- Overrides:
setDecoderSelectionFromLocoin classCombinedLocoSelPane- Parameters:
loco- the loco name
-
isDecoderSelected
boolean isDecoderSelected()Has the user selected a decoder type, either manually or via a successful event?- Overrides:
isDecoderSelectedin classCombinedLocoSelPane- Returns:
- true if a decoder type is selected
-
selectedDecoderType
Convert the decoder selection UI result into a name.- Overrides:
selectedDecoderTypein classCombinedLocoSelPane- Returns:
- The selected decoder type name, or null if none selected.
-