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) class
MemoryIcon.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 int
CENTRE
(package private) NamedIcon
defaultIcon
protected boolean
flipRosterIcon
(package private) static int
LEFT
(package private) java.util.HashMap<java.lang.String,NamedIcon>
map
protected RosterEntry
re
(package private) static int
RIGHT
(package private) boolean
selectable
protected boolean
updateBlockValue
-
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 void
addKeyAndIcon(NamedIcon icon, java.lang.String keyValue)
protected void
addRosterToIcon(RosterEntry roster)
Positionable
deepClone()
Make a deep copy of Positional object.void
displayState()
Drive the current state of the display from the state of the Memory.protected void
displayState(java.lang.Object key)
void
dispose()
Clean up when this object is no longer needed.void
doMouseClicked(JmriMouseEvent e)
protected void
edit()
(package private) void
editMemory()
protected void
editMemoryValue()
protected Positionable
finishClone(MemoryIcon pos)
protected void
flipIcon(int flip)
NamedIcon
getDefaultIcon()
java.util.HashMap<java.lang.String,NamedIcon>
getMap()
Memory
getMemory()
NamedBean
getNamedBean()
Provide a generic method to return the bean associated with the Positionable.NamedBeanHandle<Memory>
getNamedMemory()
java.lang.String
getNameString()
Get the name of the positional as a String.int
getOriginalX()
int
getOriginalY()
java.lang.String
getTypeString()
Get the type of the positional as a String.protected java.lang.Object
getValue()
boolean
isSelectable()
void
propertyChange(java.beans.PropertyChangeEvent e)
void
resetDefaultIcon()
void
setAttributes(PositionablePopupUtil util, Positionable that)
Special method to transfer a setAttributes call from the LE version of MemoryIcon.void
setDefaultIcon(NamedIcon n)
boolean
setEditIconMenu(javax.swing.JPopupMenu popup)
Add additional menu items to the menu.void
setLocation(int x, int y)
void
setMemory(java.lang.String pName)
Attach a named Memory to this display item.void
setMemory(NamedBeanHandle<Memory> m)
Attach a named Memory to this display item.void
setOriginalLocation(int x, int y)
void
setSelectable(boolean b)
boolean
setTextEditMenu(javax.swing.JPopupMenu popup)
Text edits cannot be done to Memory text - overrideprotected void
setValue(java.lang.Object val)
boolean
showPopUp(javax.swing.JPopupMenu popup)
Call to a Positionable that has unique requirements - e.g.boolean
updateBlockValueOnChange()
void
updateBlockValueOnChange(boolean boo)
protected java.lang.Object
updateIconFromRosterVal(RosterEntry roster)
void
updateSize()
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, 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: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 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:PositionableLabel
Provide a generic method to return the bean associated with the Positionable.- Specified by:
getNamedBean
in interfacePositionable
- Overrides:
getNamedBean
in classPositionableLabel
-
addKeyAndIcon
public void addKeyAndIcon(NamedIcon icon, java.lang.String keyValue)
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent e)
- Specified by:
propertyChange
in interfacejava.beans.PropertyChangeListener
-
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 classPositionableLabel
- 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 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:PositionableLabel
Call to a Positionable that has unique requirements - e.g. RpsPositionIcon, SecurityElementIcon- Specified by:
showPopUp
in interfacePositionable
- Overrides:
showPopUp
in classPositionableLabel
-
setTextEditMenu
public boolean setTextEditMenu(javax.swing.JPopupMenu popup)
Text edits cannot be done to Memory text - override- Specified by:
setTextEditMenu
in interfacePositionable
- Overrides:
setTextEditMenu
in 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:
displayState
in 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:PositionableLabel
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- Specified by:
updateSize
in interfacePositionable
- Overrides:
updateSize
in classPositionableLabel
-
setOriginalLocation
public void setOriginalLocation(int x, int y)
-
getOriginalX
public int getOriginalX()
- Specified by:
getOriginalX
in classMemoryOrGVIcon
-
getOriginalY
public int getOriginalY()
- Specified by:
getOriginalY
in classMemoryOrGVIcon
-
setLocation
public void setLocation(int x, int y)
- Specified by:
setLocation
in interfacePositionable
- Overrides:
setLocation
in classjava.awt.Component
-
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 classPositionableLabel
- Parameters:
popup
- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
edit
protected void edit()
- Overrides:
edit
in classPositionableLabel
-
editMemory
void editMemory()
-
dispose
public void dispose()
Description copied from class:PositionableLabel
Clean up when this object is no longer needed. Should not be called while the object is still displayed; see remove()- Overrides:
dispose
in classPositionableLabel
-
doMouseClicked
public void doMouseClicked(JmriMouseEvent e)
- Specified by:
doMouseClicked
in interfacePositionable
- Overrides:
doMouseClicked
in 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)
-
-