jmri.jmrit.symbolicprog
Class CombinedLocoSelPane

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by jmri.util.swing.JmriPanel
                      extended by jmri.jmrit.symbolicprog.LocoSelPane
                          extended by jmri.jmrit.symbolicprog.CombinedLocoSelPane
All Implemented Interfaces:
ImageObserver, MenuContainer, PropertyChangeListener, Serializable, EventListener, Accessible
Direct Known Subclasses:
CombinedLocoSelListPane, CombinedLocoSelTreePane

public class CombinedLocoSelPane
extends LocoSelPane
implements PropertyChangeListener

Provide GUI controls to select a known loco and/or new decoder.

When the "open programmer" button is pushed, i.e. the user is ready to continue, the startProgrammer method is invoked. This should be overridden (e.g. in a local anonymous class) to create the programmer frame you're interested in.

To overide this class to use a different decoder-selection GUI, replace members:

On MacOS Classic, this class was causing a problem with multiple initialization of the programmer file default. See ProgDefault and ProgrammerConfigPaneXml for further information.

Author:
Bob Jacobsen Copyright (C) 2001, 2002
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  JButton go2
           
protected  JToggleButton iddecoder
           
protected  JToggleButton idloco
           
protected  JComboBox locoBox
           
protected  JComboBox programmerBox
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
CombinedLocoSelPane()
           
CombinedLocoSelPane(JLabel s)
           
 
Method Summary
protected  JPanel createProgrammerSelection()
           
protected  void init()
          Initialize the GUI
protected  JPanel layoutDecoderSelection()
          Create the panel used to select the decoder
protected  JPanel layoutRosterSelection()
          Create the panel used to select an existing entry
protected  void openButton()
          handle pushing the open programmer button by finding names, then calling a template method
protected  void openKnownLoco()
          Start with a locomotive selected, so we're opening an existing RosterEntry.
protected  void openNewLoco()
          Start with a decoder selected, so we're going to create a new RosterEntry.
 void propertyChange(PropertyChangeEvent ev)
          Notification that the Roster has changed, so the locomotive selection list has to be changed.
protected  void selectDecoder(int mfgID, int modelID, int productID)
          Identify decoder complete, act on it by setting the GUI This will fire "GUI changed" events which will reset the locomotive GUI.
protected  void selectLoco(int dccAddress)
          Identify locomotive complete, act on it by setting the GUI.
protected  void startIdentifyDecoder()
          Identify loco button pressed, start the identify operation.
protected  void startIdentifyLoco()
          Identify loco button pressed, start the identify operation This defines what happens when the identify is done.
protected  void startProgrammer(DecoderFile decoderFile, RosterEntry r, String progName)
          meant to be overridden to start the desired type of programmer
 
Methods inherited from class jmri.util.swing.JmriPanel
dispose, getHelpTarget, getMenus, getTitle, getWindowInterface, initComponents, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

locoBox

protected JComboBox locoBox

programmerBox

protected JComboBox programmerBox

iddecoder

protected JToggleButton iddecoder

idloco

protected JToggleButton idloco

go2

protected JButton go2
Constructor Detail

CombinedLocoSelPane

public CombinedLocoSelPane(JLabel s)

CombinedLocoSelPane

public CombinedLocoSelPane()
Method Detail

layoutDecoderSelection

protected JPanel layoutDecoderSelection()
Create the panel used to select the decoder

Returns:
a JPanel for handling the decoder-selection GUI

layoutRosterSelection

protected JPanel layoutRosterSelection()
Create the panel used to select an existing entry

Returns:
a JPanel for handling the entry-selection GUI

init

protected void init()
Initialize the GUI


createProgrammerSelection

protected JPanel createProgrammerSelection()

startIdentifyLoco

protected void startIdentifyLoco()
Identify loco button pressed, start the identify operation This defines what happens when the identify is done.


startIdentifyDecoder

protected void startIdentifyDecoder()
Identify loco button pressed, start the identify operation. This defines what happens when the identify is done.


propertyChange

public void propertyChange(PropertyChangeEvent ev)
Notification that the Roster has changed, so the locomotive selection list has to be changed.

Specified by:
propertyChange in interface PropertyChangeListener
Parameters:
ev - Ignored.

selectLoco

protected void selectLoco(int dccAddress)
Identify locomotive complete, act on it by setting the GUI. This will fire "GUI changed" events which will reset the decoder GUI.

Parameters:
dccAddress -

selectDecoder

protected void selectDecoder(int mfgID,
                             int modelID,
                             int productID)
Identify decoder complete, act on it by setting the GUI This will fire "GUI changed" events which will reset the locomotive GUI.

Parameters:
mfgID - the decoder's manufacturer ID value from CV8
modelID - the decoder's model ID value from CV7
productID - the decoder's product ID

openButton

protected void openButton()
handle pushing the open programmer button by finding names, then calling a template method


openKnownLoco

protected void openKnownLoco()
Start with a locomotive selected, so we're opening an existing RosterEntry.


openNewLoco

protected void openNewLoco()
Start with a decoder selected, so we're going to create a new RosterEntry.


startProgrammer

protected void startProgrammer(DecoderFile decoderFile,
                               RosterEntry r,
                               String progName)
meant to be overridden to start the desired type of programmer



Copyright © 1997 - 2011 JMRI Community.
JMRI, DecoderPro, PanelPro, SoundPro, DispatcherPro and associated logos are our trademarks.

Additional information on copyright, trademarks and licenses is linked here.
Site hosted by: Get JMRI Model Railroad Interface at SourceForge.net. Fast, secure and Free Open Source software downloads