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 int
DEFAULT_BUTTON_SIZE
static int
SLIDERDISPLAY
static int
SLIDERDISPLAYCONTINUOUS
static int
STEPDISPLAY
(package private) jmri.jmrit.throttle.ControlPanel.MyTranscoder
transcoder
-
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) void
applyPreferences()
Apply current throttles preferences to this panelvoid
destroy()
int
getDisplaySlider()
Get the value indicating what speed input we're displayingboolean
getHideSpeedStep()
Get status of hiding speed step selectorjavax.swing.JSlider
getSpeedSlider()
Provide direct access to speed slider for scripting.java.lang.String
getSwitchSliderFunction()
boolean
getTrackSlider()
Get status of real-time speed slider trackingorg.jdom2.Element
getXml()
Collect the prefs of this object into XML Element Window prefsboolean
isEnabled()
is this enabled?boolean
isSpeedControllerAvailable(int displaySlider)
Is this Speed Control selection method possible?void
notifyAddressChosen(LocoAddress l)
Receive notification that a new address has been selected.void
notifyAddressReleased(LocoAddress la)
Receive notification that an address has been released/dispatchedvoid
notifyAddressThrottleFound(DccThrottle t)
Receive notification that a throttle has been foundvoid
notifyConsistAddressChosen(LocoAddress l)
Receive notification that a new Consist address has been selected.void
notifyConsistAddressReleased(LocoAddress la)
Receive notification that a consist address has been released/dispatched.void
notifyConsistAddressThrottleFound(DccThrottle t)
Receive notification that a throttle has been foundvoid
propertyChange(java.beans.PropertyChangeEvent e)
void
saveToRoster(RosterEntry re)
void
setAddressPanel(AddressPanel addressPanel)
void
setEnabled(boolean isEnabled)
Enable/Disable all buttons and slider.void
setForwardDirection(boolean fwd)
Intended for throttle scriptingvoid
setHideSpeedStep(boolean hide)
Set hiding speed step selector (or not)void
setSpeedController(int displaySlider)
Set the Speed Control selection methodvoid
setSpeedStepsMode(SpeedStepMode speedStepMode)
Set the GUI to match the speed steps of the current address.void
setSwitchSliderFunction(java.lang.String fn)
void
setTrackSlider(boolean track)
Set real-time tracking of speed slider, or notvoid
setXml(org.jdom2.Element e)
Set the preferences based on the XML Element.void
stop()
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:
setEnabled
in classjavax.swing.JComponent
- Parameters:
isEnabled
- True if the buttons/slider should be enabled, false otherwise.
-
isEnabled
public boolean isEnabled()
is this enabled?- Overrides:
isEnabled
in 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:
propertyChange
in 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:AddressListener
Receive notification that a new address has been selected.- Specified by:
notifyAddressChosen
in interfaceAddressListener
- Parameters:
l
- The address that is now selected.
-
notifyAddressReleased
public void notifyAddressReleased(LocoAddress la)
Description copied from interface:AddressListener
Receive notification that an address has been released/dispatched- Specified by:
notifyAddressReleased
in interfaceAddressListener
- Parameters:
la
- The address released/dispatched
-
notifyAddressThrottleFound
public void notifyAddressThrottleFound(DccThrottle t)
Description copied from interface:AddressListener
Receive notification that a throttle has been found- Specified by:
notifyAddressThrottleFound
in interfaceAddressListener
- Parameters:
t
- The throttle
-
notifyConsistAddressChosen
public void notifyConsistAddressChosen(LocoAddress l)
Description copied from interface:AddressListener
Receive notification that a new Consist address has been selected.- Specified by:
notifyConsistAddressChosen
in interfaceAddressListener
- Parameters:
l
- The address that is now selected.
-
notifyConsistAddressReleased
public void notifyConsistAddressReleased(LocoAddress la)
Description copied from interface:AddressListener
Receive notification that a consist address has been released/dispatched.- Specified by:
notifyConsistAddressReleased
in interfaceAddressListener
- Parameters:
la
- The address that is now selected.
-
notifyConsistAddressThrottleFound
public void notifyConsistAddressThrottleFound(DccThrottle t)
Description copied from interface:AddressListener
Receive notification that a throttle has been found- Specified by:
notifyConsistAddressThrottleFound
in 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)
-
-