jmri.jmrit.display
Class IconAdder

Show UML class diagram
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
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ListSelectionListener
Direct Known Subclasses:
MultiSensorIconAdder, SlipIconAdder

public class IconAdder
extends JPanel
implements ListSelectionListener

Provides a simple editor for selecting N NamedIcons. Class for Icon Editors implements "Drag n Drop". Allows drops from icons dragged from a Catalog preview pane.

See SensorIcon for an item that might want to have that type of information, and PanelEditor for an example of how to use this.

See Also:
Serialized Form

Nested Class Summary
(package private)  class IconAdder.DropButton
           
 
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
(package private)  JButton _addButton
           
(package private)  JButton _addTableButton
           
(package private)  boolean _allowDeletes
           
(package private)  JPanel _buttonPanel
           
(package private)  CatalogPanel _catalog
           
(package private)  JButton _changeButton
           
(package private)  JButton _closeButton
           
(package private)  CatalogTreeNode _defaultIcons
           
(package private)  HashMap<String,JToggleButton> _iconMap
           
(package private)  JPanel _iconPanel
           
(package private)  Manager _manager
           
(package private)  ArrayList<String> _order
           
(package private)  JFrame _parent
           
(package private)  PickListModel _pickListModel
           
(package private)  JScrollPane _pickTablePane
           
(package private)  JTextField _sysNametext
           
(package private)  JTable _table
           
(package private)  String _type
           
(package private)  boolean _update
           
(package private)  boolean _userDefaults
           
(package private) static org.slf4j.Logger log
           
(package private) static ResourceBundle rbean
           
(package private)  int ROW_HEIGHT
           
(package private) static int STRUT_SIZE
           
 
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
IconAdder()
           
IconAdder(boolean allowDeletes)
           
IconAdder(String type)
           
 
Method Summary
protected  void addAdditionalButtons(JPanel p)
           
 void addCatalog()
           
 void addDirectoryToCatalog(File dir)
           
 boolean addIconIsEnabled()
           
(package private)  void addToTable()
           
(package private)  void checkIconSizes()
           
(package private)  void closeCatalog()
           
 void complete(ActionListener addIconAction, boolean changeIcon, boolean addToTable, boolean update)
           
 void dispose()
          Clean up when its time to make it all go away
protected  void doIconPanel()
           
 CatalogTreeNode getDefaultIconNode()
           
 NamedIcon getIcon(String key)
          Returns a new NamedIcon object for your own use.
 Hashtable<String,NamedIcon> getIconMap()
          Returns a new Hashtable of only the icons selected for display.
 int getNumIcons()
           
 NamedBean getTableSelection()
          Used by Panel Editor to make the final installation of the icon(s) into the user's Panel.
 void initDefaultIcons()
           
(package private)  void makeIconMap(NamedBean bean)
           
 void makeIconPanel(boolean useDefaults)
          After all the calls to setIcon(...) are made, make the icon display.
protected  void makeIcons(CatalogTreeNode n)
          Build iconMap and orderArray from user's choice of defaults
(package private)  void pack()
           
 void reset()
           
protected  void setIcon(int order, String label, NamedIcon icon)
           
 void setIcon(int order, String label, String name)
          install the icons used to represent all the states of the entity being edited
 void setParent(JFrame parent)
           
 void setPickList(PickListModel tableModel)
          After the calls to makeIconPanel(), optionally.
 void setSelection(NamedBean bean)
           
 void valueChanged(ListSelectionEvent e)
          When a Pick list is installed, table selection controls the Add button
 
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

rbean

static final ResourceBundle rbean

ROW_HEIGHT

int ROW_HEIGHT

_iconMap

HashMap<String,JToggleButton> _iconMap

_order

ArrayList<String> _order

_pickTablePane

JScrollPane _pickTablePane

_pickListModel

PickListModel _pickListModel

_defaultIcons

CatalogTreeNode _defaultIcons

_iconPanel

JPanel _iconPanel

_buttonPanel

JPanel _buttonPanel

_type

String _type

_userDefaults

boolean _userDefaults

_sysNametext

JTextField _sysNametext

_manager

Manager _manager

_table

JTable _table

_addButton

JButton _addButton

_addTableButton

JButton _addTableButton

_changeButton

JButton _changeButton

_closeButton

JButton _closeButton

_catalog

CatalogPanel _catalog

_parent

JFrame _parent

_allowDeletes

boolean _allowDeletes

_update

boolean _update

STRUT_SIZE

static int STRUT_SIZE

log

static org.slf4j.Logger log
Constructor Detail

IconAdder

public IconAdder()

IconAdder

public IconAdder(boolean allowDeletes)

IconAdder

public IconAdder(String type)
Method Detail

reset

public void reset()

initDefaultIcons

public void initDefaultIcons()

getDefaultIconNode

public CatalogTreeNode getDefaultIconNode()

makeIcons

protected void makeIcons(CatalogTreeNode n)
Build iconMap and orderArray from user's choice of defaults


setIcon

protected void setIcon(int order,
                       String label,
                       NamedIcon icon)
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

setIcon

public void setIcon(int order,
                    String label,
                    String name)
install the icons used to represent all the states of the entity being edited

Parameters:
label - - the state name to display, Must be unique from all other calls to this method.
name - - the resource name of the icon image to displa
order - - (reverse) order of display, (0 last, to N first)

setParent

public void setParent(JFrame parent)

pack

void pack()

getNumIcons

public int getNumIcons()

makeIconPanel

public void makeIconPanel(boolean useDefaults)
After all the calls to setIcon(...) are made, make the icon display. Two columns to save space for subsequent panels.


doIconPanel

protected void doIconPanel()

setPickList

public void setPickList(PickListModel tableModel)
After the calls to makeIconPanel(), optionally. make a pick list table for managed elements. (Not all Icon Editors use pick lists)


setSelection

public void setSelection(NamedBean bean)

valueChanged

public void valueChanged(ListSelectionEvent e)
When a Pick list is installed, table selection controls the Add button

Specified by:
valueChanged in interface ListSelectionListener

makeIconMap

void makeIconMap(NamedBean bean)

checkIconSizes

void checkIconSizes()

getTableSelection

public NamedBean getTableSelection()
Used by Panel Editor to make the final installation of the icon(s) into the user's Panel.

Note! the selection is cleared. When two successive calls are made, the 2nd will always return null, regardless of the 1st return.


getIcon

public NamedIcon getIcon(String key)
Returns a new NamedIcon object for your own use.

Parameters:
key - Name of key (label)
Returns:
Unique object

getIconMap

public Hashtable<String,NamedIcon> getIconMap()
Returns a new Hashtable of only the icons selected for display.


complete

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

addAdditionalButtons

protected void addAdditionalButtons(JPanel p)

addIconIsEnabled

public boolean addIconIsEnabled()

addToTable

void addToTable()

addCatalog

public void addCatalog()

closeCatalog

void closeCatalog()

addDirectoryToCatalog

public void addDirectoryToCatalog(File dir)

dispose

public void dispose()
Clean up when its time to make it all go away



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