jmri.jmrit.display
Class SensorIcon

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.SensorIcon
All Implemented Interfaces:
ImageObserver, MenuContainer, PropertyChangeListener, Serializable, Cloneable, EventListener, Accessible, SwingConstants, Positionable

public class SensorIcon
extends PositionableIcon
implements PropertyChangeListener

An icon to display a status of a Sensor.

Author:
Bob Jacobsen Copyright (C) 2001, PeteCressman Copyright (C) 2010, 2011
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
protected  Hashtable<String,Integer> _name2stateMap
           
protected  Hashtable<Integer,String> _state2nameMap
           
static int ACTIVE_BACKGROUND_COLOR
           
static int ACTIVE_FONT_COLOR
           
static int INACTIVE_BACKGROUND_COLOR
           
static int INACTIVE_FONT_COLOR
           
static int INCONSISTENT_BACKGROUND_COLOR
           
static int INCONSISTENT_FONT_COLOR
           
static int UNKOWN_BACKGROUND_COLOR
           
static int UNKOWN_FONT_COLOR
           
 
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, _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
SensorIcon(Editor editor)
           
SensorIcon(NamedIcon s, Editor editor)
           
SensorIcon(String s, Editor editor)
           
 
Method Summary
 boolean buttonLive()
           
protected  Hashtable<Integer,NamedIcon> cloneMap(Hashtable<Integer,NamedIcon> map, SensorIcon 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.
 void dispose()
          Clean up when this object is no longer needed.
 void doMouseClicked(MouseEvent e)
           
 void doMousePressed(MouseEvent e)
           
 void doMouseReleased(MouseEvent e)
           
protected  void edit()
           
protected  void editItem()
           
 Positionable finishClone(Positionable p)
          Finsh the deep Copy of a Positional object.
 String getActiveText()
           
 Color getBackgroundActive()
           
 Color getBackgroundInActive()
           
 Color getBackgroundInconsistent()
           
 Color getBackgroundUnknown()
           
 String getFamily()
           
 NamedIcon getIcon(int state)
           
 NamedIcon getIcon(String state)
          Get icon by its localized bean state name
 String getInactiveText()
           
 String getInconsistentText()
           
 boolean getMomentary()
           
 NamedBeanHandle<Sensor> getNamedSensor()
           
 String getNameString()
          Methods to add popup menu items return true if a popup item is set
 String getOriginalText()
           
 Sensor getSensor()
           
 Color getTextActive()
           
 Color getTextInActive()
           
 Color getTextInconsistent()
           
 Color getTextUnknown()
           
 String getUnknownText()
           
 int maxHeight()
           
 int maxWidth()
           
 void propertyChange(PropertyChangeEvent e)
           
 void sensorTextEdit(String name)
           
 void setActiveText(String i)
           
 void setBackgroundActive(Color color)
           
 void setBackgroundInActive(Color color)
           
 void setBackgroundInconsistent(Color color)
           
 void setBackgroundUnknown(Color color)
           
 boolean setEditIconMenu(JPopupMenu popup)
           
 boolean setEditItemMenu(JPopupMenu popup)
           
 void setFamily(String family)
           
 void setIcon(String name, NamedIcon icon)
          Place icon by its bean state name key found in jmri.NamedBeanBundle.properties That is, by its localized bean state name
 void setInactiveText(String i)
           
 void setInconsistentText(String i)
           
 void setMomentary(boolean m)
           
 void setOriginalText(String s)
           
 void setSensor(NamedBeanHandle<Sensor> s)
          Attached a named sensor to this display item
 void setSensor(String pName)
          Attached a named sensor to this display item
 void setText(String s)
           
 void setTextActive(Color color)
           
 boolean setTextEditMenu(JPopupMenu popup)
          popup AbstractAction.actionPerformed method overrides
 void setTextInActive(Color color)
           
 void setTextInconsistent(Color color)
           
 void setTextUnknown(Color color)
           
 void setUnknownText(String i)
           
 boolean showPopUp(JPopupMenu popup)
          Pop-up just displays the sensor name
 
Methods inherited from class jmri.jmrit.display.PositionableIcon
cloneMap, getDegrees, getIconStateNames, getScale, rotate, rotateOrthogonal, setScale
 
Methods inherited from class jmri.jmrit.display.PositionableLabel
cloneIcon, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doViemMenu, editIcon, getDisplayLevel, getEditor, getPopupUtility, 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, 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, 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, getBackground, getBounds, getFont, getForeground, getHeight, getLocation, getParent, getPreferredSize, getWidth, getX, getY, invalidate, isOpaque, repaint, setBackground, setBorder, setForeground, setLocation, setLocation, setOpaque, setSize, setVisible
 

Field Detail

UNKOWN_FONT_COLOR

public static final int UNKOWN_FONT_COLOR
See Also:
Constant Field Values

UNKOWN_BACKGROUND_COLOR

public static final int UNKOWN_BACKGROUND_COLOR
See Also:
Constant Field Values

ACTIVE_FONT_COLOR

public static final int ACTIVE_FONT_COLOR
See Also:
Constant Field Values

ACTIVE_BACKGROUND_COLOR

public static final int ACTIVE_BACKGROUND_COLOR
See Also:
Constant Field Values

INACTIVE_FONT_COLOR

public static final int INACTIVE_FONT_COLOR
See Also:
Constant Field Values

INACTIVE_BACKGROUND_COLOR

public static final int INACTIVE_BACKGROUND_COLOR
See Also:
Constant Field Values

INCONSISTENT_FONT_COLOR

public static final int INCONSISTENT_FONT_COLOR
See Also:
Constant Field Values

INCONSISTENT_BACKGROUND_COLOR

public static final int INCONSISTENT_BACKGROUND_COLOR
See Also:
Constant Field Values

_name2stateMap

protected Hashtable<String,Integer> _name2stateMap

_state2nameMap

protected Hashtable<Integer,String> _state2nameMap
Constructor Detail

SensorIcon

public SensorIcon(Editor editor)

SensorIcon

public SensorIcon(NamedIcon s,
                  Editor editor)

SensorIcon

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

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 PositionableLabel

setSensor

public void setSensor(String pName)
Attached a named sensor to this display item

Parameters:
pName - System/user name to lookup the sensor object

setSensor

public void setSensor(NamedBeanHandle<Sensor> s)
Attached a named sensor to this display item

Parameters:
s - the Sensor

getSensor

public Sensor getSensor()

getNamedSensor

public NamedBeanHandle<Sensor> getNamedSensor()

setIcon

public void setIcon(String name,
                    NamedIcon icon)
Place icon by its bean state name key found in jmri.NamedBeanBundle.properties That is, by its localized bean state name


getIcon

public NamedIcon getIcon(String state)
Get icon by its localized bean state name

Overrides:
getIcon in class PositionableIcon

getIcon

public NamedIcon getIcon(int state)

getFamily

public String getFamily()
Overrides:
getFamily in class PositionableIcon

setFamily

public void setFamily(String family)
Overrides:
setFamily in class PositionableIcon

propertyChange

public void propertyChange(PropertyChangeEvent e)
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 just displays the sensor name

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

setTextEditMenu

public boolean setTextEditMenu(JPopupMenu popup)
popup AbstractAction.actionPerformed method overrides

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

sensorTextEdit

public void sensorTextEdit(String name)

displayState

public void displayState(int state)
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()

setEditIconMenu

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

edit

protected void edit()
Overrides:
edit in class PositionableLabel

setOriginalText

public void setOriginalText(String s)

getOriginalText

public String getOriginalText()

setText

public void setText(String s)
Overrides:
setText in class JLabel

getMomentary

public boolean getMomentary()

setMomentary

public void setMomentary(boolean m)

buttonLive

public boolean buttonLive()

doMousePressed

public void doMousePressed(MouseEvent e)
Specified by:
doMousePressed in interface Positionable
Overrides:
doMousePressed in class PositionableLabel

doMouseReleased

public void doMouseReleased(MouseEvent e)
Specified by:
doMouseReleased in interface Positionable
Overrides:
doMouseReleased in class PositionableLabel

doMouseClicked

public void doMouseClicked(MouseEvent e)
Specified by:
doMouseClicked in interface Positionable
Overrides:
doMouseClicked in class PositionableLabel

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

cloneMap

protected Hashtable<Integer,NamedIcon> cloneMap(Hashtable<Integer,NamedIcon> map,
                                                SensorIcon pos)

maxWidth

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

maxHeight

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

setTextActive

public void setTextActive(Color color)

getTextActive

public Color getTextActive()

setTextInActive

public void setTextInActive(Color color)

getTextInActive

public Color getTextInActive()

setTextUnknown

public void setTextUnknown(Color color)

getTextUnknown

public Color getTextUnknown()

setTextInconsistent

public void setTextInconsistent(Color color)

getTextInconsistent

public Color getTextInconsistent()

setBackgroundActive

public void setBackgroundActive(Color color)

getBackgroundActive

public Color getBackgroundActive()

setBackgroundInActive

public void setBackgroundInActive(Color color)

getBackgroundInActive

public Color getBackgroundInActive()

setBackgroundUnknown

public void setBackgroundUnknown(Color color)

getBackgroundUnknown

public Color getBackgroundUnknown()

setBackgroundInconsistent

public void setBackgroundInconsistent(Color color)

getBackgroundInconsistent

public Color getBackgroundInconsistent()

getActiveText

public String getActiveText()

setActiveText

public void setActiveText(String i)

getInactiveText

public String getInactiveText()

setInactiveText

public void setInactiveText(String i)

getInconsistentText

public String getInconsistentText()

setInconsistentText

public void setInconsistentText(String i)

getUnknownText

public String getUnknownText()

setUnknownText

public void setUnknownText(String i)


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