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) classRpsPositionIcon.NotifierInternal 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) NamedIconactive(package private) java.lang.StringactiveName(package private) NamedIconerror(package private) java.lang.StringerrorName(package private) java.lang.StringfilterNumber(package private) MeasurementlastMeasurement(package private) booleanmomentary(package private) javax.swing.JCheckBoxMenuItemmomentaryItem(package private) RpsPositionIcon.Notifiernotify(package private) javax.swing.JCheckBoxMenuItemshowIdItem(package private) booleanstate(package private) intsxOrigin(package private) doublesxScale(package private) intsyOrigin(package private) doublesyScale-
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) voiddisplayState()Drive the current state of the display from whether a valid measurement has been receivedvoiddispose()Clean up when this object is no longer needed.NamedIcongetActiveIcon()NamedIcongetErrorIcon()java.lang.StringgetFilter()booleangetMomentary()java.lang.StringgetNameString()Get the name of the positional as a String.java.lang.StringgetTypeString()Get the type of the positional as a String.intgetXOrigin()doublegetXScale()intgetYOrigin()doublegetYScale()booleanisShowID()intmaxHeight()intmaxWidth()voidnotify(Measurement m)Respond to a measurement by moving to new positionvoidrotate(int deg)protected voidrotateOrthogonal()****** popup AbstractAction.actionPerformed method overrides ********voidsetActiveIcon(NamedIcon i)booleansetEditIconMenu(javax.swing.JPopupMenu popup)Add additional menu items to the menu.voidsetErrorIcon(NamedIcon i)voidsetFilter(java.lang.String val)voidsetFilterPopup()voidsetMomentary(boolean m)voidsetRpsCurrentLocation()Matches the icon position on the screen to its position in the RPS coordinate system.voidsetRpsOrigin()Set the current icon position as the origin (0,0) of the RPS space.voidsetScale(double s)voidsetShowID(boolean mode)voidsetTransform(double sxScale, double syScale, int sxOrigin, int syOrigin)booleanshowPopUp(javax.swing.JPopupMenu popup)Pop-up contents(package private) voidtoggleID(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, 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
-
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: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
-
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
-
showPopUp
public boolean showPopUp(javax.swing.JPopupMenu popup)
Pop-up contents- Specified by:
showPopUpin interfacePositionable- Overrides:
showPopUpin classPositionableLabel
-
rotateOrthogonal
protected void rotateOrthogonal()
****** popup AbstractAction.actionPerformed method overrides ********- Overrides:
rotateOrthogonalin classPositionableLabel
-
setScale
public void setScale(double s)
- Specified by:
setScalein interfacePositionable- Overrides:
setScalein classPositionableLabel
-
rotate
public void rotate(int deg)
- Specified by:
rotatein interfacePositionable- Overrides:
rotatein 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:
maxHeightin interfacePositionable- Overrides:
maxHeightin classPositionableLabel
-
maxWidth
public int maxWidth()
- Specified by:
maxWidthin interfacePositionable- Overrides:
maxWidthin 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:
notifyin 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:PositionableLabelClean up when this object is no longer needed. Should not be called while the object is still displayed; see remove()- Overrides:
disposein 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).
-
-