jmri.jmrit.display
Class LayoutMemoryIcon

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
                      extended by jmri.jmrit.display.LayoutMemoryIcon
All Implemented Interfaces:
MouseListener, MouseMotionListener, ImageObserver, MenuContainer, PropertyChangeListener, Serializable, EventListener, Accessible, SwingConstants, Positionable

public class LayoutMemoryIcon
extends LayoutPositionableLabel
implements PropertyChangeListener

An icon to display a status of a Memory.

The value of the memory can't be changed with this icon.

This module is derived with only a few changes from MemoryIcon.java by Bob Jacobsen Copyright (c) 2004. A name change was needed to work around the hard dependence on PanelEditor in MemoryIconXml.java, without risking compromising existing PanelEditor panels.

Another difference from MemoryIcon.java, is that this defaults to a text instead of the red X icon displayed when Panel Editor is loaded. If the user needs to "find" the MemoryIcon, putting text into the Memory Table is suggested.

This module has been modified (from MemoryIcon.java) to use a resource bundle for its user-seen text, like other LayoutEditor modules.

Author:
Dave Duchamp 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.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
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
LayoutMemoryIcon()
           
 
Method Summary
 void addKeyAndIcon(NamedIcon icon, String keyValue)
           
 void dispose()
          Clean up when this object is no longer needed.
 NamedIcon getDefaultIcon()
           
 HashMap getMap()
           
 Memory getMemory()
           
 boolean isSelectable()
           
protected  int maxHeight()
          This may be called during the superclass ctor, so before construction of this object is complete.
protected  int maxWidth()
          This may be called during the superclass ctor, so before construction of this object is complete.
 void mouseClicked(MouseEvent e)
          Clicks are ignored
 void propertyChange(PropertyChangeEvent e)
           
 void setDefaultIcon(NamedIcon n)
           
 void setMemory(String pName)
          Attached a named Memory to this display item
 void setProperToolTip()
           
 void setSelectable(boolean b)
           
protected  void showPopUp(MouseEvent e)
          Pop-up displays the Memory name, allows you to remove the icon.
 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 jmri.jmrit.display.LayoutPositionableLabel
connect, displayCoordinateEdit, getControlling, getDisplayLevel, getEditable, getFixed, getForceControlOff, getPositionable, getShowTooltip, getViewCoordinates, isActive, isBackground, isIcon, isText, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, newStyleMenuItem, setControlling, setDisplayLevel, setDisplayLevel, setEditable, setFixed, setFontSize, setFontStyle, setForceControlOff, setPanel, setPositionable, setShowTooltip, setViewCoordinates
 
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
 

Constructor Detail

LayoutMemoryIcon

public LayoutMemoryIcon()
Method Detail

setDefaultIcon

public void setDefaultIcon(NamedIcon n)

getDefaultIcon

public NamedIcon getDefaultIcon()

setMemory

public void setMemory(String pName)
Attached a named Memory to this display item

Parameters:
pName - Used as a system/user name to lookup the Memory object

getMemory

public Memory getMemory()

getMap

public HashMap getMap()

addKeyAndIcon

public void addKeyAndIcon(NamedIcon icon,
                          String keyValue)

maxHeight

protected int maxHeight()
This may be called during the superclass ctor, so before construction of this object is complete. Be careful about that!

Overrides:
maxHeight in class LayoutPositionableLabel

maxWidth

protected int maxWidth()
This may be called during the superclass ctor, so before construction of this object is complete. Be careful about that!

Overrides:
maxWidth in class LayoutPositionableLabel

propertyChange

public void propertyChange(PropertyChangeEvent e)
Specified by:
propertyChange in interface PropertyChangeListener

setProperToolTip

public void setProperToolTip()
Overrides:
setProperToolTip in class LayoutPositionableLabel

setSelectable

public void setSelectable(boolean b)

isSelectable

public boolean isSelectable()

showPopUp

protected void showPopUp(MouseEvent e)
Pop-up displays the Memory name, allows you to remove the icon.

Rotate is not supported for text-holding memories

Because this class can change between icon and text forms, we recreate the popup object each time.

Overrides:
showPopUp in class LayoutPositionableLabel

updateSize

public void updateSize()
Description copied from class: LayoutPositionableLabel
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

Overrides:
updateSize in class LayoutPositionableLabel

mouseClicked

public void mouseClicked(MouseEvent e)
Clicks are ignored

Specified by:
mouseClicked in interface MouseListener
Overrides:
mouseClicked in class LayoutPositionableLabel
Parameters:
e -

dispose

public void dispose()
Description copied from class: LayoutPositionableLabel
Clean up when this object is no longer needed. Should not be called while the object is still displayed; see remove()



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