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
SensorIcon
for an item that might want to have that type of information, andPanelEditor
for an example of how to use this.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
IconAdder.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
_iconPanel
protected javax.swing.JTextField
_sysNameText
(package private) javax.swing.JTable
_table
(package private) boolean
_update
(package private) static int
STRUT_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 void
addAdditionalButtons(javax.swing.JPanel p)
void
addCatalog()
void
addDirectoryToCatalog()
boolean
addIconIsEnabled()
(package private) void
addToTable()
(package private) void
closeCatalog()
void
complete(java.awt.event.ActionListener addIconAction, boolean changeIcon, boolean addToTable, boolean update)
void
dispose()
Clean up when its time to make it all go awayprotected void
doIconPanel()
CatalogTreeNode
getDefaultIconNode()
NamedIcon
getIcon(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.int
getNumIcons()
NamedBean
getTableSelection()
Used by Panel Editor to make the final installation of the icon(s) into the user's Panel.void
initDefaultIcons()
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()
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.protected void
setIcon(int order, java.lang.String label, NamedIcon icon)
void
setParent(javax.swing.JFrame parent)
void
setPickList(PickListModel<? extends NamedBean> tableModel)
After the calls to makeIconPanel(), optionally make a pick list table for managed elements.void
setSelection(NamedBean bean)
void
valueChanged(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:
valueChanged
in 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
-
-