jmri.jmrit.display
Class LayoutPositionableLabel

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.LayoutPositionableLabel
All Implemented Interfaces:
MouseListener, MouseMotionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, SwingConstants, Positionable
Direct Known Subclasses:
LayoutMemoryIcon, LayoutReporterIcon, LayoutSensorIcon, LayoutSignalHeadIcon

public class LayoutPositionableLabel
extends JLabel
implements MouseMotionListener, MouseListener, Positionable

LayoutPositionableLabel is a JLabel that can be dragged around the inside of the Layout Editor panel using a right-drag.

This module is derived from PositionalLabel.java by Bob Jacobsen Copyright (c) 2002, Revision 1.30

A name change was needed to work around the hard dependence on PanelEditor in PositionaleLabelXml.java, without the possibility of compromising any existing PanelEditor panels. The two routines have diverged as new features were added to each.

The positionable parameter is a global, set from outside. The 'fixed' parameter is local, set from the popup here.

Since Layout Editor does not currently use turnout icons, tristate code is included here, but commented out.

Author:
Dave Duchamp Copyright (c) 2007, 2008
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.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  LayoutEditor layoutPanel
           
 
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
LayoutPositionableLabel(NamedIcon s)
           
LayoutPositionableLabel(String s)
           
 
Method Summary
 void connect(LayoutEditor panel)
          Connect listeners - called from Layout Editor
 void displayCoordinateEdit(String name)
           
 boolean getControlling()
           
 Integer getDisplayLevel()
           
 boolean getEditable()
           
 boolean getFixed()
           
 boolean getForceControlOff()
           
 boolean getPositionable()
           
 boolean getShowTooltip()
           
 boolean getViewCoordinates()
           
 boolean isActive()
          "active" means that the object is still displayed, and should be stored.
 boolean isBackground()
           
 boolean isIcon()
           
 boolean isText()
           
protected  int maxHeight()
           
protected  int maxWidth()
           
 void mouseClicked(MouseEvent e)
           
 void mouseDragged(MouseEvent e)
           
 void mouseEntered(MouseEvent e)
           
 void mouseExited(MouseEvent e)
           
 void mouseMoved(MouseEvent e)
           
 void mousePressed(MouseEvent e)
           
 void mouseReleased(MouseEvent e)
           
 JMenuItem newStyleMenuItem(AbstractAction a, int mask)
           
 void setControlling(boolean enabled)
           
 void setDisplayLevel(int l)
           
 void setDisplayLevel(Integer l)
           
 void setEditable(boolean enabled)
           
 void setFixed(boolean enabled)
           
 void setFontSize(float newSize)
           
 void setFontStyle(int addStyle, int dropStyle)
           
 void setForceControlOff(boolean set)
           
 void setPanel(LayoutEditor panel)
          Set panel (called from Layout Editor)
 void setPositionable(boolean enabled)
           
 void setProperToolTip()
           
 void setShowTooltip(boolean set)
           
 void setViewCoordinates(boolean enabled)
           
protected  void showPopUp(MouseEvent e)
          For over-riding in the using classes: only provides icon rotation
protected  void updateSize()
          Update the AWT and Swing size information due to change in internal state, e.g. if one or more of the icons that might be displayed is changed
 
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, 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, 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
 

Field Detail

layoutPanel

protected LayoutEditor layoutPanel
Constructor Detail

LayoutPositionableLabel

public LayoutPositionableLabel(String s)

LayoutPositionableLabel

public LayoutPositionableLabel(NamedIcon s)
Method Detail

setProperToolTip

public void setProperToolTip()

isIcon

public boolean isIcon()

isText

public boolean isText()

connect

public void connect(LayoutEditor panel)
Connect listeners - called from Layout Editor


setPanel

public void setPanel(LayoutEditor panel)
Set panel (called from Layout Editor)


updateSize

protected void updateSize()
Update the AWT and Swing size information due to change in internal state, e.g. if one or more of the icons that might be displayed is changed


maxWidth

protected int maxWidth()

maxHeight

protected int maxHeight()

setDisplayLevel

public void setDisplayLevel(Integer l)

setDisplayLevel

public void setDisplayLevel(int l)

getDisplayLevel

public Integer getDisplayLevel()

isBackground

public boolean isBackground()

mousePressed

public void mousePressed(MouseEvent e)
Specified by:
mousePressed in interface MouseListener

mouseReleased

public void mouseReleased(MouseEvent e)
Specified by:
mouseReleased in interface MouseListener

mouseClicked

public void mouseClicked(MouseEvent e)
Specified by:
mouseClicked in interface MouseListener

mouseExited

public void mouseExited(MouseEvent e)
Specified by:
mouseExited in interface MouseListener

mouseEntered

public void mouseEntered(MouseEvent e)
Specified by:
mouseEntered in interface MouseListener

mouseMoved

public void mouseMoved(MouseEvent e)
Specified by:
mouseMoved in interface MouseMotionListener

mouseDragged

public void mouseDragged(MouseEvent e)
Specified by:
mouseDragged in interface MouseMotionListener

showPopUp

protected void showPopUp(MouseEvent e)
For over-riding in the using classes: only provides icon rotation


setFontSize

public void setFontSize(float newSize)

displayCoordinateEdit

public void displayCoordinateEdit(String name)

newStyleMenuItem

public JMenuItem newStyleMenuItem(AbstractAction a,
                                  int mask)

setFontStyle

public void setFontStyle(int addStyle,
                         int dropStyle)

setPositionable

public void setPositionable(boolean enabled)
Specified by:
setPositionable in interface Positionable

getPositionable

public boolean getPositionable()
Specified by:
getPositionable in interface Positionable

setViewCoordinates

public void setViewCoordinates(boolean enabled)
Specified by:
setViewCoordinates in interface Positionable

getViewCoordinates

public boolean getViewCoordinates()
Specified by:
getViewCoordinates in interface Positionable

setEditable

public void setEditable(boolean enabled)
Specified by:
setEditable in interface Positionable

getEditable

public boolean getEditable()
Specified by:
getEditable in interface Positionable

setFixed

public void setFixed(boolean enabled)

getFixed

public boolean getFixed()

setControlling

public void setControlling(boolean enabled)
Specified by:
setControlling in interface Positionable

getControlling

public boolean getControlling()
Specified by:
getControlling in interface Positionable

setForceControlOff

public void setForceControlOff(boolean set)

getForceControlOff

public boolean getForceControlOff()

setShowTooltip

public void setShowTooltip(boolean set)

getShowTooltip

public boolean getShowTooltip()

isActive

public boolean isActive()
"active" means that the object is still displayed, and should be stored.



Copyright © 1997 - 2008 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: SourceForge_Logo