Package jmri.jmrit.display.palette
Class ItemPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
jmri.jmrit.display.palette.ItemPanel
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible
- Direct Known Subclasses:
FamilyItemPanel,IconItemPanel,TextItemPanel
JPanels for the various item types that can be added to a Panel - e.g. Sensors,
Turnouts, etc.
Devices such as these have sets of icons to display their various states.
Such sets are called a "family" in the code. These devices then may have sets
of families to provide the user with a choice of the icon set to use for a
particular device.
These sets/families are defined in an xml file stored as xml/defaultPanelIcons.xml
including the icon file paths, to be loaded by an iterator.
The subclass FamilyItemPanel.java and its subclasses handles these devices.
Other devices, e.g. Backgrounds or Memory, may use only one or no icon to
display. The subclass IconItemPanel.java and its subclasses handles these
devices.
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected JPanelprotected ActionListenerprotected DisplayFrameprotected JPanelprotected ImagePanelprotected booleanprotected JPanelprotected Stringprotected JTextFieldprotected PreviewPanelprotected booleanprotected booleanprotected boolean(package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[](package private) static final String[]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_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionItemPanel(DisplayFrame parentFrame, String type) Constructor for all item types. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddIconsToPanel(HashMap<String, NamedIcon> iconMap, ImagePanel iconPanel, boolean dropIcon) Add the current set of icons to a Show Icons pane.protected static voidcheckIconMap(String type, HashMap<String, NamedIcon> map) voidprotected abstract voidvoidinit()Initialize panel for selecting a new Control Panel item or for updating an existing item.protected voidInitialize or reset an ItemPanel.protected abstract JPanelstatic GridBagConstraintsprotected voidprotected voidmakeBottomPanel(boolean isEmpty) protected abstract voidPart of the initialization and reseting of an ItemPanel.protected abstract JPanelmakeIconDisplayPanel(String key, HashMap<String, NamedIcon> iconMap, boolean dropIcon) Utility for above method.protected abstract JPanelMake a button panel to populate editing an ItemPanelmakeNewIconMap(String type) protected voidmakePreviewPanel(boolean hasMaps, ImagePanel dragIconPanel) protected abstract JPanelmakeSpecialBottomPanel(boolean update) Make a button panel that can populate an empty ItemPanelprotected JButtonmakeUpdateButton(ActionListener doneAction) Add [Update] button to _bottom1Panel.protected booleanSee if the map is supported by the family map.protected voidprotected voidreSizeDisplay(boolean isPalette, Dimension oldDim, Dimension frameDim) Resize frame to allow display/shrink after Icon map is dieplayed.shellDimension(ItemPanel panel) protected voidwrapIconImage(NamedIcon icon, JLabel image, JPanel panel, String key) Utility used by implementations of above 'makeIconDisplayPanel' method to wrap its panelMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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 Details
-
_frame
-
_itemType
-
_initialized
-
_update
-
_suppressDragging
-
_askOnce
-
_linkName
-
_previewPanel
-
_currentIconMap
-
_iconPanel
-
_iconFamilyPanel
-
_bottomPanel
-
_doneAction
-
_wasEmpty
-
_instructions
-
TURNOUT
-
SENSOR
-
SIGNALHEAD
-
LIGHT
-
MULTISENSOR
-
RPSREPORTER
-
INDICATOR_TRACK
-
PORTAL
-
STATE_MAP
-
NAME_MAP
-
-
Constructor Details
-
ItemPanel
Constructor for all item types.- Parameters:
parentFrame- ItemPalette instancetype- identifier of the ItemPanel type
-
-
Method Details
-
init
Initialize panel for selecting a new Control Panel item or for updating an existing item. Adds table if item is a bean. i.e. customizes for the item type. Called by enclosing TabbedPanel on change of displayed tab Pane. -
makeNewIconMap
-
checkIconMap
-
previewColorChange
-
closeDialogs
-
makeSpecialBottomPanel
Make a button panel that can populate an empty ItemPanel- Parameters:
update- edit icons on a panel- Returns:
- the panel
-
makeItemButtonPanel
Make a button panel to populate editing an ItemPanel- Returns:
- the panel
-
makeUpdateButton
Add [Update] button to _bottom1Panel.- Parameters:
doneAction- Action for button- Returns:
- button with doneAction Action
-
makeBottomPanel
-
initIconFamiliesPanel
Initialize or reset an ItemPanel. -
makePreviewPanel
-
addIconsToPanel
protected void addIconsToPanel(HashMap<String, NamedIcon> iconMap, ImagePanel iconPanel, boolean dropIcon) Add the current set of icons to a Show Icons pane. Used in several ways by different ItemPanels. When dropIcon is true, call may be from an editing dialog and the caller may allow the icon to dropped upon (replaced) or be the source of dragging it - (e.g. IconItemPanel). When_showIconsButton pressed, dropIcon will be false.- Parameters:
iconMap- family mapsiconPanel- panel to fill with iconsdropIcon- true for ability to drop new image on icon to change icon source- See Also:
-
makeIconDisplayPanel
protected abstract JPanel makeIconDisplayPanel(String key, HashMap<String, NamedIcon> iconMap, boolean dropIcon) Utility for above method. Implementation returns a JPanel extension containing a bordered JLabel extension of icon and labels- Parameters:
key- name of iconiconMap- containing icon for possible replacementdropIcon- JLabel extension may be replaceable or dragable.- Returns:
- the JPanel
-
wrapIconImage
Utility used by implementations of above 'makeIconDisplayPanel' method to wrap its panel- Parameters:
icon- icon held by a JLabelimage- background image for panelpanel- holds image and JLablekey- key of icon in its set - name for the icon can be extracted from it
-
instructions
-
makeFamiliesPanel
Part of the initialization and reseting of an ItemPanel. Allows divergence for different panel needs. -
hideIcons
-
mapsAreEqual
See if the map is supported by the family map. "Equals" in this context means that each map is the same size the keys are equal and the urls for the icons are equal. Note that icons with different urls may be or appear to be the same. The item type "SignalHead" allows for unequal sizes but 'mapOne' must contain 'mapTwo' elements.- Parameters:
mapOne- an icon HashMapmapTwo- another icon HashMap- Returns:
- true if all of signal head entries have matching entries in the family map.
-
loadDefaultType
-
reSizeDisplay
Resize frame to allow display/shrink after Icon map is dieplayed.- Parameters:
isPalette- selector for what to resize, true to resize parent tabbed frameoldDim- old panel sizeframeDim- old frame size
-
shellDimension
-
itemGridBagConstraint
-