Package jmri.jmrit.display
Class MemoryIcon
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JLabel
-
- jmri.jmrit.display.PositionableLabel
-
- jmri.jmrit.display.MemoryOrGVIcon
-
- jmri.jmrit.display.MemoryIcon
-
- 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.SwingConstants,Positionable,InlineLogixNG
- Direct Known Subclasses:
BlockContentsIcon,MemoryIcon
public class MemoryIcon extends MemoryOrGVIcon implements java.beans.PropertyChangeListener
An icon to display a status of a Memory.The value of the memory can't be changed with this icon.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classMemoryIcon.TransferHandler-
Nested classes/interfaces inherited from class jmri.jmrit.display.PositionableLabel
PositionableLabel.PaletteFrameCloser
-
Nested classes/interfaces inherited from class javax.swing.JLabel
javax.swing.JLabel.AccessibleJLabel
-
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) java.awt.Color_saveColor(package private) static intCENTRE(package private) NamedIcondefaultIconprotected booleanflipRosterIcon(package private) static intLEFT(package private) java.util.HashMap<java.lang.String,NamedIcon>mapprotected RosterEntryre(package private) static intRIGHT(package private) booleanselectableprotected booleanupdateBlockValue-
Fields inherited from class jmri.jmrit.display.PositionableLabel
_control, _controlling, _displayLevel, _editable, _editor, _emptyHidden, _hidden, _icon, _iconEditor, _iconEditorFrame, _iconItemPanel, _itemPanel, _namedIcon, _paletteFrame, _popupUtil, _positionable, _rotateText, _showTooltip, _text, _tooltip, _unRotatedText, _valueEditDisabled, _viewCoordinates, active, disableItem
-
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 MemoryIcon(java.lang.String s, Editor editor)MemoryIcon(NamedIcon s, Editor editor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddKeyAndIcon(NamedIcon icon, java.lang.String keyValue)protected voidaddRosterToIcon(RosterEntry roster)PositionabledeepClone()Make a deep copy of Positional object.voiddisplayState()Drive the current state of the display from the state of the Memory.protected voiddisplayState(java.lang.Object key)voiddispose()Clean up when this object is no longer needed.voiddoMouseClicked(JmriMouseEvent e)protected voidedit()(package private) voideditMemory()protected voideditMemoryValue()protected PositionablefinishClone(MemoryIcon pos)protected voidflipIcon(int flip)NamedIcongetDefaultIcon()java.util.HashMap<java.lang.String,NamedIcon>getMap()MemorygetMemory()NamedBeangetNamedBean()Provide a generic method to return the bean associated with the Positionable.NamedBeanHandle<Memory>getNamedMemory()java.lang.StringgetNameString()Get the name of the positional as a String.intgetOriginalX()intgetOriginalY()java.lang.StringgetTypeString()Get the type of the positional as a String.protected java.lang.ObjectgetValue()booleanisSelectable()voidpropertyChange(java.beans.PropertyChangeEvent e)voidresetDefaultIcon()voidsetAttributes(PositionablePopupUtil util, Positionable that)Special method to transfer a setAttributes call from the LE version of MemoryIcon.voidsetDefaultIcon(NamedIcon n)booleansetEditIconMenu(javax.swing.JPopupMenu popup)Add additional menu items to the menu.voidsetLocation(int x, int y)voidsetMemory(java.lang.String pName)Attach a named Memory to this display item.voidsetMemory(NamedBeanHandle<Memory> m)Attach a named Memory to this display item.voidsetOriginalLocation(int x, int y)voidsetSelectable(boolean b)booleansetTextEditMenu(javax.swing.JPopupMenu popup)Text edits cannot be done to Memory text - overrideprotected voidsetValue(java.lang.Object val)booleanshowPopUp(javax.swing.JPopupMenu popup)Call to a Positionable that has unique requirements - e.g.booleanupdateBlockValueOnChange()voidupdateBlockValueOnChange(boolean boo)protected java.lang.ObjectupdateIconFromRosterVal(RosterEntry roster)voidupdateSize()Update the AWT and Swing size information due to change in internal state, e.g. if one or more of the icons that might be displayed is changed-
Methods inherited from class jmri.jmrit.display.PositionableLabel
addClass, cloneIcon, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMousePressed, doMouseReleased, doViemMenu, editIcon, editIconItem, editTextItem, finishClone, finishItemUpdate, getClasses, getDegrees, getDisplayLevel, getEditor, getHeight, getId, getLogixNG, getPopupUtility, getScale, getSize, getTextComponent, getToolTip, getUnRotatedText, getViewCoordinates, getWidth, initPaletteFrame, isActive, isBackground, isControl, isControlling, isEditable, isEmptyHidden, isHidden, isIcon, isPositionable, isRotated, isText, isValueEditDisabled, makeIconEditorFrame, makePaletteFrame, makeTextOverlaidIcon, maxHeight, maxHeightTrue, maxWidth, maxWidthTrue, paintComponent, remove, removeAllClasses, removeClass, rotate, rotateOrthogonal, setControlling, setDegrees, setDisableControlMenu, setDisplayLevel, setEditable, setEditItemMenu, setEditor, setEditTextItemMenu, setEmptyHidden, setHidden, setIcon, setId, setLevel, setLogixNG, setLogixNG_SystemName, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScale, setScaleMenu, setShowToolTip, setSuperText, setText, setToolTip, setUnRotatedText, setupLogixNG, setValueEditDisabled, setViewCoordinates, showEmptyHidden, showHidden, showToolTip, storeItem, updateIcon, updateTextItem
-
Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setUI, setVerticalAlignment, setVerticalTextPosition, 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, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getX, getY, grabFocus, hide, 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, 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, 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, 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, getLocation, getParent, getPreferredSize, getTypeName, getX, getY, invalidate, isOpaque, repaint, requestFocusInWindow, setBackground, setBorder, setForeground, setLocation, setOpaque, setSize, setVisible
-
-
-
-
Field Detail
-
defaultIcon
NamedIcon defaultIcon
-
selectable
boolean selectable
-
_saveColor
java.awt.Color _saveColor
-
re
protected RosterEntry re
-
LEFT
static final int LEFT
- See Also:
- Constant Field Values
-
RIGHT
static final int RIGHT
- See Also:
- Constant Field Values
-
CENTRE
static final int CENTRE
- See Also:
- Constant Field Values
-
updateBlockValue
protected boolean updateBlockValue
-
flipRosterIcon
protected boolean flipRosterIcon
-
-
Constructor Detail
-
MemoryIcon
public MemoryIcon(java.lang.String s, Editor editor)
-
MemoryIcon
public MemoryIcon(NamedIcon s, Editor editor)
-
-
Method Detail
-
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 classPositionableLabel- Returns:
- the copy
-
finishClone
protected Positionable finishClone(MemoryIcon pos)
-
resetDefaultIcon
public void resetDefaultIcon()
-
setDefaultIcon
public void setDefaultIcon(NamedIcon n)
-
getDefaultIcon
public NamedIcon getDefaultIcon()
-
setMemory
public void setMemory(java.lang.String pName)
Attach a named Memory to this display item.- Parameters:
pName- Used as a system/user name to lookup the Memory object
-
setMemory
public void setMemory(NamedBeanHandle<Memory> m)
Attach a named Memory to this display item.- Parameters:
m- The Memory object
-
getNamedMemory
public NamedBeanHandle<Memory> getNamedMemory()
-
getNamedBean
public NamedBean getNamedBean()
Description copied from class:PositionableLabelProvide a generic method to return the bean associated with the Positionable.- Specified by:
getNamedBeanin interfacePositionable- Overrides:
getNamedBeanin classPositionableLabel
-
addKeyAndIcon
public void addKeyAndIcon(NamedIcon icon, java.lang.String keyValue)
-
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 classPositionableLabel- 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 classPositionableLabel- Returns:
- the name to display
-
setSelectable
public void setSelectable(boolean b)
-
isSelectable
public boolean isSelectable()
-
showPopUp
public boolean showPopUp(javax.swing.JPopupMenu popup)
Description copied from class:PositionableLabelCall to a Positionable that has unique requirements - e.g. RpsPositionIcon, SecurityElementIcon- Specified by:
showPopUpin interfacePositionable- Overrides:
showPopUpin classPositionableLabel
-
setTextEditMenu
public boolean setTextEditMenu(javax.swing.JPopupMenu popup)
Text edits cannot be done to Memory text - override- Specified by:
setTextEditMenuin interfacePositionable- Overrides:
setTextEditMenuin classPositionableLabel- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
flipIcon
protected void flipIcon(int flip)
-
displayState
public void displayState()
Drive the current state of the display from the state of the Memory.- Specified by:
displayStatein classMemoryOrGVIcon
-
setAttributes
public void setAttributes(PositionablePopupUtil util, Positionable that)
Special method to transfer a setAttributes call from the LE version of MemoryIcon. This eliminates the need to change references to public.- Parameters:
util- The LE popup util object.that- The current positional object (this).- Since:
- 4.11.6
-
displayState
protected void displayState(java.lang.Object key)
-
updateIconFromRosterVal
protected java.lang.Object updateIconFromRosterVal(RosterEntry roster)
-
updateSize
public void updateSize()
Description copied from class:PositionableLabelUpdate the AWT and Swing size information due to change in internal state, e.g. if one or more of the icons that might be displayed is changed- Specified by:
updateSizein interfacePositionable- Overrides:
updateSizein classPositionableLabel
-
setOriginalLocation
public void setOriginalLocation(int x, int y)
-
getOriginalX
public int getOriginalX()
- Specified by:
getOriginalXin classMemoryOrGVIcon
-
getOriginalY
public int getOriginalY()
- Specified by:
getOriginalYin classMemoryOrGVIcon
-
setLocation
public void setLocation(int x, int y)
- Specified by:
setLocationin interfacePositionable- Overrides:
setLocationin classjava.awt.Component
-
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 classPositionableLabel- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
edit
protected void edit()
- Overrides:
editin classPositionableLabel
-
editMemory
void editMemory()
-
dispose
public void dispose()
Description copied from class:PositionableLabelClean up when this object is no longer needed. Should not be called while the object is still displayed; see remove()- Overrides:
disposein classPositionableLabel
-
doMouseClicked
public void doMouseClicked(JmriMouseEvent e)
- Specified by:
doMouseClickedin interfacePositionable- Overrides:
doMouseClickedin classPositionableLabel
-
editMemoryValue
protected void editMemoryValue()
-
updateBlockValueOnChange
public void updateBlockValueOnChange(boolean boo)
-
updateBlockValueOnChange
public boolean updateBlockValueOnChange()
-
addRosterToIcon
protected void addRosterToIcon(RosterEntry roster)
-
getValue
protected java.lang.Object getValue()
-
setValue
protected void setValue(java.lang.Object val)
-
-