jmri.jmrit.display
Class IndicatorTurnoutIcon

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.TurnoutIcon
                          extended by jmri.jmrit.display.IndicatorTurnoutIcon
All Implemented Interfaces:
ImageObserver, MenuContainer, PropertyChangeListener, Serializable, Cloneable, EventListener, Accessible, SwingConstants, IndicatorTrack, Positionable

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.

Author:
Bob Jacobsen Copyright (c) 2002
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
 
Fields inherited from class jmri.jmrit.display.TurnoutIcon
_iconMap, _name2stateMap, _state2nameMap
 
Fields inherited from class jmri.jmrit.display.PositionableLabel
_control, _controlling, _displayLevel, _editable, _editor, _hidden, _icon, _namedIcon, _positionable, _showTooltip, _text, _tooltip, _viewCoordinates, rb, 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
IndicatorTurnoutIcon(Editor editor)
           
 
Method Summary
 void addPath(String path)
           
 Positionable deepClone()
          Make a deep copy of Positional object.
 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.
 NamedIcon getIcon(String status, int state)
          Get clear icon by its localized bean state name
 Hashtable<String,Hashtable<Integer,NamedIcon>> getIconMaps()
           
 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()
           
 Iterator<String> getPaths()
           
 String getStateName(Integer state)
           
 String getStatus()
           
 int maxHeight()
           
 int maxWidth()
           
 void propertyChange(PropertyChangeEvent evt)
           
 void removePath(String path)
           
 void rotate(int deg)
           
protected  void rotateOrthogonal()
          popup AbstractAction.actionPerformed method overrides
 void setIcon(String status, String stateName, NamedIcon icon)
          Place icon by its localized 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 from OBlocks
 void setOccSensorHandle(NamedBeanHandle<Sensor> sen)
           
 void setPaths(ArrayList<String> paths)
           
 void setScale(double s)
           
 void setShowTrain(boolean set)
           
 boolean showTrain()
           
 
Methods inherited from class jmri.jmrit.display.TurnoutIcon
cloneMap, doMouseClicked, edit, getFamily, getIcon, getIcon, getNamedTurnout, getStateName, getTristate, getTurnout, setEditIconMenu, setEditItemMenu, setFamily, setIcon, setTristate, setTurnout, setTurnout, showPopUp
 
Methods inherited from class jmri.jmrit.display.PositionableLabel
cloneIcon, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMousePressed, doMouseReleased, doViemMenu, editIcon, getDegrees, getDisplayLevel, getEditor, getPopupUtility, getScale, getTooltip, getViewCoordinates, isActive, isBackground, isControl, isControlling, isEditable, isHidden, isIcon, isPositionable, isText, makeIconEditorFrame, makePalettteFrame, remove, setControlling, setDisableControlMenu, setDisplayLevel, setEditable, setEditor, setHidden, setLevel, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScaleMenu, setShowTooltip, 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, setText, 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, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, getSize, 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, getScale, getTooltip, getViewCoordinates, getWidth, getX, getY, invalidate, isControlling, isEditable, isHidden, isOpaque, isPositionable, remove, repaint, setBackground, setBorder, setControlling, setDisableControlMenu, setDisplayLevel, setEditable, setEditIconMenu, setEditItemMenu, setEditor, setForeground, setHidden, setLocation, setLocation, setOpaque, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScaleMenu, setShowTooltip, setSize, setTextEditMenu, setTooltip, setViewCoordinates, setVisible, showHidden, showPopUp, showTooltip, storeItem, updateSize
 

Constructor Detail

IndicatorTurnoutIcon

public IndicatorTurnoutIcon(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 TurnoutIcon

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 TurnoutIcon

getIconMaps

public Hashtable<String,Hashtable<Integer,NamedIcon>> getIconMaps()

setOccSensor

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

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> sen)
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 Iterator<String> getPaths()
Specified by:
getPaths in interface IndicatorTrack

setPaths

public void setPaths(ArrayList<String> paths)
Specified by:
setPaths in interface IndicatorTrack

addPath

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

removePath

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

setIcon

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

Parameters:
status - - the track condition of the icon
stateName - - NamedBean name of turnout state
icon - - icon corresponding to status and state

getIcon

public NamedIcon getIcon(String status,
                         int state)
Get clear icon by its localized bean state name


getStateName

public String getStateName(Integer state)

getStatus

public String getStatus()

maxHeight

public int maxHeight()
Specified by:
maxHeight in interface Positionable
Overrides:
maxHeight in class TurnoutIcon

maxWidth

public int maxWidth()
Specified by:
maxWidth in interface Positionable
Overrides:
maxWidth in class TurnoutIcon

rotateOrthogonal

protected void rotateOrthogonal()
popup AbstractAction.actionPerformed method overrides

Overrides:
rotateOrthogonal in class TurnoutIcon

setScale

public void setScale(double s)
Specified by:
setScale in interface Positionable
Overrides:
setScale in class TurnoutIcon

rotate

public void rotate(int deg)
Specified by:
rotate in interface Positionable
Overrides:
rotate in class TurnoutIcon

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 TurnoutIcon

propertyChange

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

editItem

protected void editItem()
Overrides:
editItem in class TurnoutIcon

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 TurnoutIcon


Copyright © 1997 - 2011 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