jmri.jmrit.display
Class IndicatorTrackIcon

Show UML class diagram
java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JLabel
                  extended by jmri.jmrit.display.PositionableLabel
                      extended by jmri.jmrit.display.PositionableIcon
                          extended by jmri.jmrit.display.IndicatorTrackIcon
All Implemented Interfaces:
ImageObserver, MenuContainer, PropertyChangeListener, Serializable, Cloneable, EventListener, Accessible, SwingConstants, IndicatorTrack, Positionable

public class IndicatorTrackIcon
extends PositionableIcon
implements PropertyChangeListener, IndicatorTrack

An icon to display the status of a track segment in a block

This responds to the following conditions: 1. KnownState of an occupancy sensor of the block where the track segment appears 2. Allocation of a route by a Warrant where the track segment appears 3. Current position of a train being run under a Warrant where the track segment appears in a block of the route 4. Out of Service for a block that cannot or should not be used 5. An error state of the block where the track segment appears (short/no power etc.)

A click on the icon does not change any of the above conditions..

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JLabel
JLabel.AccessibleJLabel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
(package private) static org.slf4j.Logger log
           
 
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, _hidden, _icon, _iconEditor, _iconEditorFrame, _namedIcon, _paletteFrame, _popupUtil, _positionable, _rotateText, _showTooltip, _text, _tooltip, _unRotatedText, _viewCoordinates, active, disableItem, rbean
 
Fields inherited from class javax.swing.JLabel
labelFor
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
IndicatorTrackIcon(Editor editor)
           
 
Method Summary
 void addPath(String path)
           
 Positionable deepClone()
          Make a deep copy of Positional object.
(package private)  void displayState(String status)
          Drive the current state of the display from the state of the turnout.
 void dispose()
          Clean up when this object is no longer needed.
protected  void editItem()
           
 Positionable finishClone(Positionable p)
          Finsh the deep Copy of a Positional object.
 HashMap<String,NamedIcon> getIconMap()
           
 NamedBean getNamedBean()
          Provides a generic method to return the bean associated with the Positionable
 NamedBeanHandle<OBlock> getNamedOccBlock()
           
 NamedBeanHandle<Sensor> getNamedOccSensor()
           
 String getNameString()
          Methods to add popup menu items return true if a popup item is set
 OBlock getOccBlock()
           
 Sensor getOccSensor()
           
 ArrayList<String> getPaths()
           
 String getStatus()
           
 void propertyChange(PropertyChangeEvent evt)
           
 void removePath(String path)
           
 boolean setEditItemMenu(JPopupMenu popup)
           
 void setIcon(String name, NamedIcon icon)
          Place icon by its bean state name
 void setOccBlock(String pName)
          Attached a named OBlock to display status
 void setOccBlockHandle(NamedBeanHandle<OBlock> blockHandle)
           
 void setOccSensor(String pName)
          Attached a named sensor to display status
 void setOccSensorHandle(NamedBeanHandle<Sensor> senHandle)
           
 void setPaths(ArrayList<String> paths)
           
 void setShowTrain(boolean set)
           
 void setStatus(int state)
           
 boolean showPopUp(JPopupMenu popup)
          Pop-up displays unique attributes
 boolean showTrain()
           
(package private)  void updateItem()
           
 
Methods inherited from class jmri.jmrit.display.PositionableIcon
cloneMap, displayState, getDegrees, getFamily, getIcon, getIconStateNames, maxHeight, maxWidth, rotate, rotateOrthogonal, setFamily, setScale
 
Methods inherited from class jmri.jmrit.display.PositionableLabel
cloneIcon, doMouseClicked, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMousePressed, doMouseReleased, doViemMenu, edit, editIcon, getDisplayLevel, getEditor, getHeight, getPopupUtility, getSaveOpaque, getScale, getSize, getTextComponent, getTooltip, getUnRotatedText, getViewCoordinates, getWidth, isActive, isBackground, isControl, isControlling, isEditable, isHidden, isIcon, isPositionable, isRotated, isText, makeIconEditorFrame, makePalettteFrame, makeTextOverlaidIcon, maxHeightTrue, maxWidthTrue, paintComponent, remove, saveOpaque, setControlling, setDegrees, setDisableControlMenu, setDisplayLevel, setEditable, setEditIconMenu, setEditor, setHidden, setLevel, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScaleMenu, setShowTooltip, setSuperText, setText, setTextEditMenu, setTooltip, setViewCoordinates, showHidden, showTooltip, storeItem, updateIcon, updateSize
 
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, 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, doMouseClicked, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMousePressed, doMouseReleased, doViemMenu, getBackground, getBounds, getDegrees, getDisplayLevel, getEditor, getFont, getForeground, getHeight, getLocation, getParent, getPopupUtility, getPreferredSize, getSaveOpaque, getScale, getTextComponent, getTooltip, getViewCoordinates, getWidth, getX, getY, invalidate, isControlling, isEditable, isHidden, isOpaque, isPositionable, maxHeight, maxWidth, remove, repaint, requestFocusInWindow, rotate, setBackground, setBorder, setControlling, setDisableControlMenu, setDisplayLevel, setEditable, setEditIconMenu, setEditor, setForeground, setHidden, setLocation, setLocation, setOpaque, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScale, setScaleMenu, setShowTooltip, setSize, setTextEditMenu, setTooltip, setViewCoordinates, setVisible, showHidden, showTooltip, storeItem, updateSize
 

