Package jmri.jmrit.display
Class IconAdder
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.jmrit.display.IconAdder
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,javax.swing.event.ListSelectionListener
- Direct Known Subclasses:
MultiSensorIconAdder,SlipIconAdder
public class IconAdder extends javax.swing.JPanel implements javax.swing.event.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
SensorIconfor an item that might want to have that type of information, andPanelEditorfor an example of how to use this.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classIconAdder.DropButton-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description (package private) javax.swing.JButton_addButton(package private) CatalogTreeNode_defaultIcons(package private) java.util.HashMap<java.lang.String,javax.swing.JToggleButton>_iconMap(package private) java.util.ArrayList<java.lang.String>_iconOrderList(package private) javax.swing.JPanel_iconPanelprotected javax.swing.JTextField_sysNameText(package private) javax.swing.JTable_table(package private) boolean_update(package private) static intSTRUT_SIZE-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddAdditionalButtons(javax.swing.JPanel p)voidaddCatalog()voidaddDirectoryToCatalog()booleanaddIconIsEnabled()(package private) voidaddToTable()(package private) voidcloseCatalog()voidcomplete(java.awt.event.ActionListener addIconAction, boolean changeIcon, boolean addToTable, boolean update)voiddispose()Clean up when its time to make it all go awayprotected voiddoIconPanel()CatalogTreeNodegetDefaultIconNode()NamedIcongetIcon(java.lang.String key)Get a new NamedIcon object for your own use.java.util.Hashtable<java.lang.String,NamedIcon>getIconMap()Get a new Hashtable of only the icons selected for display.intgetNumIcons()NamedBeangetTableSelection()Used by Panel Editor to make the final installation of the icon(s) into the user's Panel.voidinitDefaultIcons()voidmakeIconPanel(boolean useDefaults)After all the calls to setIcon(...) are made, make the icon display.protected voidmakeIcons(CatalogTreeNode n)Build iconMap and orderArray from user's choice of defaults.(package private) voidpack()voidreset()voidsetIcon(int order, java.lang.String label, java.lang.String name)Install the icons used to represent all the states of the entity being edited.protected voidsetIcon(int order, java.lang.String label, NamedIcon icon)voidsetParent(javax.swing.JFrame parent)voidsetPickList(PickListModel<? extends NamedBean> tableModel)After the calls to makeIconPanel(), optionally make a pick list table for managed elements.voidsetSelection(NamedBean bean)voidvalueChanged(javax.swing.event.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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
_iconMap
java.util.HashMap<java.lang.String,javax.swing.JToggleButton> _iconMap
-
_iconOrderList
java.util.ArrayList<java.lang.String> _iconOrderList
-
_defaultIcons
CatalogTreeNode _defaultIcons
-
_iconPanel
javax.swing.JPanel _iconPanel
-
_sysNameText
protected javax.swing.JTextField _sysNameText
-
_table
javax.swing.JTable _table
-
_addButton
javax.swing.JButton _addButton
-
_update
boolean _update
-
STRUT_SIZE
static int STRUT_SIZE
-
-
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.- Parameters:
n- the root in a catalog from which icons are made
-
setIcon
protected void setIcon(int order, java.lang.String label, NamedIcon icon)
- Parameters:
order- the index to icon's name and the inverse order that icons are drawn in doIconPanel()label- the icon name displayed in the icon panel and the key to the icon button in _iconMap, supplied as I18N stringicon- the icon displayed in the icon button
-
setIcon
public void setIcon(int order, java.lang.String label, java.lang.String name)
Install the icons used to represent all the states of the entity being edited.- Parameters:
order- (reverse) order of display, (0 last, to N first)label- the state name to display. Must be unique from all other calls to this methodname- the resource name of the icon image to display
-
setParent
public void setParent(javax.swing.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.- Parameters:
useDefaults- true to use user-specified defaults; false otherwise
-
doIconPanel
protected void doIconPanel()
-
setPickList
public void setPickList(PickListModel<? extends NamedBean> tableModel)
After the calls to makeIconPanel(), optionally make a pick list table for managed elements. (Not all Icon Editors use pick lists).- Parameters:
tableModel- the model from which the table is created
-
setSelection
public void setSelection(NamedBean bean)
-
valueChanged
public void valueChanged(javax.swing.event.ListSelectionEvent e)
When a Pick list is installed, table selection controls the Add button.- Specified by:
valueChangedin interfacejavax.swing.event.ListSelectionListener
-
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.
- Returns:
- the selected item
-
getIcon
public NamedIcon getIcon(java.lang.String key)
Get a new NamedIcon object for your own use.- Parameters:
key- Name of key (label)- Returns:
- Unique object
-
getIconMap
public java.util.Hashtable<java.lang.String,NamedIcon> getIconMap()
Get a new Hashtable of only the icons selected for display.- Returns:
- a map of icons using the icon labels as keys
-
complete
public void complete(java.awt.event.ActionListener addIconAction, boolean changeIcon, boolean addToTable, boolean update)
-
addAdditionalButtons
protected void addAdditionalButtons(javax.swing.JPanel p)
-
addIconIsEnabled
public boolean addIconIsEnabled()
-
addToTable
void addToTable()
-
addCatalog
public void addCatalog()
-
closeCatalog
void closeCatalog()
-
addDirectoryToCatalog
public void addDirectoryToCatalog()
-
dispose
public void dispose()
Clean up when its time to make it all go away
-
-