Package jmri.jmrit.throttle
Class AddressPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JInternalFrame
jmri.jmrit.throttle.AddressPanel
- All Implemented Interfaces:
ImageObserver,MenuContainer,PropertyChangeListener,Serializable,EventListener,Accessible,RootPaneContainer,WindowConstants,ThrottleListener
public class AddressPanel
extends JInternalFrame
implements ThrottleListener, PropertyChangeListener
A JInternalFrame that provides a way for the user to enter a decoder address.
This class also store AddressListeners and notifies them when the user enters
a new address.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JInternalFrame
JInternalFrame.AccessibleJInternalFrame, JInternalFrame.JDesktopIconNested 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.FlipBufferStrategyNested classes/interfaces inherited from interface jmri.ThrottleListener
ThrottleListener.DecisionType -
Field Summary
Fields inherited from class javax.swing.JInternalFrame
closable, CONTENT_PANE_PROPERTY, desktopIcon, FRAME_ICON_PROPERTY, frameIcon, GLASS_PANE_PROPERTY, iconable, IS_CLOSED_PROPERTY, IS_ICON_PROPERTY, IS_MAXIMUM_PROPERTY, IS_SELECTED_PROPERTY, isClosed, isIcon, isMaximum, isSelected, LAYERED_PANE_PROPERTY, maximizable, MENU_BAR_PROPERTY, resizable, ROOT_PANE_PROPERTY, rootPane, rootPaneCheckingEnabled, title, TITLE_PROPERTYFields 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, WIDTHFields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd an AddressListener.(package private) voidvoiddestroy()voidDispatch the current address for use by other throttlesGet the selected Consist if there's one for this throttle.Get the RosterEntry if there's one for this throttle.intGets the selected index of the roster combo box.org.jdom2.ElementgetXml()Create an Element of this object's preferences.voidGet notification that a consist throttle has been found as we requested.voidnotifyDecisionRequired(LocoAddress address, ThrottleListener.DecisionType question) A decision is required for Throttle creation to continue.voidnotifyFailedThrottleRequest(LocoAddress address, String reason) Get notification that an attempt to request a throttle has failed.voidReceive notification that an address has been release or dispatched.voidGet notification that a throttle has been found as we requested.protected voidOpen a programmer for this addressvoidvoidRelease the current address.voidRemove an AddressListener.void"Sets" the current roster entry.voidsetAddress(int number, boolean isLong) set the currently used decoder address and initiate a throttle request (same as setCurrentAddress) if a consist address is already set, this address will be used only for functionsvoidvoidsetConsistAddress(DccLocoAddress consistAddress) set the currently used consist address and initiate a throttle requestvoidsetCurrentAddress(DccLocoAddress currentAddress) set the currently used decoder address and initiate a throttle request if a consist address is already set, this address will be used only for functionsvoidsetRosterEntry(RosterEntry entry) Set the RosterEntry for this throttle and initiate a throttle requestvoidsetRosterSelectedIndex(int index) Sets the selected index of the roster combo box.voidsetXml(org.jdom2.Element e) Use the Element passed to initialize based on user prefs.Methods inherited from class javax.swing.JInternalFrame
addImpl, addInternalFrameListener, createRootPane, dispose, doDefaultCloseAction, fireInternalFrameEvent, getAccessibleContext, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getFocusCycleRootAncestor, getFocusOwner, getFrameIcon, getGlassPane, getInternalFrameListeners, getJMenuBar, getLastCursor, getLayer, getLayeredPane, getMenuBar, getMostRecentFocusOwner, getNormalBounds, getRootPane, getTitle, getUI, getUIClassID, getWarningString, hide, isClosable, isClosed, isFocusCycleRoot, isIcon, isIconifiable, isMaximizable, isMaximum, isResizable, isRootPaneCheckingEnabled, isSelected, moveToBack, moveToFront, pack, paintComponent, paramString, remove, removeInternalFrameListener, reshape, restoreSubcomponentFocus, setClosable, setClosed, setContentPane, setCursor, setDefaultCloseOperation, setDesktopIcon, setFocusCycleRoot, setFrameIcon, setGlassPane, setIcon, setIconifiable, setJMenuBar, setLayer, setLayer, setLayeredPane, setLayout, setMaximizable, setMaximum, setMenuBar, setNormalBounds, setResizable, setRootPane, setRootPaneCheckingEnabled, setSelected, setTitle, setUI, show, toBack, toFront, 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, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, 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, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
AddressPanel
Constructor- Parameters:
throttleManager- the throttle manager
-
-
Method Details
-
destroy
-
addAddressListener
Add an AddressListener. AddressListeners are notified when the user selects a new address and when a Throttle is acquired for that address- Parameters:
l- listener to add.
-
removeAddressListener
Remove an AddressListener.- Parameters:
l- listener to remove.
-
getRosterSelectedIndex
Gets the selected index of the roster combo box. Implemented to support xboxThrottle.py- Returns:
- the selected index of the roster combo box
-
setRosterSelectedIndex
Sets the selected index of the roster combo box. Implemented to support xboxThrottle.py This method temporarily disables roster box actions so it can change the selected index without triggering a cascade of events.- Parameters:
index- the index to select in the combo box
-
setBackgroundPanel
-
selectRosterEntry
"Sets" the current roster entry. Equivalent to the user pressing the "Set" button. Implemented to support xboxThrottle.py -
notifyThrottleFound
Get notification that a throttle has been found as we requested.- Specified by:
notifyThrottleFoundin interfaceThrottleListener- Parameters:
t- An instantiation of the DccThrottle with the address requested.
-
notifyFailedThrottleRequest
Description copied from interface:ThrottleListenerGet notification that an attempt to request a throttle has failed.- Specified by:
notifyFailedThrottleRequestin interfaceThrottleListener- Parameters:
address- address of the failed requestreason- failure cause
-
notifyDecisionRequired
A decision is required for Throttle creation to continue.Steal / Cancel, Share / Cancel, or Steal / Share Cancel
- Specified by:
notifyDecisionRequiredin interfaceThrottleListener- Parameters:
address- The LocoAddress that needs the decision.question- The question being asked, steal / cancel, share / cancel, steal / share / cancel
-
notifyConsistThrottleFound
Get notification that a consist throttle has been found as we requested.- Parameters:
t- An instantiation of the DccThrottle with the address requested.
-
notifyThrottleDisposed
Receive notification that an address has been release or dispatched. -
getRosterEntry
Get the RosterEntry if there's one for this throttle.- Returns:
- RosterEntry or null
-
getConsistEntry
Get the selected Consist if there's one for this throttle.- Returns:
- Consist or null
-
setRosterEntry
Set the RosterEntry for this throttle and initiate a throttle request- Parameters:
entry- roster entry to set.
-
openProgrammer
Open a programmer for this address -
dispatchAddress
Dispatch the current address for use by other throttles -
releaseAddress
Release the current address. -
getXml
Create an Element of this object's preferences.- Window Preferences
- Address value
- Returns:
- org.jdom2.Element for this objects preferences. Defined in DTD/throttle-config
-
setXml
Use the Element passed to initialize based on user prefs.- Parameters:
e- The Element containing prefs as defined in DTD/throttle-config
-
getRosterEntrySelector
- Returns:
- the RosterEntrySelectorPanel
-
getThrottle
- Returns:
- the curently assigned motor throttle for regular locomotives or consist
-
getFunctionThrottle
- Returns:
- the curently assigned function throttle for regular locomotives or consist
-
getCurrentAddress
- Returns:
- the currently used decoder address
-
setCurrentAddress
set the currently used decoder address and initiate a throttle request if a consist address is already set, this address will be used only for functions- Parameters:
currentAddress- the address to use
-
setAddress
set the currently used decoder address and initiate a throttle request (same as setCurrentAddress) if a consist address is already set, this address will be used only for functions- Parameters:
number- the addressisLong- long/short (true/false) address
-
getConsistAddress
- Returns:
- the current consist address if any
-
setConsistAddress
set the currently used consist address and initiate a throttle request- Parameters:
consistAddress- the consist address to use
-
propertyChange
- Specified by:
propertyChangein interfacePropertyChangeListener
-
applyPreferences
void applyPreferences()
-