Field Detail

log

static org.slf4j.Logger log
Constructor Detail

IndicatorTrackIcon

public IndicatorTrackIcon(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); }

Specified by:
deepClone in interface Positionable
Overrides:
deepClone in class PositionableLabel

finishClone

public Positionable finishClone(Positionable p)
Description copied from interface: Positionable
Finsh 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:
finishClone in interface Positionable
Overrides:
finishClone in class PositionableIcon

getIconMap

public HashMap<String,NamedIcon> getIconMap()

setOccSensor

public void setOccSensor(String pName)
Attached a named sensor to display status

Specified by:
setOccSensor in interface IndicatorTrack
Parameters:
pName - Used as a system/user name to lookup the sensor object

setOccSensorHandle

public void setOccSensorHandle(NamedBeanHandle<Sensor> senHandle)
Specified by:
setOccSensorHandle in interface IndicatorTrack

getOccSensor

public Sensor getOccSensor()
Specified by:
getOccSensor in interface IndicatorTrack

getNamedOccSensor

public NamedBeanHandle<Sensor> getNamedOccSensor()
Specified by:
getNamedOccSensor in interface IndicatorTrack

setOccBlock

public void setOccBlock(String pName)
Attached a named OBlock to display status

Specified by:
setOccBlock in interface IndicatorTrack
Parameters:
pName - Used as a system/user name to lookup the OBlock object

setOccBlockHandle

public void setOccBlockHandle(NamedBeanHandle<OBlock> blockHandle)
Specified by:
setOccBlockHandle in interface IndicatorTrack

getOccBlock

public OBlock getOccBlock()
Specified by:
getOccBlock in interface IndicatorTrack

getNamedOccBlock

public NamedBeanHandle<OBlock> getNamedOccBlock()
Specified by:
getNamedOccBlock in interface IndicatorTrack

setShowTrain

public void setShowTrain(boolean set)
Specified by:
setShowTrain in interface IndicatorTrack

showTrain

public boolean showTrain()
Specified by:
showTrain in interface IndicatorTrack

getPaths

public ArrayList<String> getPaths()
Specified by:
getPaths in interface IndicatorTrack

setPaths

public void setPaths(ArrayList<String> paths)

addPath

public void addPath(String path)
Specified by:
addPath in interface IndicatorTrack

removePath

public void removePath(String path)
Specified by:
removePath in interface IndicatorTrack

setStatus

public void setStatus(int state)
Specified by:
setStatus in interface IndicatorTrack

setIcon

public void setIcon(String name,
                    NamedIcon icon)
Place icon by its bean state name


getStatus

public String getStatus()

propertyChange

public void propertyChange(PropertyChangeEvent evt)
Specified by:
propertyChange in interface PropertyChangeListener

getNameString

public String getNameString()
Description copied from interface: Positionable
Methods to add popup menu items return true if a popup item is set

Specified by:
getNameString in interface Positionable
Overrides:
getNameString in class PositionableLabel

showPopUp

public boolean showPopUp(JPopupMenu popup)
Pop-up displays unique attributes

Specified by:
showPopUp in interface Positionable
Overrides:
showPopUp in class PositionableLabel

displayState

void displayState(String status)
Drive the current state of the display from the state of the turnout.


setEditItemMenu

public boolean setEditItemMenu(JPopupMenu popup)
Specified by:
setEditItemMenu in interface Positionable
Overrides:
setEditItemMenu in class PositionableLabel

editItem

protected void editItem()

updateItem

void updateItem()

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 class PositionableLabel

getNamedBean

public NamedBean getNamedBean()
Description copied from class: PositionableLabel
Provides a generic method to return the bean associated with the Positionable

Specified by:
getNamedBean in interface Positionable
Overrides:
getNamedBean in class PositionableLabel


Copyright © 1997-2014 JMRI Community.
JMRI, DecoderPro, PanelPro, SoundPro, DispatcherPro and associated logos are our trademarks.

Additional information on copyright, trademarks and licenses is linked here.
Site hosted by: Get JMRI Model Railroad Interface at SourceForge.net. Fast, secure and Free Open Source software downloads