Package jmri.jmrit.display.palette
Class FamilyItemPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
jmri.jmrit.display.palette.ItemPanel
jmri.jmrit.display.palette.FamilyItemPanel
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible
- Direct Known Subclasses:
IndicatorItemPanel,PortalItemPanel,RPSItemPanel,TableItemPanel
ItemPanel general implementation for placement of CPE items having sets of
icons (families). The "family" is the set of icons that represent the various
states and/or status of the item.
- See Also:
-
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 IconDialogprotected ImagePanelprotected Stringprotected ButtonGroupprotected JPanelprotected booleanprotected JButtonprotected JButton(package private) Action(package private) ActionFields inherited from class jmri.jmrit.display.palette.ItemPanel
_askOnce, _bottomPanel, _currentIconMap, _doneAction, _frame, _iconFamilyPanel, _iconPanel, _initialized, _instructions, _itemType, _linkName, _previewPanel, _suppressDragging, _update, _wasEmpty, INDICATOR_TRACK, LIGHT, MULTISENSOR, NAME_MAP, PORTAL, RPSREPORTER, SENSOR, SIGNALHEAD, STATE_MAP, TURNOUTFields 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
ConstructorsConstructorDescriptionFamilyItemPanel(DisplayFrame parentFrame, String type, String family) Constructor types with multiple families and multiple icon families. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected voidaddFamilyPanels(boolean hasMaps) voidprotected voidAction item for deletion of an icon family.protected voiddialogDoneAction(String family, HashMap<String, NamedIcon> iconMap) IconDialog calls this method to make any changes 'permanent'.voiddispose()protected StringfindFamilyOfMap(String exemptFamily, HashMap<String, NamedIcon> newMap, HashMap<String, HashMap<String, NamedIcon>> families) Find the family name of the map in a families HashMap.Needed by CPE ConvertDialog.javaprotected abstract StringGet the key to display the icon to be used for dragging to the panelprotected JLabelgetDragger(DataFlavor flavor, HashMap<String, NamedIcon> map, NamedIcon icon) Create icon set to panel icon display class.protected StringgetValidFamilyName(String family, HashMap<String, NamedIcon> iconMap) Check that family name proposed by user for an icon family 1. name is not a duplicate key 2. icon family is already stored.protected voidvoidinit()Initialize panel for selecting a new Control Panel item or for updating an existing item.voidinit(ActionListener doneAction, HashMap<String, NamedIcon> iconMap) Init for update of existing palette item type.voidInitialization for conversion of plain track to indicator track by CircuitBuilder.protected JPanelprotected booleanisUpdate()protected voidmakeDndIcon(HashMap<String, NamedIcon> iconMap) protected voidPosition initial Preview component on _iconFamilyPanel.protected voidPart of the initialization and reseting of an ItemPanel.protected voidmakeFamilyButtons(Set<String> keySet) Make the _familyButtonPanel panel of buttons to select a family.protected JPanelmakeIconDisplayPanel(String key, HashMap<String, NamedIcon> iconMap, boolean dropIcon) Utility for above method.protected JPanelMake a button panel to populate editing an ItemPanelprotected JButtonprotected JPanelmakeSpecialBottomPanel(boolean update) Replacement panel for _bottomPanel when no icon families exist for _itemType.protected JButtonmakeUpdateButton(ActionListener doneAction) Add [Update] button to _bottomPanel.protected booleannamesStoredMap(String family) protected voidopenDialog(String type, String family) protected voidprotected voidsetControlDown(boolean b) protected voidRecover from cancelled Add Family dialogprotected voidAction of family radio button.protected voidprotected voidprotected voidprotected voidMethods inherited from class jmri.jmrit.display.palette.ItemPanel
addIconsToPanel, checkIconMap, initIconFamiliesPanel, itemGridBagConstraint, loadDefaultType, makeBottomPanel, makeNewIconMap, makePreviewPanel, mapsAreEqual, reSizeDisplay, shellDimension, wrapIconImageMethods 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
-
_family
-
_dragIconPanel
-
_familyButtonPanel
-
_showIconsButton
-
_updateButton
-
_unstoredMap
-
_dialog
-
_familyButtonGroup
-
_isUnstoredMap
-
_cntlDown
-
pressed
-
released
-
-
Constructor Details
-
FamilyItemPanel
Constructor types with multiple families and multiple icon families.- Parameters:
parentFrame- enclosing parentFrametype- bean typefamily- icon family
-
-
Method Details
-
init
Description copied from class:ItemPanelInitialize 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. -
init
Init for update of existing palette item type.- Parameters:
doneAction- doneActioniconMap- iconMap
-
init
Initialization for conversion of plain track to indicator track by CircuitBuilder.- Parameters:
bottomPanel- button panel
-
getBottomPanel
Needed by CPE ConvertDialog.java- Returns:
- JPanel
-
getUpdateButton
-
makeUpdateButton
Add [Update] button to _bottomPanel.- Overrides:
makeUpdateButtonin classItemPanel- Parameters:
doneAction- Action for button- Returns:
- button with doneAction Action
-
makeItemButtonPanel
Description copied from class:ItemPanelMake a button panel to populate editing an ItemPanel- Specified by:
makeItemButtonPanelin classItemPanel- Returns:
- the panel
-
makeShowIconsButton
-
makeSpecialBottomPanel
Replacement panel for _bottomPanel when no icon families exist for _itemType.- Specified by:
makeSpecialBottomPanelin classItemPanel- Parameters:
update- edit icons on a panel- Returns:
- the panel
-
addCreateDeleteFamilyButtons
-
getValidFamilyName
Check that family name proposed by user for an icon family 1. name is not a duplicate key 2. icon family is already stored. (Sets "_isUnstoredMap" flag.)- Parameters:
family- name for icon seticonMap- map the family name refers to.- Returns:
- valid family name or null if user declines to provide a valid name.
-
findFamilyOfMap
protected String findFamilyOfMap(String exemptFamily, HashMap<String, NamedIcon> newMap, HashMap<String, HashMap<String, NamedIcon>> families) Find the family name of the map in a families HashMap.- Parameters:
exemptFamily- exclude from matchingnewMap- iconMapfamilies- families of itemType- Returns:
- null if map is not in the family
-
namesStoredMap
-
makeFamiliesPanel
Description copied from class:ItemPanelPart of the initialization and reseting of an ItemPanel. Allows divergence for different panel needs.- Specified by:
makeFamiliesPanelin classItemPanel
-
instructions
- Specified by:
instructionsin classItemPanel
-
addFamilyPanels
-
updateFamiliesPanel
-
makeFamilyButtons
Make the _familyButtonPanel panel of buttons to select a family. Create and set actions of radioButtons to change family on pane.- Parameters:
keySet- of icon family names
-
makeDragIconPanel
Position initial Preview component on _iconFamilyPanel. If already present, keep and clear it. -
makeIconDisplayPanel
protected JPanel makeIconDisplayPanel(String key, HashMap<String, NamedIcon> iconMap, boolean dropIcon) Description copied from class:ItemPanelUtility for above method. Implementation returns a JPanel extension containing a bordered JLabel extension of icon and labels- Specified by:
makeIconDisplayPanelin classItemPanel- Parameters:
key- name of iconiconMap- containing icon for possible replacementdropIcon- JLabel extension may be replaceable or dragable.- Returns:
- the JPanel
-
getDragger
-
makeDndIcon
-
getDisplayKey
Get the key to display the icon to be used for dragging to the panel- Returns:
- key for desired icon
-
hideIcons
-
showIcons
-
deleteFamilySet
Action item for deletion of an icon family. -
setControlDown
-
openDialog
-
dialogDoneAction
IconDialog calls this method to make any changes 'permanent'. It is responsible for testing that the changes are valid.- Parameters:
family- family name, possibly changediconMap- family map, possibly changed
-
isUpdate
-
closeDialogs
- Overrides:
closeDialogsin classItemPanel
-
dispose
-
setFamily
Recover from cancelled Add Family dialog -
setFamily
Action of family radio button. MultiSensorItemPanel and IndicatorTOItemPanel must override.- Parameters:
family- icon family name
-
setFamilyMaps
-
setFamilyButton
-
previewColorChange
- Overrides:
previewColorChangein classItemPanel
-
getIconMap
Create icon set to panel icon display class.- Returns:
- updated icon map
-
getFamilyName
-