jmri.jmrit.display
Class MultiSensorIconAdder

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by jmri.jmrit.display.IconAdder
                      extended by jmri.jmrit.display.MultiSensorIconAdder
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ListSelectionListener

public class MultiSensorIconAdder
extends IconAdder

Provides a simple editor for creating a MultiSensorIcon object. Allows drops from icons dragged from a Catalog preview pane. Also implements dragging a row from the Sensor table to be dropped on a Sensor label

To work right, the MultiSensorIcon needs to have all images the same size, but this is not enforced here. It should be. -Done 6/16/09

Author:
Bob Jacobsen Copyright (c) 2007, Pete Cressman Copyright (c) 2009
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
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
static String NamedBeanFlavorMime
           
 
Fields inherited from class jmri.jmrit.display.IconAdder
rb
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MultiSensorIconAdder()
           
MultiSensorIconAdder(String type)
           
 
Method Summary
 void complete(ActionListener addIconAction, boolean changeIcon, boolean addToTable, boolean update)
          Override
protected  void doIconPanel()
          Override.
 NamedIcon getIcon(int index)
          Returns a new NamedIcon object for your own use.
 NamedBeanHandle<Sensor> getSensor(int index)
          Returns a Sensor object for your own use.
 NamedBean getTableSelection()
          Override.
 boolean getUpDown()
           
 void reset()
           
protected  void setIcon(int order, String label, NamedIcon icon)
          Override.
 void valueChanged(ListSelectionEvent e)
          Override.
 
Methods inherited from class jmri.jmrit.display.IconAdder
addAdditionalButtons, addCatalog, addDirectoryToCatalog, addIconIsEnabled, addTreeToCatalog, dispose, getDefaultIconNode, getDefaultIconNodeFromMap, getIcon, getIconMap, getNumIcons, initDefaultIcons, makeIconPanel, setIcon, setParent, setPickList, setSelection
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, imageUpdate, 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

NamedBeanFlavorMime

public static final String NamedBeanFlavorMime
See Also:
Constant Field Values
Constructor Detail

MultiSensorIconAdder

public MultiSensorIconAdder()

MultiSensorIconAdder

public MultiSensorIconAdder(String type)
Method Detail

reset

public void reset()
Overrides:
reset in class IconAdder

setIcon

protected void setIcon(int order,
                       String label,
                       NamedIcon icon)
Override. First three calls MUST be 'inactive', 'inconsistent', 'unknown'. Labeling of active sensors depends on the deletes and adds, if any. public void setIcon(int index, String label, String name) { String key = label; if (index > 2) { //make a unique name (multisensor has deletes so fix the key) key = "MultiSensorPosition " +_lastIndex++; } if (log.isDebugEnabled()) { if (_order.size() > 0) { log.debug("SetIcon: order size= "+_order.size()+", _lastIndex= "+_lastIndex); } } super.setIcon(index, key, name); if (log.isDebugEnabled()) log.debug(key+" inserted at "+index); }

Overrides:
setIcon in class IconAdder
Parameters:
order - -the index to Sensor's name and the inverse order that icons are drawn in doIconPanel()
label - -the Sensor's name displayed in the icon panel and the key to the icon button in _iconMap
icon - -the icon displayed in the icon button

doIconPanel

protected void doIconPanel()
Override. First look for a table selection to set the sensor. If not, then look to change the icon image (super).

Overrides:
doIconPanel in class IconAdder

complete

public void complete(ActionListener addIconAction,
                     boolean changeIcon,
                     boolean addToTable,
                     boolean update)
Override

Overrides:
complete in class IconAdder

valueChanged

public void valueChanged(ListSelectionEvent e)
Override. Activate Add to Panel button when all icons are assigned sensors.

Specified by:
valueChanged in interface ListSelectionListener
Overrides:
valueChanged in class IconAdder

getTableSelection

public NamedBean getTableSelection()
Override. First look for a table selection to set the sensor.

Overrides:
getTableSelection in class IconAdder

getIcon

public NamedIcon getIcon(int index)
Returns a new NamedIcon object for your own use. see NamedIcon getIcon(String key) in super

Parameters:
index - of key
Returns:
Unique object

getSensor

public NamedBeanHandle<Sensor> getSensor(int index)
Returns a Sensor object for your own use. see NamedIcon getIcon(String key) in super

Parameters:
index - of key
Returns:
Unique object

getUpDown

public boolean getUpDown()


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