Package jmri.jmrit.throttle
Class FunctionPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JInternalFrame
-
- jmri.jmrit.throttle.FunctionPanel
-
- 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
,FunctionListener
- Direct Known Subclasses:
LearnFunctionPanel
public class FunctionPanel extends javax.swing.JInternalFrame implements FunctionListener, java.beans.PropertyChangeListener, AddressListener
A JInternalFrame that contains buttons for each decoder function.- 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 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 FunctionPanel()
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
applyPreferences()
Apply preferences + global throttles preferences + this throttle settings if anyvoid
destroy()
FunctionButton[]
getFunctionButtons()
org.jdom2.Element
getXml()
Collect the prefs of this object into XML Element.void
notifyAddressChosen(LocoAddress l)
Ignored.void
notifyAddressReleased(LocoAddress la)
Receive notification that an address has been released/dispatchedvoid
notifyAddressThrottleFound(DccThrottle t)
Get notification that a throttle has been found as we requested.void
notifyConsistAddressChosen(LocoAddress l)
Ignored.void
notifyConsistAddressReleased(LocoAddress la)
Ignored.void
notifyConsistAddressThrottleFound(DccThrottle t)
Ignored.void
notifyFunctionLockableChanged(int functionNumber, boolean isLockable)
Get notification that a function's lockable status has changed.void
notifyFunctionStateChanged(int functionNumber, boolean isSet)
Get notification that a function has changed state.void
propertyChange(java.beans.PropertyChangeEvent e)
Update the state of this panel if any of the functions change.void
resetFnButtons()
Reset function buttons : - rebuild function buttons - reset their properties to default - update according to throttle and roster (if any)void
saveFunctionButtonsToRoster(RosterEntry rosterEntry)
void
setAddressPanel(AddressPanel addressPanel)
void
setEnabled()
Enable or disable all the buttons depending on throttle status If a throttle is assigned, enable all, else disable allvoid
setEnabled(boolean isEnabled)
Enable or disable all the buttons.void
setXml(org.jdom2.Element e)
Set the preferences based on the XML Element.-
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, 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 Detail
-
FunctionPanel
public FunctionPanel()
Constructor
-
-
Method Detail
-
destroy
public void destroy()
-
getFunctionButtons
public FunctionButton[] getFunctionButtons()
-
notifyFunctionStateChanged
public void notifyFunctionStateChanged(int functionNumber, boolean isSet)
Get notification that a function has changed state.- Specified by:
notifyFunctionStateChanged
in interfaceFunctionListener
- Parameters:
functionNumber
- The function that has changed.isSet
- True if the function is now active (or set).
-
notifyFunctionLockableChanged
public void notifyFunctionLockableChanged(int functionNumber, boolean isLockable)
Get notification that a function's lockable status has changed.- Specified by:
notifyFunctionLockableChanged
in interfaceFunctionListener
- Parameters:
functionNumber
- The function that has changed (0-28).isLockable
- True if the function is now Lockable (continuously active).
-
setEnabled
public void setEnabled(boolean isEnabled)
Enable or disable all the buttons.- Overrides:
setEnabled
in classjavax.swing.JComponent
- Parameters:
isEnabled
- true to enable, false to disable.
-
setEnabled
public void setEnabled()
Enable or disable all the buttons depending on throttle status If a throttle is assigned, enable all, else disable all
-
setAddressPanel
public void setAddressPanel(AddressPanel addressPanel)
-
saveFunctionButtonsToRoster
public void saveFunctionButtonsToRoster(RosterEntry rosterEntry)
-
applyPreferences
public final void applyPreferences()
Apply preferences + global throttles preferences + this throttle settings if any
-
resetFnButtons
public void resetFnButtons()
Reset function buttons : - rebuild function buttons - reset their properties to default - update according to throttle and roster (if any)
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent e)
Update the state of this panel if any of the functions change.- Specified by:
propertyChange
in interfacejava.beans.PropertyChangeListener
-
getXml
public org.jdom2.Element getXml()
Collect the prefs of this object into XML Element.- Window prefs
- Each button has id, text, lock state.
- Returns:
- the XML of this object.
-
setXml
public void setXml(org.jdom2.Element e)
Set the preferences based on the XML Element.- Window prefs
- Each button has id, text, lock state.
- Parameters:
e
- The Element for this object.
-
notifyAddressThrottleFound
public void notifyAddressThrottleFound(DccThrottle t)
Get notification that a throttle has been found as we requested.- Specified by:
notifyAddressThrottleFound
in interfaceAddressListener
- Parameters:
t
- An instantiation of the DccThrottle with the address requested.
-
notifyAddressReleased
public void notifyAddressReleased(LocoAddress la)
Receive notification that an address has been released/dispatched- Specified by:
notifyAddressReleased
in interfaceAddressListener
- Parameters:
la
- The address released/dispatched
-
notifyAddressChosen
public void notifyAddressChosen(LocoAddress l)
Ignored. Receive notification that a new address has been selected.- Specified by:
notifyAddressChosen
in interfaceAddressListener
- Parameters:
l
- The address that is now selected.
-
notifyConsistAddressChosen
public void notifyConsistAddressChosen(LocoAddress l)
Ignored. 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)
Ignored. 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)
Ignored. Receive notification that a throttle has been found- Specified by:
notifyConsistAddressThrottleFound
in interfaceAddressListener
- Parameters:
t
- The throttle
-
-