Package jmri.jmrit.throttle.panels
Class FunctionPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
jmri.util.swing.OptionallyTabbedPanel
jmri.jmrit.throttle.panels.FunctionPanel
- All Implemented Interfaces:
ImageObserver,MenuContainer,PropertyChangeListener,Serializable,EventListener,Accessible,AddressListener,FunctionListener
- Direct Known Subclasses:
LearnFunctionPanel
public class FunctionPanel
extends OptionallyTabbedPanel
implements FunctionListener, PropertyChangeListener, AddressListener
A Panel that contains buttons for each decoder function.
This file is part of JMRI.
This file is part of JMRI.
JMRI is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. See the "COPYING" file for a copy of this license.
JMRI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested 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.FlipBufferStrategy -
Field Summary
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_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, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddispose()org.jdom2.ElementgetXml()Collect the prefs of this object into XML Element.voidReceive notification that a new address has been selected and validated.voidReceive notification that an address has been released/dispatchedvoidReceive notification that a throttle has been foundvoidReceive notification that a new Consist address has been selected.voidReceive notification that a consist address has been released/dispatched.voidReceive notification that a throttle has been foundvoidnotifyFunctionLockableChanged(int functionNumber, boolean isLockable) Get notification that a function's lockable status has changed.voidnotifyFunctionStateChanged(int functionNumber, boolean isSet) Get notification that a function has changed state.voidReceive notification that a new roster entry has been selected (and not validated yet).voidUpdate the state of this panel if any of the functions change.voidReset function buttons : - rebuild function buttons - reset their properties to default - update according to throttle and roster (if any)voidsaveFunctionButtonsToRoster(RosterEntry rosterEntry) voidvoidEnable or disable all the buttons depending on throttle status If a throttle is assigned, enable all, else disable allvoidsetEnabled(boolean isEnabled) Enable or disable all the buttons.voidsetXml(org.jdom2.Element e) Set the preferences based on the XML Element.Methods inherited from class jmri.util.swing.OptionallyTabbedPanel
add, removeAllMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, 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, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, getFocusCycleRootAncestor, 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, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
FunctionPanel
Constructor- Parameters:
withPopupMenu- popup menu on function button available if true
-
FunctionPanel
public FunctionPanel()
-
-
Method Details
-
dispose
-
getFunctionButtons
-
notifyFunctionStateChanged
Get notification that a function has changed state.- Specified by:
notifyFunctionStateChangedin interfaceFunctionListener- Parameters:
functionNumber- The function that has changed.isSet- True if the function is now active (or set).
-
notifyFunctionLockableChanged
Get notification that a function's lockable status has changed.- Specified by:
notifyFunctionLockableChangedin interfaceFunctionListener- Parameters:
functionNumber- The function that has changed (0-28).isLockable- True if the function is now Lockable (continuously active).
-
setEnabled
Enable or disable all the buttons.- Overrides:
setEnabledin classJComponent- Parameters:
isEnabled- true to enable, false to disable.
-
setEnabled
Enable or disable all the buttons depending on throttle status If a throttle is assigned, enable all, else disable all -
setAddressPanel
-
saveFunctionButtonsToRoster
-
resetFnButtons
Reset function buttons : - rebuild function buttons - reset their properties to default - update according to throttle and roster (if any) -
propertyChange
Update the state of this panel if any of the functions change.- Specified by:
propertyChangein interfacePropertyChangeListener
-
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
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
Description copied from interface:AddressListenerReceive notification that a throttle has been found- Specified by:
notifyAddressThrottleFoundin interfaceAddressListener- Parameters:
t- The throttle
-
notifyAddressReleased
Description copied from interface:AddressListenerReceive notification that an address has been released/dispatched- Specified by:
notifyAddressReleasedin interfaceAddressListener- Parameters:
la- The address released/dispatched
-
notifyAddressChosen
Description copied from interface:AddressListenerReceive notification that a new address has been selected and validated.- Specified by:
notifyAddressChosenin interfaceAddressListener- Parameters:
l- The address that is now selected and validated.
-
notifyRosterEntrySelected
Description copied from interface:AddressListenerReceive notification that a new roster entry has been selected (and not validated yet). In the RosterEntry combobox for example.- Specified by:
notifyRosterEntrySelectedin interfaceAddressListener- Parameters:
re- The roster entry that is now selected.
-
notifyConsistAddressChosen
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
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
Description copied from interface:AddressListenerReceive notification that a throttle has been found- Specified by:
notifyConsistAddressThrottleFoundin interfaceAddressListener- Parameters:
t- The throttle
-