jmri.jmrit.display
Class RpsPositionIcon

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

Author:
Bob Jacobsen Copyright (C) 2007
See Also:
Serialized Form

Nested Class Summary
 
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
 
Fields inherited from class jmri.jmrit.display.PositionableLabel
_control, _controlling, _displayLevel, _editable, _editor, _hidden, _icon, _namedIcon, _positionable, _showTooltip, _text, _tooltip, _viewCoordinates, rb, 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
RpsPositionIcon(Editor editor)
           
 
Method Summary
 void dispose()
          Clean up when this object is no longer needed.
 NamedIcon getActiveIcon()
           
 NamedIcon getErrorIcon()
           
 String getFilter()
           
 boolean getMomentary()
           
 String getNameString()
          Methods to add popup menu items return true if a popup item is set
 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 position
 void rotate(int deg)
           
protected  void rotateOrthogonal()
          popup AbstractAction.actionPerformed method overrides
 void setActiveIcon(NamedIcon i)
           
 boolean setEditIconMenu(JPopupMenu popup)
           
 void setErrorIcon(NamedIcon i)
           
 void setFilter(String val)
           
 void setFilterPopup()
           
 void setMomentary(boolean m)
           
 void setRpsCurrentLocation()
          Matches the icon position on the screen to it's 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(JPopupMenu popup)
          Pop-up contents
 
Methods inherited from class jmri.jmrit.display.PositionableLabel
cloneIcon, deepClone, doMouseClicked, doMouseDragged, doMouseEntered, doMouseExited, doMouseMoved, doMousePressed, doMouseReleased, doViemMenu, edit, editIcon, finishClone, getDegrees, getDisplayLevel, getEditor, getPopupUtility, getScale, getTooltip, getViewCoordinates, isActive, isBackground, isControl, isControlling, isEditable, isHidden, isIcon, isPositionable, isText, makeIconEditorFrame, makePalettteFrame, remove, setControlling, setDisableControlMenu, setDisplayLevel, setEditable, setEditItemMenu, setEditor, setHidden, setLevel, setPopupUtility, setPositionable, setRotateMenu, setRotateOrthogonalMenu, setScaleMenu, setShowTooltip, 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, setText, 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, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, getSize, 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, getHeight, getLocation, getParent, getPreferredSize, getWidth, getX, getY, invalidate, isOpaque, repaint, setBackground, setBorder, setForeground, setLocation, setLocation, setOpaque, setSize, setVisible
 

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)

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

setEditIconMenu

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

showPopUp

public boolean showPopUp(JPopupMenu popup)
Pop-up contents

Specified by:
showPopUp in interface Positionable
Overrides:
showPopUp 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

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

getMomentary

public boolean getMomentary()

setMomentary

public void setMomentary(boolean m)

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 interface MeasurementListener

setFilterPopup

public void setFilterPopup()

setFilter

public void setFilter(String val)

getFilter

public 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 class PositionableLabel

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 it's 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 it's 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).



Copyright © 1997 - 2011 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