Package jmri.jmrit.display
Class IndicatorTrackIcon
- 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.IndicatorTrackIcon
-
- 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 IndicatorTrackIcon extends PositionableIcon implements java.beans.PropertyChangeListener, IndicatorTrack
An icon to display the status of a track segment in a block.This responds to the following conditions:
- KnownState of an occupancy sensor of the block where the track segment appears
- Allocation of a route by a Warrant where the track segment appears
- Current position of a train being run under a Warrant where the track segment appears in a block of the route
- Out of Service for a block that cannot or should not be used
- An error state of the block where the track segment appears (short/no power etc.)
- 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 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, _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 IndicatorTrackIcon(Editor editor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPath(java.lang.String path)PositionabledeepClone()Make a deep copy of Positional object.voiddisplayState(java.lang.String status)voiddispose()Clean up when this object is no longer needed.protected voideditItem()protected PositionablefinishClone(IndicatorTrackIcon pos)NamedBeangetNamedBean()Provide a generic method to return the bean associated with the Positionable.NamedBeanHandle<OBlock>getNamedOccBlock()NamedBeanHandle<Sensor>getNamedOccSensor()java.lang.StringgetNameString()Get the name of the positional as a String.OBlockgetOccBlock()SensorgetOccSensor()java.util.ArrayList<java.lang.String>getPaths()java.lang.StringgetStatus()java.lang.StringgetTypeString()Get the type of the positional as a String.intmaxHeight()intmaxWidth()voidpropertyChange(java.beans.PropertyChangeEvent evt)voidremovePath(java.lang.String path)voidrotate(int deg)booleansetEditItemMenu(javax.swing.JPopupMenu popup)Add additional menu items to the menu.voidsetIcon(java.lang.String name, NamedIcon icon)voidsetOccBlock(java.lang.String pName)Attach a named OBlock to display status.voidsetOccBlockHandle(NamedBeanHandle<OBlock> blockHandle)voidsetOccSensor(java.lang.String pName)Attach a named sensor to display status.voidsetOccSensorHandle(NamedBeanHandle<Sensor> senHandle)voidsetPaths(java.util.ArrayList<java.lang.String> paths)voidsetShowTrain(boolean set)voidsetStatus(int state)Get track name for known state of occupancy sensorbooleanshowPopUp(javax.swing.JPopupMenu popup)Pop-up displays unique attributes.booleanshowTrain()-
Methods inherited from class jmri.jmrit.display.PositionableIcon
cloneMap, displayState, finishClone, getFamily, getIcon, getIconMap, getIconStateNames, getScale, getStateNameCollection, rotateOrthogonal, setFamily, setScale
-
Methods inherited from class jmri.jmrit.display.PositionableLabel
addClass, cloneIcon, doMouseClicked, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMousePressed, doMouseReleased, doViemMenu, edit, 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, setEditIconMenu, setEditor, setEditTextItemMenu, setEmptyHidden, setHidden, setIcon, setId, setLevel, setLogixNG, setLogixNG_SystemName, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScaleMenu, setShowToolTip, setSuperText, setText, setTextEditMenu, setToolTip, setUnRotatedText, setupLogixNG, setValueEditDisabled, setViewCoordinates, showEmptyHidden, 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, 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, setEditor, setEmptyHidden, setForeground, setHidden, setId, setLocation, setLocation, setOpaque, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScale, setScaleMenu, setShowToolTip, setSize, setTextEditMenu, setToolTip, setValueEditDisabled, setViewCoordinates, setVisible, showHidden, showToolTip, storeItem, updateSize
-
-
-
-
Constructor Detail
-
IndicatorTrackIcon
public IndicatorTrackIcon(Editor editor)
-
-
Method Detail
-
deepClone
@Nonnull 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 classPositionableIcon- Returns:
- the copy
-
finishClone
protected Positionable finishClone(IndicatorTrackIcon pos)
-
setOccSensor
public void setOccSensor(java.lang.String pName)
Attach a named sensor to display status.- Specified by:
setOccSensorin interfaceIndicatorTrack- Parameters:
pName- Used as a system/user name to lookup the sensor object
-
setOccSensorHandle
public void setOccSensorHandle(NamedBeanHandle<Sensor> senHandle)
- Specified by:
setOccSensorHandlein interfaceIndicatorTrack
-
getOccSensor
public Sensor getOccSensor()
- Specified by:
getOccSensorin interfaceIndicatorTrack
-
getNamedOccSensor
public NamedBeanHandle<Sensor> getNamedOccSensor()
- Specified by:
getNamedOccSensorin interfaceIndicatorTrack
-
setOccBlock
public void setOccBlock(java.lang.String pName)
Attach a named OBlock to display status.- Specified by:
setOccBlockin interfaceIndicatorTrack- Parameters:
pName- Used as a system/user name to look up the OBlock object
-
setOccBlockHandle
public void setOccBlockHandle(NamedBeanHandle<OBlock> blockHandle)
- Specified by:
setOccBlockHandlein interfaceIndicatorTrack
-
getOccBlock
public OBlock getOccBlock()
- Specified by:
getOccBlockin interfaceIndicatorTrack
-
getNamedOccBlock
public NamedBeanHandle<OBlock> getNamedOccBlock()
- Specified by:
getNamedOccBlockin interfaceIndicatorTrack
-
setShowTrain
public void setShowTrain(boolean set)
- Specified by:
setShowTrainin interfaceIndicatorTrack
-
showTrain
public boolean showTrain()
- Specified by:
showTrainin interfaceIndicatorTrack
-
getPaths
public java.util.ArrayList<java.lang.String> getPaths()
- Specified by:
getPathsin interfaceIndicatorTrack
-
setPaths
public void setPaths(java.util.ArrayList<java.lang.String> paths)
-
addPath
public void addPath(java.lang.String path)
- Specified by:
addPathin interfaceIndicatorTrack
-
removePath
public void removePath(java.lang.String path)
- Specified by:
removePathin interfaceIndicatorTrack
-
setStatus
public void setStatus(int state)
Get track name for known state of occupancy sensor- Specified by:
setStatusin interfaceIndicatorTrack
-
getStatus
public java.lang.String getStatus()
-
maxHeight
public int maxHeight()
- Specified by:
maxHeightin interfacePositionable- Overrides:
maxHeightin classPositionableIcon
-
maxWidth
public int maxWidth()
- Specified by:
maxWidthin interfacePositionable- Overrides:
maxWidthin classPositionableIcon
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent evt)
- 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
@Nonnull 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
-
showPopUp
public boolean showPopUp(javax.swing.JPopupMenu popup)
Pop-up displays unique attributes.- Specified by:
showPopUpin interfacePositionable- Overrides:
showPopUpin classPositionableLabel
-
displayState
public void displayState(java.lang.String status)
-
rotate
public void rotate(int deg)
- Specified by:
rotatein interfacePositionable- Overrides:
rotatein classPositionableIcon
-
setEditItemMenu
public boolean setEditItemMenu(javax.swing.JPopupMenu popup)
Description copied from interface:PositionableAdd additional menu items to the menu.- Specified by:
setEditItemMenuin interfacePositionable- Overrides:
setEditItemMenuin classPositionableLabel- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
editItem
protected void editItem()
-
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
-
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
-
-