Package jmri.jmrit.display
Class GlobalVariableComboIcon
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.jmrit.display.PositionableJPanel
-
- jmri.jmrit.display.MemoryOrGVComboIcon
-
- jmri.jmrit.display.GlobalVariableComboIcon
-
- All Implemented Interfaces:
java.awt.event.ActionListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.beans.PropertyChangeListener,java.io.Serializable,java.lang.Cloneable,java.util.EventListener,javax.accessibility.Accessible,Positionable,InlineLogixNG,JmriMouseListener,JmriMouseMotionListener
public class GlobalVariableComboIcon extends MemoryOrGVComboIcon implements java.beans.PropertyChangeListener, java.awt.event.ActionListener
An icon to display and input a GlobalVariable value in a TextField.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 jmri.jmrit.display.MemoryOrGVComboIcon
MemoryOrGVComboIcon.ComboModel
-
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 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 GlobalVariableComboIcon(Editor editor, java.lang.String[] list)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent e)Display(package private) voidcleanup()To be overridden if any special work needs to be donePositionabledeepClone()Make a deep copy of Positional object.voiddisplayState()Drive the current state of the display from the state of the GlobalVariable.protected voidedit()(package private) voideditGlobalVariable()protected PositionablefinishClone(GlobalVariableComboIcon pos)MemoryOrGVComboIcon.ComboModelgetComboModel()GlobalVariablegetGlobalVariable()NamedBeanHandle<GlobalVariable>getNamedGlobalVariable()java.lang.StringgetNameString()Get the name of the positional as a String.javax.swing.JComboBox<java.lang.String>getTextComponent()java.lang.StringgetTypeString()Get the type of the positional as a String.voidmouseExited(JmriMouseEvent e)Invoked when the mouse exits a component.voidpropertyChange(java.beans.PropertyChangeEvent e)booleansetEditIconMenu(javax.swing.JPopupMenu popup)Add additional menu items to the menu.voidsetGlobalVariable(java.lang.String pName)Attach a named GlobalVariable to this display item.voidsetGlobalVariable(NamedBeanHandle<GlobalVariable> m)Attach a named GlobalVariable to this display item.protected voidupdate()-
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, 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
-
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
-
GlobalVariableComboIcon
public GlobalVariableComboIcon(Editor editor, java.lang.String[] list)
-
-
Method Detail
-
getTextComponent
public javax.swing.JComboBox<java.lang.String> getTextComponent()
- Specified by:
getTextComponentin interfacePositionable- Specified by:
getTextComponentin classMemoryOrGVComboIcon
-
deepClone
public Positionable deepClone()
Description copied from interface:PositionableMake 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:
deepClonein interfacePositionable- Overrides:
deepClonein classPositionableJPanel- Returns:
- the copy
-
finishClone
protected Positionable finishClone(GlobalVariableComboIcon pos)
-
setGlobalVariable
public void setGlobalVariable(java.lang.String pName)
Attach a named GlobalVariable to this display item.- Parameters:
pName- used as a system/user name to look up the GlobalVariable object
-
setGlobalVariable
public void setGlobalVariable(NamedBeanHandle<GlobalVariable> m)
Attach a named GlobalVariable to this display item.- Parameters:
m- The GlobalVariable object
-
getNamedGlobalVariable
public NamedBeanHandle<GlobalVariable> getNamedGlobalVariable()
-
getGlobalVariable
public GlobalVariable getGlobalVariable()
-
getComboModel
public MemoryOrGVComboIcon.ComboModel getComboModel()
- Specified by:
getComboModelin classMemoryOrGVComboIcon
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)
Display- Specified by:
actionPerformedin interfacejava.awt.event.ActionListener
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent e)
- Specified by:
propertyChangein interfacejava.beans.PropertyChangeListener
-
getTypeString
@Nonnull public java.lang.String getTypeString()
Description copied from interface:PositionableGet the type of the positional as a String.- Specified by:
getTypeStringin interfacePositionable- Overrides:
getTypeStringin classPositionableJPanel- Returns:
- the type to display
-
getNameString
public java.lang.String getNameString()
Description copied from interface:PositionableGet the name of the positional as a String. This is often the display name of the NamedBean being positioned.- Specified by:
getNameStringin interfaceInlineLogixNG- Specified by:
getNameStringin interfacePositionable- Overrides:
getNameStringin classPositionableJPanel- Returns:
- the name to display
-
update
protected void update()
- Specified by:
updatein classMemoryOrGVComboIcon
-
setEditIconMenu
public boolean setEditIconMenu(javax.swing.JPopupMenu popup)
Description copied from interface:PositionableAdd additional menu items to the menu.- Specified by:
setEditIconMenuin interfacePositionable- Overrides:
setEditIconMenuin classPositionableJPanel- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
edit
protected void edit()
- Overrides:
editin 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:JmriMouseListenerInvoked when the mouse exits a component.- Specified by:
mouseExitedin interfaceJmriMouseListener- Overrides:
mouseExitedin classPositionableJPanel- Parameters:
e- the event to be processed
-
cleanup
void cleanup()
Description copied from class:PositionableJPanelTo be overridden if any special work needs to be done- Overrides:
cleanupin classPositionableJPanel
-
-