Class ProgServiceModePane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.jmrit.progsupport.ProgModeSelector
-
- jmri.jmrit.progsupport.ProgServiceModePane
-
- All Implemented Interfaces:
java.awt.event.ActionListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.beans.PropertyChangeListener
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
public class ProgServiceModePane extends ProgModeSelector implements java.beans.PropertyChangeListener, java.awt.event.ActionListener
Provide a JPanel to configure the service mode (Global) programmer.The using code should get a configured programmer with getProgrammer. Since there's only one service mode programmer, maybe this isn't critical, but it's a good idea for the future.
A ProgModePane may "share" between one of these and a ProgOpsModePane, which means that there might be _none_ of these buttons selected. When that happens, the mode of the underlying programmer is left unchanged and no message is propagated.
Note that you should call the dispose() method when you're really done, so that a ProgModePane object can disconnect its listeners.
This file is part of JMRI.JMRI is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. See the "COPYING" file for a copy of this license.
JMRI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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) java.util.HashMap<ProgrammingMode,javax.swing.JRadioButton>
buttonMap
(package private) java.util.ArrayList<javax.swing.JRadioButton>
buttonPool
(package private) javax.swing.ButtonGroup
modeGroup
(package private) javax.swing.JComboBox<GlobalProgrammerManager>
progBox
-
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
-
-
Constructor Summary
Constructors Constructor Description ProgServiceModePane(int direction)
ProgServiceModePane(int direction, javax.swing.ButtonGroup group)
Create a new Programmer Service Mode Pane.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent e)
Listen to buttons for mode changesvoid
dispose()
Clean up when done.java.util.List<GlobalProgrammerManager>
getMgrList()
Get the list of global managers.Programmer
getProgrammer()
Get the selected programmerboolean
isSelected()
Are any of the modes selected?(package private) void
programmerSelected()
reload the interface with the new programmersvoid
propertyChange(java.beans.PropertyChangeEvent e)
Listen to programmer for mode changes(package private) void
setGuiFromProgrammer()
-
Methods inherited from class jmri.jmrit.progsupport.ProgModeSelector
setEnabled
-
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, 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
-
modeGroup
javax.swing.ButtonGroup modeGroup
-
buttonMap
java.util.HashMap<ProgrammingMode,javax.swing.JRadioButton> buttonMap
-
progBox
javax.swing.JComboBox<GlobalProgrammerManager> progBox
-
buttonPool
java.util.ArrayList<javax.swing.JRadioButton> buttonPool
-
-
Constructor Detail
-
ProgServiceModePane
public ProgServiceModePane(int direction)
- Parameters:
direction
- controls layout, either BoxLayout.X_AXIS or BoxLayout.Y_AXIS
-
ProgServiceModePane
public ProgServiceModePane(int direction, javax.swing.ButtonGroup group)
Create a new Programmer Service Mode Pane.- Parameters:
direction
- controls layout, either BoxLayout.X_AXIS or BoxLayout.Y_AXISgroup
- mode button group.
-
-
Method Detail
-
getProgrammer
public Programmer getProgrammer()
Get the selected programmer- Specified by:
getProgrammer
in classProgModeSelector
- Returns:
- the programmer.
-
isSelected
public boolean isSelected()
Are any of the modes selected?- Specified by:
isSelected
in classProgModeSelector
- Returns:
- true is any button is selected
-
getMgrList
@Nonnull public java.util.List<GlobalProgrammerManager> getMgrList()
Get the list of global managers.- Returns:
- empty list if none
-
programmerSelected
void programmerSelected()
reload the interface with the new programmers
-
actionPerformed
public void actionPerformed(@Nonnull java.awt.event.ActionEvent e)
Listen to buttons for mode changes- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
-
propertyChange
public void propertyChange(@Nonnull java.beans.PropertyChangeEvent e)
Listen to programmer for mode changes- Specified by:
propertyChange
in interfacejava.beans.PropertyChangeListener
-
setGuiFromProgrammer
void setGuiFromProgrammer()
-
dispose
public void dispose()
Description copied from class:ProgModeSelector
Clean up when done. Required.- Specified by:
dispose
in classProgModeSelector
-
-