jmri.jmrit.display
Class SignalMastIcon

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.SignalMastIcon
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, Positionable

public class SignalMastIcon
extends PositionableIcon
implements java.beans.PropertyChangeListener

An icon to display a status of a SignalMast.

For now, this is done via text.

See Also:
SignalMastManager, InstanceManager, Serialized Form

Nested Class Summary
 
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
 
Field Summary
(package private)  SignalMastItemPanel _itemPanel
           
protected  int clickMode
          What to do on click?
(package private)  javax.swing.ButtonGroup litButtonGroup
           
protected  boolean litMode
          How to handle lit vs not lit?
(package private) static org.slf4j.Logger log
           
(package private) static TransitCreationTool tct
           
(package private)  java.lang.String useIconSet
           
 
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
SignalMastIcon(Editor editor)
           
 
Method Summary
 Positionable deepClone()
          Make a deep copy of Positional object.
 void displayState(int s)
          Set display of ClipBoard copied or duplicated mast
 void displayState(java.lang.String state)
          Drive the current state of the display from the state of the underlying SignalMast object.
 void dispose()
          Clean up when this object is no longer needed.
 void doMouseClicked(java.awt.event.MouseEvent e)
          Change the SignalMast aspect when the icon is clicked.
protected  void editItem()
           
 Positionable finishClone(Positionable p)
          Finsh the deep Copy of a Positional object.
 int getClickMode()
           
 boolean getLitMode()
           
 NamedBean getNamedBean()
          Provides a generic method to return the bean associated with the Positionable
 NamedBeanHandle<SignalMast> getNamedSignalMast()
           
 java.lang.String getNameString()
          Methods to add popup menu items return true if a popup item is set
 SignalMast getSignalMast()
           
 java.lang.String mastState()
          Get current appearance of the mast
 void performMouseClicked(java.awt.event.MouseEvent e)
          This was added in so that the layout editor can handle the mouseclicked when zoomed in
 void propertyChange(java.beans.PropertyChangeEvent e)
           
 void rotate(int deg)
           
protected  void rotateOrthogonal()
          popup AbstractAction method overrides
 void setClickMode(int mode)
           
 boolean setEditIconMenu(javax.swing.JPopupMenu popup)
           
 boolean setEditItemMenu(javax.swing.JPopupMenu popup)
           
 void setLitMode(boolean mode)
           
 boolean setRotateOrthogonalMenu(javax.swing.JPopupMenu popup)
          Rotate othogonally return true if popup is set
 void setScale(double s)
           
 void setShowAutoText(boolean state)
           
 void setSignalMast(NamedBeanHandle<SignalMast> sh)
          Attached a signalmast element to this display item
 void setSignalMast(java.lang.String pName)
          Taken from the layout editor Attached a numbered element to this display item
 boolean showPopUp(javax.swing.JPopupMenu popup)
          Pop-up just displays the name
(package private)  void updateItem()
           
 java.lang.String useIconSet()
           
 void useIconSet(java.lang.String icon)
           
 
Methods inherited from class jmri.jmrit.display.PositionableIcon
cloneMap, getDegrees, getFamily, getIcon, getIconStateNames, maxHeight, maxWidth, setFamily
 
Methods inherited from class jmri.jmrit.display.PositionableLabel
cloneIcon, 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, setEditor, setHidden, setLevel, setPopupUtility, setPositionable, setRotateMenu, 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, getBackground, getBounds, getFont, getForeground, getLocation, getParent, getPreferredSize, getX, getY, invalidate, isOpaque, repaint, requestFocusInWindow, setBackground, setBorder, setForeground, setLocation, setLocation, setOpaque, setSize, setVisible
 

Field Detail

litButtonGroup

javax.swing.ButtonGroup litButtonGroup

tct

static TransitCreationTool tct

_itemPanel

SignalMastItemPanel _itemPanel

useIconSet

java.lang.String useIconSet

clickMode

protected int clickMode
What to do on click? 0 means sequence through aspects; 1 means alternate the "lit" aspect; 2 means alternate the DefaultSignalAppearanceMap.HELD aspect.


litMode

protected boolean litMode
How to handle lit vs not lit?

False means ignore (always show R/Y/G/etc appearance on screen); True means show DefaultSignalAppearanceMap.DARK if lit is set false.


log

static org.slf4j.Logger log
Constructor Detail

SignalMastIcon

public SignalMastIcon(Editor editor)
Method Detail

setShowAutoText

public void setShowAutoText(boolean state)

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

setSignalMast

public void setSignalMast(NamedBeanHandle<SignalMast> sh)
Attached a signalmast element to this display item

Parameters:
sh - Specific SignalMast handle

setSignalMast

public void setSignalMast(java.lang.String pName)
Taken from the layout editor Attached a numbered element to this display item

Parameters:
pName - Used as a system/user name to lookup the SignalMast object

getNamedSignalMast

public NamedBeanHandle<SignalMast> getNamedSignalMast()

getSignalMast

public SignalMast getSignalMast()

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

mastState

public java.lang.String mastState()
Get current appearance of the mast

Returns:
An aspect from the SignalMast

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent e)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener

getNameString

public java.lang.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(javax.swing.JPopupMenu popup)
Pop-up just displays the name

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

setRotateOrthogonalMenu

public boolean setRotateOrthogonalMenu(javax.swing.JPopupMenu popup)
Description copied from class: PositionableLabel
Rotate othogonally return true if popup is set

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

setEditItemMenu

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

editItem

protected void editItem()

updateItem

void updateItem()

doMouseClicked

public void doMouseClicked(java.awt.event.MouseEvent e)
Change the SignalMast aspect when the icon is clicked.

Specified by:
doMouseClicked in interface Positionable
Overrides:
doMouseClicked in class PositionableLabel
Parameters:
e -

performMouseClicked

public void performMouseClicked(java.awt.event.MouseEvent e)
This was added in so that the layout editor can handle the mouseclicked when zoomed in


useIconSet

public void useIconSet(java.lang.String icon)

useIconSet

public java.lang.String useIconSet()

displayState

public void displayState(int s)
Set display of ClipBoard copied or duplicated mast

Overrides:
displayState in class PositionableIcon

displayState

public void displayState(java.lang.String state)
Drive the current state of the display from the state of the underlying SignalMast object.


setEditIconMenu

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

rotateOrthogonal

protected void rotateOrthogonal()
Description copied from class: PositionableIcon
popup AbstractAction method overrides

Overrides:
rotateOrthogonal in class PositionableIcon

rotate

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

setScale

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

setClickMode

public void setClickMode(int mode)

getClickMode

public int getClickMode()

setLitMode

public void setLitMode(boolean mode)

getLitMode

public boolean getLitMode()

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