Package jmri.jmrit.display
Class GlobalVariableSpinnerIcon
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.jmrit.display.PositionableJPanel
-
- jmri.jmrit.display.GlobalVariableSpinnerIcon
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.beans.PropertyChangeListener
,java.io.Serializable
,java.lang.Cloneable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.event.ChangeListener
,Positionable
,InlineLogixNG
,JmriMouseListener
,JmriMouseMotionListener
public class GlobalVariableSpinnerIcon extends PositionableJPanel implements javax.swing.event.ChangeListener, java.beans.PropertyChangeListener
An icon to display a status of a GlobalVariable in a JSpinner.Handles the case of either a String or an Integer in the GlobalVariable, preserving what it finds.
- Since:
- 2.7.2
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from interface jmri.jmrit.display.Positionable
Positionable.DuplicateIdException
-
-
Field Summary
Fields Modifier and Type Field Description (package private) int
_max
(package private) int
_min
(package private) javax.swing.JSpinner
spinner
-
Fields inherited from class jmri.jmrit.display.PositionableJPanel
_controlling, _displayLevel, _editable, _editor, _emptyHidden, _hidden, _iconEditor, _iconEditorFrame, _itemPanel, _paletteFrame, _popupUtil, _positionable, _showTooltip, _viewCoordinates, active, lock, showTooltipItem
-
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
-
-
Constructor Summary
Constructors Constructor Description GlobalVariableSpinnerIcon(Editor editor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
cleanup()
To be overridden if any special work needs to be donePositionable
deepClone()
Make a deep copy of Positional object.void
displayState()
Drive the current state of the display from the state of the GlobalVariable.protected void
edit()
(package private) void
editGlobalVariable()
protected Positionable
finishClone(GlobalVariableSpinnerIcon pos)
GlobalVariable
getGlobalVariable()
NamedBeanHandle<GlobalVariable>
getNamedGlobalVariable()
java.lang.String
getNameString()
Get the name of the positional as a String.java.awt.Dimension
getSize()
javax.swing.JComponent
getTextComponent()
java.lang.String
getTypeString()
Get the type of the positional as a String.java.lang.String
getValue()
void
mouseExited(JmriMouseEvent e)
Invoked when the mouse exits a component.void
propertyChange(java.beans.PropertyChangeEvent e)
boolean
setEditIconMenu(javax.swing.JPopupMenu popup)
Add additional menu items to the menu.void
setGlobalVariable(java.lang.String pName)
Attached a named GlobalVariable to this display itemvoid
setGlobalVariable(NamedBeanHandle<GlobalVariable> m)
Attached a named GlobalVariable to this display itemprotected void
spinnerUpdated()
void
stateChanged(javax.swing.event.ChangeEvent e)
-
Methods inherited from class jmri.jmrit.display.PositionableJPanel
addClass, doMouseClicked, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMousePressed, doMouseReleased, doViemMenu, editTextItem, finishClone, finishItemUpdate, getClasses, getDegrees, getDisplayLevel, getEditor, getId, getLogixNG, getNamedBean, getPopupUtility, getScale, getToolTip, getViewCoordinates, initPaletteFrame, isActive, isControlling, isEditable, isEmptyHidden, isHidden, isPositionable, isValueEditDisabled, makeIconEditorFrame, makePaletteFrame, maxHeight, maxWidth, mouseClicked, mouseDragged, mouseEntered, mouseMoved, mousePressed, mouseReleased, remove, removeAllClasses, removeClass, rotate, setControlling, setDisableControlMenu, setDisplayLevel, setEditable, setEditItemMenu, setEditor, setEditTextItemMenu, setEmptyHidden, setHidden, setId, setLevel, setLogixNG, setLogixNG_SystemName, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScale, setScaleMenu, setShowToolTip, setTextEditMenu, setToolTip, setupLogixNG, setValueEditDisabled, setViewCoordinates, showHidden, showPopUp, showToolTip, storeItem, updateSize, updateTextItem
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, 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, setEnabled, 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, 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, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jmri.jmrit.display.Positionable
contains, getBackground, getBounds, getEditorName, getFont, getForeground, getHeight, getLocation, getParent, getPreferredSize, getTypeName, getWidth, getX, getY, invalidate, isOpaque, repaint, requestFocusInWindow, setBackground, setBorder, setForeground, setLocation, setLocation, setOpaque, setSize, setVisible
-
-
-
-
Constructor Detail
-
GlobalVariableSpinnerIcon
public GlobalVariableSpinnerIcon(Editor editor)
-
-
Method Detail
-
deepClone
public Positionable deepClone()
Description copied from interface:Positionable
Make a deep copy of Positional object. Implementation should create a new object and immediately pass the object to finishClone() returning the result of finishClone(). i.e. implementation must be:public Positionable deepClone() { Subtype t = new Subtype(); return finishClone(t); }
Then finishClone() finishes the deep Copy of a Positional object. Implementation should make deep copies of the additional members of this sub class and then pass Positionable p to super.finishClone(). i.e. implementation must terminate with statement return super.finishClone(p); See IndicatorTurnoutIcon extends TurnoutIcon extends PositionableLabel for an example of how to continue deep cloning a chain of subclasses.
- Specified by:
deepClone
in interfacePositionable
- Overrides:
deepClone
in classPositionableJPanel
- Returns:
- the copy
-
finishClone
protected Positionable finishClone(GlobalVariableSpinnerIcon pos)
-
getTextComponent
public javax.swing.JComponent getTextComponent()
- Specified by:
getTextComponent
in interfacePositionable
- Overrides:
getTextComponent
in classPositionableJPanel
-
getSize
public java.awt.Dimension getSize()
- Overrides:
getSize
in classjava.awt.Component
-
setGlobalVariable
public void setGlobalVariable(java.lang.String pName)
Attached a named GlobalVariable to this display item- Parameters:
pName
- Used as a system/user name to lookup the GlobalVariable object
-
setGlobalVariable
public void setGlobalVariable(NamedBeanHandle<GlobalVariable> m)
Attached a named GlobalVariable to this display item- Parameters:
m
- The GlobalVariable object
-
getNamedGlobalVariable
public NamedBeanHandle<GlobalVariable> getNamedGlobalVariable()
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent e)
- Specified by:
propertyChange
in interfacejava.beans.PropertyChangeListener
-
getGlobalVariable
public GlobalVariable getGlobalVariable()
-
stateChanged
public void stateChanged(javax.swing.event.ChangeEvent e)
- Specified by:
stateChanged
in interfacejavax.swing.event.ChangeListener
-
getTypeString
@Nonnull public java.lang.String getTypeString()
Description copied from interface:Positionable
Get the type of the positional as a String.- Specified by:
getTypeString
in interfacePositionable
- Overrides:
getTypeString
in classPositionableJPanel
- Returns:
- the type to display
-
getNameString
public java.lang.String getNameString()
Description copied from interface:Positionable
Get the name of the positional as a String. This is often the display name of the NamedBean being positioned.- Specified by:
getNameString
in interfaceInlineLogixNG
- Specified by:
getNameString
in interfacePositionable
- Overrides:
getNameString
in classPositionableJPanel
- Returns:
- the name to display
-
setEditIconMenu
public boolean setEditIconMenu(javax.swing.JPopupMenu popup)
Description copied from interface:Positionable
Add additional menu items to the menu.- Specified by:
setEditIconMenu
in interfacePositionable
- Overrides:
setEditIconMenu
in classPositionableJPanel
- Parameters:
popup
- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
edit
protected void edit()
- Overrides:
edit
in classPositionableJPanel
-
editGlobalVariable
void editGlobalVariable()
-
displayState
public void displayState()
Drive the current state of the display from the state of the GlobalVariable.
-
mouseExited
public void mouseExited(JmriMouseEvent e)
Description copied from interface:JmriMouseListener
Invoked when the mouse exits a component.- Specified by:
mouseExited
in interfaceJmriMouseListener
- Overrides:
mouseExited
in classPositionableJPanel
- Parameters:
e
- the event to be processed
-
spinnerUpdated
protected void spinnerUpdated()
-
getValue
public java.lang.String getValue()
-
cleanup
void cleanup()
Description copied from class:PositionableJPanel
To be overridden if any special work needs to be done- Overrides:
cleanup
in classPositionableJPanel
-
-