Package jmri.jmrit.display
Class RpsPositionIcon
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JLabel
-
- jmri.jmrit.display.PositionableLabel
-
- jmri.jmrit.display.RpsPositionIcon
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.lang.Cloneable
,javax.accessibility.Accessible
,javax.swing.SwingConstants
,Positionable
,InlineLogixNG
,MeasurementListener
public class RpsPositionIcon extends PositionableLabel implements MeasurementListener
An icon to display the position of an RPS input. In this initial version, it ignores the ID, so there's only one icon.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
RpsPositionIcon.Notifier
Internal class to show position in the popup menu.-
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) NamedIcon
active
(package private) java.lang.String
activeName
(package private) NamedIcon
error
(package private) java.lang.String
errorName
(package private) java.lang.String
filterNumber
(package private) Measurement
lastMeasurement
(package private) boolean
momentary
(package private) javax.swing.JCheckBoxMenuItem
momentaryItem
(package private) RpsPositionIcon.Notifier
notify
(package private) javax.swing.JCheckBoxMenuItem
showIdItem
(package private) boolean
state
(package private) int
sxOrigin
(package private) double
sxScale
(package private) int
syOrigin
(package private) double
syScale
-
Fields inherited from class jmri.jmrit.display.PositionableLabel
_control, _controlling, _displayLevel, _editable, _editor, _emptyHidden, _hidden, _icon, _iconEditor, _iconEditorFrame, _iconItemPanel, _itemPanel, _namedIcon, _paletteFrame, _popupUtil, _positionable, _rotateText, _showTooltip, _text, _tooltip, _unRotatedText, _valueEditDisabled, _viewCoordinates, 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 RpsPositionIcon(Editor editor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
displayState()
Drive the current state of the display from whether a valid measurement has been receivedvoid
dispose()
Clean up when this object is no longer needed.NamedIcon
getActiveIcon()
NamedIcon
getErrorIcon()
java.lang.String
getFilter()
boolean
getMomentary()
java.lang.String
getNameString()
Get the name of the positional as a String.java.lang.String
getTypeString()
Get the type of the positional as a String.int
getXOrigin()
double
getXScale()
int
getYOrigin()
double
getYScale()
boolean
isShowID()
int
maxHeight()
int
maxWidth()
void
notify(Measurement m)
Respond to a measurement by moving to new positionvoid
rotate(int deg)
protected void
rotateOrthogonal()
****** popup AbstractAction.actionPerformed method overrides ********void
setActiveIcon(NamedIcon i)
boolean
setEditIconMenu(javax.swing.JPopupMenu popup)
Add additional menu items to the menu.void
setErrorIcon(NamedIcon i)
void
setFilter(java.lang.String val)
void
setFilterPopup()
void
setMomentary(boolean m)
void
setRpsCurrentLocation()
Matches the icon position on the screen to its position in the RPS coordinate system.void
setRpsOrigin()
Set the current icon position as the origin (0,0) of the RPS space.void
setScale(double s)
void
setShowID(boolean mode)
void
setTransform(double sxScale, double syScale, int sxOrigin, int syOrigin)
boolean
showPopUp(javax.swing.JPopupMenu popup)
Pop-up contents(package private) void
toggleID(boolean value)
-
Methods inherited from class jmri.jmrit.display.PositionableLabel
addClass, cloneIcon, deepClone, doMouseClicked, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMousePressed, doMouseReleased, doViemMenu, edit, editIcon, editIconItem, editTextItem, finishClone, finishItemUpdate, getClasses, getDegrees, getDisplayLevel, getEditor, getHeight, getId, getLogixNG, getNamedBean, getPopupUtility, getScale, 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, setEditItemMenu, setEditor, setEditTextItemMenu, setEmptyHidden, setHidden, setIcon, setId, setLevel, setLogixNG, setLogixNG_SystemName, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScaleMenu, setShowToolTip, setSuperText, setText, setTextEditMenu, setToolTip, setUnRotatedText, setupLogixNG, setValueEditDisabled, setViewCoordinates, 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
-
activeName
java.lang.String activeName
-
errorName
java.lang.String errorName
-
showIdItem
javax.swing.JCheckBoxMenuItem showIdItem
-
notify
RpsPositionIcon.Notifier notify
-
momentaryItem
javax.swing.JCheckBoxMenuItem momentaryItem
-
state
boolean state
-
momentary
boolean momentary
-
filterNumber
java.lang.String filterNumber
-
lastMeasurement
Measurement lastMeasurement
-
sxScale
double sxScale
-
syScale
double syScale
-
sxOrigin
int sxOrigin
-
syOrigin
int syOrigin
-
-
Constructor Detail
-
RpsPositionIcon
public RpsPositionIcon(Editor editor)
-
-
Method Detail
-
getActiveIcon
public NamedIcon getActiveIcon()
-
setActiveIcon
public void setActiveIcon(NamedIcon i)
-
getErrorIcon
public NamedIcon getErrorIcon()
-
setErrorIcon
public void setErrorIcon(NamedIcon i)
-
getTypeString
@Nonnull public java.lang.String getTypeString()
Description copied from interface:Positionable
Get the type of the positional as a String.- Specified by:
getTypeString
in interfacePositionable
- Overrides:
getTypeString
in classPositionableLabel
- Returns:
- the type to display
-
getNameString
public java.lang.String getNameString()
Description copied from interface:Positionable
Get the name of the positional as a String. This is often the display name of the NamedBean being positioned.- Specified by:
getNameString
in interfaceInlineLogixNG
- Specified by:
getNameString
in interfacePositionable
- Overrides:
getNameString
in classPositionableLabel
- Returns:
- the name to display
-
setEditIconMenu
public boolean setEditIconMenu(javax.swing.JPopupMenu popup)
Description copied from interface:Positionable
Add additional menu items to the menu.- Specified by:
setEditIconMenu
in interfacePositionable
- Overrides:
setEditIconMenu
in classPositionableLabel
- Parameters:
popup
- the menu to add the menu items to- Returns:
- true if adding items; false otherwise
-
showPopUp
public boolean showPopUp(javax.swing.JPopupMenu popup)
Pop-up contents- Specified by:
showPopUp
in interfacePositionable
- Overrides:
showPopUp
in classPositionableLabel
-
rotateOrthogonal
protected void rotateOrthogonal()
****** popup AbstractAction.actionPerformed method overrides ********- Overrides:
rotateOrthogonal
in classPositionableLabel
-
setScale
public void setScale(double s)
- Specified by:
setScale
in interfacePositionable
- Overrides:
setScale
in classPositionableLabel
-
rotate
public void rotate(int deg)
- Specified by:
rotate
in interfacePositionable
- Overrides:
rotate
in classPositionableLabel
-
displayState
void displayState()
Drive the current state of the display from whether a valid measurement has been received
-
maxHeight
public int maxHeight()
- Specified by:
maxHeight
in interfacePositionable
- Overrides:
maxHeight
in classPositionableLabel
-
maxWidth
public int maxWidth()
- Specified by:
maxWidth
in interfacePositionable
- Overrides:
maxWidth
in classPositionableLabel
-
getMomentary
public boolean getMomentary()
-
setMomentary
public void setMomentary(boolean m)
-
toggleID
void toggleID(boolean value)
-
isShowID
public boolean isShowID()
-
setShowID
public void setShowID(boolean mode)
-
notify
public void notify(Measurement m)
Respond to a measurement by moving to new position- Specified by:
notify
in interfaceMeasurementListener
-
setFilterPopup
public void setFilterPopup()
-
setFilter
public void setFilter(java.lang.String val)
-
getFilter
public java.lang.String getFilter()
-
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 classPositionableLabel
-
setRpsOrigin
public void setRpsOrigin()
Set the current icon position as the origin (0,0) of the RPS space.
-
getXScale
public double getXScale()
-
getYScale
public double getYScale()
-
getXOrigin
public int getXOrigin()
-
getYOrigin
public int getYOrigin()
-
setTransform
public void setTransform(double sxScale, double syScale, int sxOrigin, int syOrigin)
-
setRpsCurrentLocation
public void setRpsCurrentLocation()
Matches the icon position on the screen to its position in the RPS coordinate system.Typically invoked from the popup menu, you move the icon (e.g. via drag and drop) to the correct position on the screen for its current measured position, and then invoke this method.
Requires the origin to have been set, and some other measurement to have been made (and current).
-
-