Package jmri.jmrit.display
Class SignalMastIcon
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JLabel
-
- jmri.jmrit.display.PositionableLabel
-
- jmri.jmrit.display.PositionableIcon
-
- 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,InlineLogixNG
public class SignalMastIcon extends PositionableIcon implements java.beans.PropertyChangeListener
An icon to display a status of aSignalMast.The icons displayed are loaded from the
SignalAppearanceMapin theSignalMast.- See Also:
SignalMastManager,InstanceManager, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jmri.jmrit.display.PositionableLabel
PositionableLabel.PaletteFrameCloser
-
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
-
Nested classes/interfaces inherited from interface jmri.jmrit.display.Positionable
Positionable.DuplicateIdException
-
-
Field Summary
Fields Modifier and Type Field Description (package private) SignalMastItemPanel_itemPanelprotected intclickModeWhat to do on click?(package private) javax.swing.ButtonGrouplitButtonGroupprotected booleanlitModeHow to handle lit vs not lit?(package private) static TransitCreationTooltct(package private) java.lang.StringuseIconSet-
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, _emptyHidden, _hidden, _icon, _iconEditor, _iconEditorFrame, _iconItemPanel, _namedIcon, _paletteFrame, _popupUtil, _positionable, _rotateText, _showTooltip, _text, _tooltip, _unRotatedText, _valueEditDisabled, _viewCoordinates, active, disableItem
-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description SignalMastIcon(Editor editor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PositionabledeepClone()Make a deep copy of Positional object.voiddisplayState(int s)Set display of ClipBoard copied or duplicated mastvoiddisplayState(java.lang.String state)Drive the current state of the display from the state of the underlying SignalMast object.voiddispose()Clean up when this object is no longer needed.voiddoMouseClicked(JmriMouseEvent e)Change the SignalMast aspect when the icon is clicked.protected voideditItem()protected PositionablefinishClone(SignalMastIcon pos)intgetClickMode()booleangetLitMode()NamedBeangetNamedBean()Provide a generic method to return the bean associated with the Positionable.NamedBeanHandle<SignalMast>getNamedSignalMast()java.lang.StringgetNameString()Get the name of the positional as a String.SignalMastgetSignalMast()java.lang.StringgetTypeString()Get the type of the positional as a String.java.lang.StringmastState()Get current appearance of the mastvoidperformMouseClicked(JmriMouseEvent e)Handle mouse clicks when no modifier keys are pressed.voidpropertyChange(java.beans.PropertyChangeEvent e)voidrotate(int deg)protected voidrotateOrthogonal()****** popup AbstractAction method overrides ********voidsetClickMode(int mode)booleansetEditIconMenu(javax.swing.JPopupMenu popup)Add additional menu items to the menu.booleansetEditItemMenu(javax.swing.JPopupMenu popup)Add additional menu items to the menu.voidsetLitMode(boolean mode)booleansetRotateOrthogonalMenu(javax.swing.JPopupMenu popup)Rotate othogonally return true if popup is setvoidsetScale(double s)voidsetShowAutoText(boolean state)voidsetSignalMast(java.lang.String pName)Taken from the layout editor Attached a numbered element to this display itemvoidsetSignalMast(NamedBeanHandle<SignalMast> sh)Attached a signalmast element to this display itembooleanshowPopUp(javax.swing.JPopupMenu popup)Pop-up just displays the name(package private) voidupdateItem()java.lang.StringuseIconSet()voiduseIconSet(java.lang.String icon)-
Methods inherited from class jmri.jmrit.display.PositionableIcon
cloneMap, finishClone, getFamily, getIcon, getIconMap, getIconStateNames, getScale, getStateNameCollection, maxHeight, maxWidth, setFamily
-
Methods inherited from class jmri.jmrit.display.PositionableLabel
addClass, cloneIcon, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMousePressed, doMouseReleased, doViemMenu, edit, editIcon, editIconItem, editTextItem, finishClone, finishItemUpdate, getClasses, getDegrees, getDisplayLevel, getEditor, getHeight, getId, getLogixNG, getPopupUtility, getSize, getTextComponent, getToolTip, getUnRotatedText, getViewCoordinates, getWidth, initPaletteFrame, isActive, isBackground, isControl, isControlling, isEditable, isEmptyHidden, isHidden, isIcon, isPositionable, isRotated, isText, isValueEditDisabled, makeIconEditorFrame, makePaletteFrame, makeTextOverlaidIcon, maxHeightTrue, maxWidthTrue, paintComponent, remove, removeAllClasses, removeClass, setControlling, setDegrees, setDisableControlMenu, setDisplayLevel, setEditable, setEditor, setEditTextItemMenu, setEmptyHidden, setHidden, setIcon, setId, setLevel, setLogixNG, setLogixNG_SystemName, setPopupUtility, setPositionable, setRotateMenu, setScaleMenu, setShowToolTip, setSuperText, setText, setTextEditMenu, setToolTip, setUnRotatedText, setupLogixNG, setValueEditDisabled, setViewCoordinates, showEmptyHidden, showHidden, showToolTip, storeItem, updateIcon, updateSize, updateTextItem
-
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, 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, getEditorName, getFont, getForeground, getLocation, getParent, getPreferredSize, getTypeName, getX, getY, invalidate, isOpaque, repaint, requestFocusInWindow, setBackground, setBorder, setForeground, setLocation, setLocation, setOpaque, setSize, setVisible
-
-
-
-
Field Detail
-
litButtonGroup
javax.swing.ButtonGroup litButtonGroup
-
tct
static volatile 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 theSignalAppearanceMap.HELDaspect.
-
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
SignalAppearanceMap.DARKif lit is set false.
-
-
Constructor Detail
-
SignalMastIcon
public SignalMastIcon(Editor editor)
-
-
Method Detail
-
setShowAutoText
public void setShowAutoText(boolean state)
-
deepClone
public Positionable deepClone()
Description copied from interface:PositionableMake 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); }Then finishClone() finishes 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:
deepClonein interfacePositionable- Overrides:
deepClonein classPositionableIcon- Returns:
- the copy
-
finishClone
protected Positionable finishClone(SignalMastIcon pos)
-
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:PositionableLabelProvide a generic method to return the bean associated with the Positionable.- Specified by:
getNamedBeanin interfacePositionable- Overrides:
getNamedBeanin classPositionableLabel
-
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:
propertyChangein interfacejava.beans.PropertyChangeListener
-
getTypeString
@Nonnull public java.lang.String getTypeString()
Description copied from interface:PositionableGet the type of the positional as a String.- Specified by:
getTypeStringin interfacePositionable- Overrides:
getTypeStringin classPositionableLabel- Returns:
- the type to display
-
getNameString
public java.lang.String getNameString()
Description copied from interface:PositionableGet the name of the positional as a String. This is often the display name of the NamedBean being positioned.- Specified by:
getNameStringin interfaceInlineLogixNG- Specified by:
getNameStringin interfacePositionable- Overrides:
getNameStringin classPositionableLabel- Returns:
- the name to display
-
showPopUp
public boolean showPopUp(javax.swing.JPopupMenu popup)
Pop-up just displays the name- Specified by:
showPopUpin interfacePositionable- Overrides:
showPopUpin classPositionableLabel
-
setRotateOrthogonalMenu
public boolean setRotateOrthogonalMenu(javax.swing.JPopupMenu popup)
Description copied from class:PositionableLabelRotate othogonally return true if popup is set- Specified by:
setRotateOrthogonalMenuin interfacePositionable- Overrides:
setRotateOrthogonalMenuin classPositionableLabel- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
setEditItemMenu
public boolean setEditItemMenu(javax.swing.JPopupMenu popup)
Description copied from interface:PositionableAdd additional menu items to the menu.- Specified by:
setEditItemMenuin interfacePositionable- Overrides:
setEditItemMenuin classPositionableLabel- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
editItem
protected void editItem()
-
updateItem
void updateItem()
-
doMouseClicked
public void doMouseClicked(JmriMouseEvent e)
Change the SignalMast aspect when the icon is clicked.- Specified by:
doMouseClickedin interfacePositionable- Overrides:
doMouseClickedin classPositionableLabel
-
performMouseClicked
public void performMouseClicked(JmriMouseEvent e)
Handle mouse clicks when no modifier keys are pressed. Mouse clicks with modifier keys pressed can be processed by the containing component.- Parameters:
e- the mouse click event
-
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:
displayStatein classPositionableIcon
-
displayState
public void displayState(java.lang.String state)
Drive the current state of the display from the state of the underlying SignalMast object.- Parameters:
state- the state to display
-
setEditIconMenu
public boolean setEditIconMenu(javax.swing.JPopupMenu popup)
Description copied from interface:PositionableAdd additional menu items to the menu.- Specified by:
setEditIconMenuin interfacePositionable- Overrides:
setEditIconMenuin classPositionableLabel- Parameters:
popup- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
rotateOrthogonal
protected void rotateOrthogonal()
Description copied from class:PositionableIcon****** popup AbstractAction method overrides ********- Overrides:
rotateOrthogonalin classPositionableIcon
-
rotate
public void rotate(int deg)
- Specified by:
rotatein interfacePositionable- Overrides:
rotatein classPositionableIcon
-
setScale
public void setScale(double s)
- Specified by:
setScalein interfacePositionable- Overrides:
setScalein classPositionableIcon
-
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:PositionableLabelClean up when this object is no longer needed. Should not be called while the object is still displayed; see remove()- Overrides:
disposein classPositionableLabel
-
-