Package jmri.jmrit.throttle
Class ControlPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JInternalFrame
-
- jmri.jmrit.throttle.ControlPanel
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.beans.PropertyChangeListener,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,javax.swing.RootPaneContainer,javax.swing.WindowConstants,AddressListener
- Direct Known Subclasses:
LearnControlPanel
public class ControlPanel extends javax.swing.JInternalFrame implements java.beans.PropertyChangeListener, AddressListener
A JInternalFrame that contains a JSlider to control loco speed, and buttons for forward, reverse and STOP.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JInternalFrame
javax.swing.JInternalFrame.AccessibleJInternalFrame, javax.swing.JInternalFrame.JDesktopIcon
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_BUTTON_SIZEstatic intSLIDERDISPLAYstatic intSLIDERDISPLAYCONTINUOUSstatic intSTEPDISPLAY(package private) jmri.jmrit.throttle.ControlPanel.MyTranscodertranscoder-
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_PROPERTY
-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description ControlPanel()Constructor.ControlPanel(ThrottleManager tm)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidapplyPreferences()Apply current throttles preferences to this panelvoiddestroy()intgetDisplaySlider()Get the value indicating what speed input we're displayingbooleangetHideSpeedStep()Get status of hiding speed step selectorjavax.swing.JSlidergetSpeedSlider()Provide direct access to speed slider for scripting.java.lang.StringgetSwitchSliderFunction()booleangetTrackSlider()Get status of real-time speed slider trackingorg.jdom2.ElementgetXml()Collect the prefs of this object into XML Element Window prefsbooleanisEnabled()is this enabled?booleanisSpeedControllerAvailable(int displaySlider)Is this Speed Control selection method possible?voidnotifyAddressChosen(LocoAddress l)Receive notification that a new address has been selected.voidnotifyAddressReleased(LocoAddress la)Receive notification that an address has been released/dispatchedvoidnotifyAddressThrottleFound(DccThrottle t)Receive notification that a throttle has been foundvoidnotifyConsistAddressChosen(LocoAddress l)Receive notification that a new Consist address has been selected.voidnotifyConsistAddressReleased(LocoAddress la)Receive notification that a consist address has been released/dispatched.voidnotifyConsistAddressThrottleFound(DccThrottle t)Receive notification that a throttle has been foundvoidpropertyChange(java.beans.PropertyChangeEvent e)voidsaveToRoster(RosterEntry re)voidsetAddressPanel(AddressPanel addressPanel)voidsetEnabled(boolean isEnabled)Enable/Disable all buttons and slider.voidsetForwardDirection(boolean fwd)Intended for throttle scriptingvoidsetHideSpeedStep(boolean hide)Set hiding speed step selector (or not)voidsetSpeedController(int displaySlider)Set the Speed Control selection methodvoidsetSpeedStepsMode(SpeedStepMode speedStepMode)Set the GUI to match the speed steps of the current address.voidsetSwitchSliderFunction(java.lang.String fn)voidsetTrackSlider(boolean track)Set real-time tracking of speed slider, or notvoidsetXml(org.jdom2.Element e)Set the preferences based on the XML Element.voidstop()Perform an emergency stop.-
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, 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, 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, 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, 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, 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, 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, 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
-
-
-
-
Field Detail
-
SLIDERDISPLAY
public static final int SLIDERDISPLAY
- See Also:
- Constant Field Values
-
STEPDISPLAY
public static final int STEPDISPLAY
- See Also:
- Constant Field Values
-
SLIDERDISPLAYCONTINUOUS
public static final int SLIDERDISPLAYCONTINUOUS
- See Also:
- Constant Field Values
-
DEFAULT_BUTTON_SIZE
public static final int DEFAULT_BUTTON_SIZE
- See Also:
- Constant Field Values
-
transcoder
jmri.jmrit.throttle.ControlPanel.MyTranscoder transcoder
-
-
Constructor Detail
-
ControlPanel
public ControlPanel()
Constructor.
-
ControlPanel
public ControlPanel(ThrottleManager tm)
Constructor.- Parameters:
tm- the throttle manager
-
-
Method Detail
-
setAddressPanel
public void setAddressPanel(AddressPanel addressPanel)
-
destroy
public void destroy()
-
setEnabled
public void setEnabled(boolean isEnabled)
Enable/Disable all buttons and slider.- Overrides:
setEnabledin classjavax.swing.JComponent- Parameters:
isEnabled- True if the buttons/slider should be enabled, false otherwise.
-
isEnabled
public boolean isEnabled()
is this enabled?- Overrides:
isEnabledin classjava.awt.Component- Returns:
- true if enabled
-
setSpeedStepsMode
public void setSpeedStepsMode(SpeedStepMode speedStepMode)
Set the GUI to match the speed steps of the current address. Initialises the speed slider and spinner - including setting their maximums based on the speed step setting and the max speed for the particular loco- Parameters:
speedStepMode- Desired speed step mode. One of: SpeedStepMode.NMRA_DCC_128, SpeedStepMode.NMRA_DCC_28, SpeedStepMode.NMRA_DCC_27, SpeedStepMode.NMRA_DCC_14 step mode
-
isSpeedControllerAvailable
public boolean isSpeedControllerAvailable(int displaySlider)
Is this Speed Control selection method possible?- Parameters:
displaySlider- integer value. possible values: SLIDERDISPLAY = use speed slider display STEPDISPLAY = use speed step display- Returns:
- true if speed controller of the selected type is available.
-
setSpeedController
public void setSpeedController(int displaySlider)
Set the Speed Control selection method- Parameters:
displaySlider- integer value. possible values: SLIDERDISPLAY = use speed slider display STEPDISPLAY = use speed step display
-
getDisplaySlider
public int getDisplaySlider()
Get the value indicating what speed input we're displaying- Returns:
- SLIDERDISPLAY, STEPDISPLAY or SLIDERDISPLAYCONTINUOUS
-
getSpeedSlider
public javax.swing.JSlider getSpeedSlider()
Provide direct access to speed slider for scripting.- Returns:
- the speed slider
-
setTrackSlider
public void setTrackSlider(boolean track)
Set real-time tracking of speed slider, or not- Parameters:
track- boolean value, true to track, false to set speed on unclick
-
getTrackSlider
public boolean getTrackSlider()
Get status of real-time speed slider tracking- Returns:
- true if slider is tracking.
-
setHideSpeedStep
public void setHideSpeedStep(boolean hide)
Set hiding speed step selector (or not)- Parameters:
hide- boolean value, true to hide, false to show
-
getHideSpeedStep
public boolean getHideSpeedStep()
Get status of hiding speed step selector- Returns:
- true if speed step selector is hiden.
-
stop
public void stop()
Perform an emergency stop.
-
setForwardDirection
public void setForwardDirection(boolean fwd)
Intended for throttle scripting- Parameters:
fwd- direction: true for forward; false for reverse.
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent e)
- Specified by:
propertyChangein interfacejava.beans.PropertyChangeListener
-
applyPreferences
final void applyPreferences()
Apply current throttles preferences to this panel
-
getXml
public org.jdom2.Element getXml()
Collect the prefs of this object into XML Element- Window prefs
- Returns:
- the XML of this object.
-
setXml
public void setXml(org.jdom2.Element e)
Set the preferences based on the XML Element.- Window prefs
- Parameters:
e- The Element for this object.
-
notifyAddressChosen
public void notifyAddressChosen(LocoAddress l)
Description copied from interface:AddressListenerReceive notification that a new address has been selected.- Specified by:
notifyAddressChosenin interfaceAddressListener- Parameters:
l- The address that is now selected.
-
notifyAddressReleased
public void notifyAddressReleased(LocoAddress la)
Description copied from interface:AddressListenerReceive notification that an address has been released/dispatched- Specified by:
notifyAddressReleasedin interfaceAddressListener- Parameters:
la- The address released/dispatched
-
notifyAddressThrottleFound
public void notifyAddressThrottleFound(DccThrottle t)
Description copied from interface:AddressListenerReceive notification that a throttle has been found- Specified by:
notifyAddressThrottleFoundin interfaceAddressListener- Parameters:
t- The throttle
-
notifyConsistAddressChosen
public void notifyConsistAddressChosen(LocoAddress l)
Description copied from interface:AddressListenerReceive notification that a new Consist address has been selected.- Specified by:
notifyConsistAddressChosenin interfaceAddressListener- Parameters:
l- The address that is now selected.
-
notifyConsistAddressReleased
public void notifyConsistAddressReleased(LocoAddress la)
Description copied from interface:AddressListenerReceive notification that a consist address has been released/dispatched.- Specified by:
notifyConsistAddressReleasedin interfaceAddressListener- Parameters:
la- The address that is now selected.
-
notifyConsistAddressThrottleFound
public void notifyConsistAddressThrottleFound(DccThrottle t)
Description copied from interface:AddressListenerReceive notification that a throttle has been found- Specified by:
notifyConsistAddressThrottleFoundin interfaceAddressListener- Parameters:
t- The throttle
-
setSwitchSliderFunction
public void setSwitchSliderFunction(java.lang.String fn)
-
getSwitchSliderFunction
public java.lang.String getSwitchSliderFunction()
-
saveToRoster
public void saveToRoster(RosterEntry re)
-
-