Class IndicatorTurnoutIcon
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JLabel
-
- jmri.jmrit.display.PositionableLabel
-
- jmri.jmrit.display.PositionableIcon
-
- jmri.jmrit.display.TurnoutIcon
-
- jmri.jmrit.display.IndicatorTurnoutIcon
-
- 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
,IndicatorTrack
,Positionable
,InlineLogixNG
public class IndicatorTurnoutIcon extends TurnoutIcon implements IndicatorTrack
An icon to display a status and state of a color coded turnout.This responds to only KnownState, leaving CommandedState to some other graphic representation later.
"state" is the state of the underlying turnout ("closed", "thrown", etc.)
"status" is the operating condition of the track ("clear", "occupied", etc.)
A click on the icon will command a state change. Specifically, it will set the CommandedState to the opposite (THROWN vs CLOSED) of the current KnownState. This will display the setting of the turnout points.
The status is indicated by color and changes are done only done by the occupancy sensing - OBlock or other sensor.
The default icons are for a left-handed turnout, facing point for east-bound traffic.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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.util.HashMap<java.lang.String,java.util.HashMap<java.lang.Integer,NamedIcon>>
_iconMaps
-
Fields inherited from class jmri.jmrit.display.TurnoutIcon
_iconStateMap, _name2stateMap, _state2nameMap, directControl, directControlItem, momentary, momentaryItem, tristateItem
-
Fields inherited from class jmri.jmrit.display.PositionableIcon
_iconFamily, _iconMap, _rotate, _scale
-
Fields inherited from class jmri.jmrit.display.PositionableLabel
_control, _controlling, _displayLevel, _editable, _editor, _emptyHidden, _hidden, _icon, _iconEditor, _iconEditorFrame, _iconItemPanel, _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 IndicatorTurnoutIcon(Editor editor)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addPath(java.lang.String path)
(package private) java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.Integer,NamedIcon>>
cloneMaps(IndicatorTurnoutIcon pos)
Positionable
deepClone()
Make a deep copy of Positional object.void
displayState(int state)
Drive the current state of the display from the state of the turnout and status of track.void
dispose()
Clean up when this object is no longer needed.protected void
editItem()
protected Positionable
finishClone(IndicatorTurnoutIcon pos)
NamedIcon
getIcon(java.lang.String status, int state)
java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.Integer,NamedIcon>>
getIconMaps()
NamedBeanHandle<OBlock>
getNamedOccBlock()
NamedBeanHandle<Sensor>
getNamedOccSensor()
java.lang.String
getNameString()
Get the name of the positional as a String.OBlock
getOccBlock()
Sensor
getOccSensor()
java.util.ArrayList<java.lang.String>
getPaths()
java.lang.String
getStateName(java.lang.Integer state)
java.lang.String
getStatus()
java.lang.String
getTypeString()
Get the type of the positional as a String.(package private) static java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.Integer,NamedIcon>>
initMaps()
int
maxHeight()
int
maxWidth()
void
propertyChange(java.beans.PropertyChangeEvent evt)
void
removePath(java.lang.String path)
void
rotate(int deg)
protected void
rotateOrthogonal()
****** popup AbstractAction.actionPerformed method overrides ********void
setIcon(java.lang.String status, java.lang.String stateName, NamedIcon icon)
Place icon by its localized bean state namevoid
setOccBlock(java.lang.String pName)
Attached a named OBlock to display statusvoid
setOccBlockHandle(NamedBeanHandle<OBlock> blockHandle)
void
setOccSensor(java.lang.String pName)
Attached a named sensor to display status from OBlocksvoid
setOccSensorHandle(NamedBeanHandle<Sensor> sen)
void
setPaths(java.util.ArrayList<java.lang.String> paths)
void
setScale(double s)
void
setShowTrain(boolean set)
void
setStatus(int state)
get track name for known state of occupancy sensorboolean
showTrain()
(package private) void
updateItem()
-
Methods inherited from class jmri.jmrit.display.TurnoutIcon
addTristateEntry, alternateOnClick, buttonLive, cloneMap, doMouseClicked, doMousePressed, doMouseReleased, edit, finishClone, getDirectControl, getIcon, getIcon, getMomentary, getNamedBean, getNamedTurnout, getStateName, getTristate, getTurnout, setDirectControl, setEditIconMenu, setEditItemMenu, setIcon, setMomentary, setTristate, setTurnout, setTurnout, showPopUp, turnoutState, updateTurnout
-
Methods inherited from class jmri.jmrit.display.PositionableIcon
cloneMap, finishClone, getFamily, getIconMap, getIconStateNames, getScale, getStateNameCollection, setFamily
-
Methods inherited from class jmri.jmrit.display.PositionableLabel
addClass, cloneIcon, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doViemMenu, editIcon, editIconItem, editTextItem, finishClone, finishItemUpdate, getClasses, getDegrees, getDisplayLevel, getEditor, getHeight, getId, getLogixNG, getPopupUtility, getSize, getTextComponent, getToolTip, getUnRotatedText, getViewCoordinates, getWidth, initPaletteFrame, isActive, isBackground, isControl, isControlling, isEditable, isEmptyHidden, isHidden, isIcon, isPositionable, isRotated, isText, isValueEditDisabled, makeIconEditorFrame, makePaletteFrame, makeTextOverlaidIcon, maxHeightTrue, maxWidthTrue, paintComponent, remove, removeAllClasses, removeClass, setControlling, setDegrees, setDisableControlMenu, setDisplayLevel, setEditable, setEditor, setEditTextItemMenu, setEmptyHidden, setHidden, setIcon, setId, setLevel, setLogixNG, setLogixNG_SystemName, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScaleMenu, setShowToolTip, setSuperText, setText, setTextEditMenu, setToolTip, setUnRotatedText, setupLogixNG, setValueEditDisabled, setViewCoordinates, showHidden, showToolTip, storeItem, updateIcon, updateSize, 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, 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.logixng.InlineLogixNG
getLogixNG, setLogixNG, setLogixNG_SystemName, setupLogixNG
-
Methods inherited from interface jmri.jmrit.display.Positionable
addClass, contains, doMouseClicked, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMousePressed, doMouseReleased, doViemMenu, getBackground, getBounds, getClasses, getDegrees, getDisplayLevel, getEditor, getEditorName, getFont, getForeground, getHeight, getId, getLocation, getNamedBean, getParent, getPopupUtility, getPreferredSize, getScale, getTextComponent, getToolTip, getTypeName, getViewCoordinates, getWidth, getX, getY, invalidate, isControlling, isEditable, isEmptyHidden, isHidden, isOpaque, isPositionable, isValueEditDisabled, remove, removeAllClasses, removeClass, repaint, requestFocusInWindow, setBackground, setBorder, setControlling, setDisableControlMenu, setDisplayLevel, setEditable, setEditIconMenu, setEditItemMenu, setEditor, setEmptyHidden, setForeground, setHidden, setId, setLocation, setLocation, setOpaque, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScaleMenu, setShowToolTip, setSize, setTextEditMenu, setToolTip, setValueEditDisabled, setViewCoordinates, setVisible, showHidden, showPopUp, showToolTip, storeItem, updateSize
-
-
-
-
Constructor Detail
-
IndicatorTurnoutIcon
public IndicatorTurnoutIcon(Editor editor)
-
-
Method Detail
-
initMaps
static java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.Integer,NamedIcon>> initMaps()
-
cloneMaps
java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.Integer,NamedIcon>> cloneMaps(IndicatorTurnoutIcon pos)
-
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 classTurnoutIcon
- Returns:
- the copy
-
finishClone
protected Positionable finishClone(IndicatorTurnoutIcon pos)
-
getIconMaps
public java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.Integer,NamedIcon>> getIconMaps()
-
setOccSensor
public void setOccSensor(java.lang.String pName)
Attached a named sensor to display status from OBlocks- Specified by:
setOccSensor
in interfaceIndicatorTrack
- Parameters:
pName
- Used as a system/user name to lookup the sensor object
-
setOccSensorHandle
public void setOccSensorHandle(NamedBeanHandle<Sensor> sen)
- Specified by:
setOccSensorHandle
in interfaceIndicatorTrack
-
getOccSensor
public Sensor getOccSensor()
- Specified by:
getOccSensor
in interfaceIndicatorTrack
-
getNamedOccSensor
public NamedBeanHandle<Sensor> getNamedOccSensor()
- Specified by:
getNamedOccSensor
in interfaceIndicatorTrack
-
setOccBlock
public void setOccBlock(java.lang.String pName)
Attached a named OBlock to display status- Specified by:
setOccBlock
in interfaceIndicatorTrack
- Parameters:
pName
- Used as a system/user name to lookup the OBlock object
-
setOccBlockHandle
public void setOccBlockHandle(NamedBeanHandle<OBlock> blockHandle)
- Specified by:
setOccBlockHandle
in interfaceIndicatorTrack
-
getOccBlock
public OBlock getOccBlock()
- Specified by:
getOccBlock
in interfaceIndicatorTrack
-
getNamedOccBlock
public NamedBeanHandle<OBlock> getNamedOccBlock()
- Specified by:
getNamedOccBlock
in interfaceIndicatorTrack
-
setShowTrain
public void setShowTrain(boolean set)
- Specified by:
setShowTrain
in interfaceIndicatorTrack
-
showTrain
public boolean showTrain()
- Specified by:
showTrain
in interfaceIndicatorTrack
-
getPaths
public java.util.ArrayList<java.lang.String> getPaths()
- Specified by:
getPaths
in interfaceIndicatorTrack
-
setPaths
public void setPaths(java.util.ArrayList<java.lang.String> paths)
-
addPath
public void addPath(java.lang.String path)
- Specified by:
addPath
in interfaceIndicatorTrack
-
removePath
public void removePath(java.lang.String path)
- Specified by:
removePath
in interfaceIndicatorTrack
-
setStatus
public void setStatus(int state)
get track name for known state of occupancy sensor- Specified by:
setStatus
in interfaceIndicatorTrack
-
setIcon
public void setIcon(java.lang.String status, java.lang.String stateName, NamedIcon icon)
Place icon by its localized bean state name- Parameters:
status
- the track condition of the iconstateName
- NamedBean name of turnout stateicon
- icon corresponding to status and state
-
getStateName
public java.lang.String getStateName(java.lang.Integer state)
-
getStatus
public java.lang.String getStatus()
-
maxHeight
public int maxHeight()
- Specified by:
maxHeight
in interfacePositionable
- Overrides:
maxHeight
in classTurnoutIcon
-
maxWidth
public int maxWidth()
- Specified by:
maxWidth
in interfacePositionable
- Overrides:
maxWidth
in classTurnoutIcon
-
rotateOrthogonal
protected void rotateOrthogonal()
****** popup AbstractAction.actionPerformed method overrides ********- Overrides:
rotateOrthogonal
in classTurnoutIcon
-
setScale
public void setScale(double s)
- Specified by:
setScale
in interfacePositionable
- Overrides:
setScale
in classTurnoutIcon
-
rotate
public void rotate(int deg)
- Specified by:
rotate
in interfacePositionable
- Overrides:
rotate
in classTurnoutIcon
-
displayState
public void displayState(int state)
Drive the current state of the display from the state of the turnout and status of track.- Overrides:
displayState
in classTurnoutIcon
-
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 classTurnoutIcon
- 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 classTurnoutIcon
- Returns:
- the name to display
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent evt)
- Specified by:
propertyChange
in interfacejava.beans.PropertyChangeListener
- Overrides:
propertyChange
in classTurnoutIcon
-
editItem
protected void editItem()
- Overrides:
editItem
in classTurnoutIcon
-
updateItem
void updateItem()
- Overrides:
updateItem
in classTurnoutIcon
-
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 classTurnoutIcon
-
-