jmri.jmrit.display
Class MultiSensorIcon

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

public class MultiSensorIcon
extends PositionableLabel
implements PropertyChangeListener

An icon to display a status of set of Sensors.

Each sensor has an associated image. Normally, only one sensor will be active at a time, and in that case the associated image will be shown. If more than one is active, one of the corresponding images will be shown, but which one is not guaranteed.

See Also:
Serialized Form

Nested Class Summary
(package private) static class MultiSensorIcon.Entry
           
 
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)  String _iconFamily
           
(package private)  MultiSensorItemPanel _itemPanel
           
(package private)  int displaying
          end popup action methods
(package private)  ArrayList<MultiSensorIcon.Entry> entries
           
(package private)  NamedIcon inactive
           
(package private)  String inactiveName
           
(package private)  NamedIcon inconsistent
           
(package private)  String inconsistentName
           
(package private) static org.slf4j.Logger log
           
(package private)  NamedIcon unknown
           
(package private)  String unknownName
           
(package private)  boolean updown
           
 
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
MultiSensorIcon(Editor editor)
           
 
Method Summary
 void addEntry(NamedBeanHandle<Sensor> sensor, NamedIcon icon)
           
 void addEntry(String pName, NamedIcon icon)
           
(package private)  boolean buttonLive()
           
 Positionable deepClone()
          Make a deep copy of Positional object.
 void displayState()
          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)
           
protected  void edit()
           
protected  void editItem()
           
 Positionable finishClone(Positionable p)
          Finsh the deep Copy of a Positional object.
 String getFamily()
           
 NamedIcon getInactiveIcon()
           
 NamedIcon getInconsistentIcon()
           
 String getNameString()
          Methods to add popup menu items return true if a popup item is set
 int getNumEntries()
           
 NamedIcon getSensorIcon(int i)
           
 String getSensorName(int i)
           
 NamedIcon getUnknownIcon()
           
 boolean getUpDown()
           
 int maxHeight()
           
 int maxWidth()
           
 void performMouseClicked(MouseEvent e, int xx, int yy)
           
 void propertyChange(PropertyChangeEvent e)
           
 void rotate(int deg)
           
protected  void rotateOrthogonal()
          popup AbstractAction.actionPerformed method overrides
 boolean setEditIconMenu(JPopupMenu popup)
           
 boolean setEditItemMenu(JPopupMenu popup)
           
 void setFamily(String family)
           
 void setInactiveIcon(NamedIcon i)
           
 void setInconsistentIcon(NamedIcon i)
           
 void setScale(double s)
           
 void setUnknownIcon(NamedIcon i)
           
 void setUpDown(boolean b)
           
(package private)  void updateItem()
           
(package private)  void updateSensor()
           
 
Methods inherited from class jmri.jmrit.display.PositionableLabel
cloneIcon, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMousePressed, doMouseReleased, doViemMenu, editIcon, getDegrees, getDisplayLevel, getEditor, getHeight, getNamedBean, 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, setEditor, setHidden, setLevel, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScaleMenu, setShowTooltip, setSuperText, setText, setTextEditMenu, setTooltip, setViewCoordinates, showHidden, showPopUp, 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, getBackground, getBounds, getFont, getForeground, getLocation, getParent, getPreferredSize, getX, getY, invalidate, isOpaque, repaint, requestFocusInWindow, setBackground, setBorder, setForeground, setLocation, setLocation, setOpaque, setSize, setVisible
 

Field Detail

_iconFamily

String _iconFamily

updown

boolean updown

entries

ArrayList<MultiSensorIcon.Entry> entries

inactiveName

String inactiveName

inactive

NamedIcon inactive

inconsistentName

String inconsistentName

inconsistent

NamedIcon inconsistent

unknownName

String unknownName

unknown

NamedIcon unknown

_itemPanel

MultiSensorItemPanel _itemPanel

displaying

int displaying
end popup action methods


log

static org.slf4j.Logger log
Constructor Detail

MultiSensorIcon

public MultiSensorIcon(Editor editor)
Method Detail

setUpDown

public void setUpDown(boolean b)

getUpDown

public boolean getUpDown()

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

addEntry

public void addEntry(NamedBeanHandle<Sensor> sensor,
                     NamedIcon icon)

addEntry

public void addEntry(String pName,
                     NamedIcon icon)

getNumEntries

public int getNumEntries()

getSensorName

public String getSensorName(int i)

getSensorIcon

public NamedIcon getSensorIcon(int i)

getFamily

public String getFamily()

setFamily

public void setFamily(String family)

getInactiveIcon

public NamedIcon getInactiveIcon()

setInactiveIcon

public void setInactiveIcon(NamedIcon i)

getInconsistentIcon

public NamedIcon getInconsistentIcon()

setInconsistentIcon

public void setInconsistentIcon(NamedIcon i)

getUnknownIcon

public NamedIcon getUnknownIcon()

setUnknownIcon

public void setUnknownIcon(NamedIcon i)

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

rotateOrthogonal

protected void rotateOrthogonal()
popup AbstractAction.actionPerformed method overrides

Overrides:
rotateOrthogonal in class PositionableLabel

setScale

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

rotate

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

setEditItemMenu

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

editItem

protected void editItem()

updateItem

void updateItem()

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

updateSensor

void updateSensor()

displayState

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


maxHeight

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

maxWidth

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

performMouseClicked

public void performMouseClicked(MouseEvent e,
                                int xx,
                                int yy)

buttonLive

boolean buttonLive()

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


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