Package apps.gui3.tabbedpreferences
Class TabbedPreferences
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.util.swing.JmriPanel
-
- apps.AppConfigBase
-
- apps.gui3.tabbedpreferences.TabbedPreferences
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
public class TabbedPreferences extends AppConfigBase
Provide access to preferences via a tabbed pane. Preferences panels provided by aServiceLoader
will be automatically loaded if they implement thePreferencesPanel
interface.JMRI apps (generally) create one object of this type on the main thread as part of initialization, which is then made available via the
InstanceManager
.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
TabbedPreferences.PreferencesCatItems
-
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.JPanel
buttonpanel
(package private) javax.swing.JPanel
detailpanel
(package private) javax.swing.JList<java.lang.String>
list
(package private) javax.swing.JScrollPane
listScroller
(package private) java.util.ArrayList<TabbedPreferences.PreferencesCatItems>
preferencesArray
(package private) java.util.ArrayList<org.jdom2.Element>
preferencesElements
(package private) javax.swing.JButton
save
-
Fields inherited from class apps.AppConfigBase
preferencesPanels, rb
-
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 TabbedPreferences()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addPreferencesPanel(PreferencesPanel panel)
void
disablePreferenceItem(java.lang.String selection, java.lang.String subCategory)
(package private) int
getCategoryIndexFromString(java.lang.String category)
protected java.util.ArrayList<java.lang.String>
getChoices()
java.lang.String
getHelpTarget()
Provide a help target string which an enclosing frame can provide as a help reference.java.util.List<java.lang.String>
getPreferenceMenuList()
java.util.List<java.lang.String>
getPreferenceSubCategory(java.lang.String category)
java.lang.String
getTitle()
Provide a recommended title for an enclosing frame.void
gotoPreferenceItem(java.lang.String selection, java.lang.String subCategory)
(package private) boolean
invokeSaveOptions()
(package private) boolean
isDirty()
boolean
isMultipleInstances()
Can multiple instances of a specific pane subclass exist?boolean
isPreferencesValid()
void
savePressed(boolean restartRequired)
Handle the Save button: Backup the file, write a new one, prompt for what to do next.(package private) void
selection(java.lang.String view)
(package private) void
updateJList()
-
Methods inherited from class apps.AppConfigBase
dispose, getClassDescription, getClassName, getPreferencesPanels, saveContents
-
Methods inherited from class jmri.util.swing.JmriPanel
getMenus, getMinimumDimension, getWindowInterface, initComponents, initContext, setWindowInterface
-
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
-
preferencesElements
java.util.ArrayList<org.jdom2.Element> preferencesElements
-
detailpanel
javax.swing.JPanel detailpanel
-
preferencesArray
java.util.ArrayList<TabbedPreferences.PreferencesCatItems> preferencesArray
-
buttonpanel
javax.swing.JPanel buttonpanel
-
list
javax.swing.JList<java.lang.String> list
-
save
javax.swing.JButton save
-
listScroller
javax.swing.JScrollPane listScroller
-
-
Constructor Detail
-
TabbedPreferences
public TabbedPreferences()
-
-
Method Detail
-
getHelpTarget
public java.lang.String getHelpTarget()
Description copied from class:JmriPanel
Provide a help target string which an enclosing frame can provide as a help reference.This automatically provides a reference to the usual place for JMRI window-specific help pages that are named for the implementing class, but note this is a Pane class, not a Frame class.
- Overrides:
getHelpTarget
in classJmriPanel
- Returns:
- the target String
-
getTitle
public java.lang.String getTitle()
Description copied from class:JmriPanel
Provide a recommended title for an enclosing frame.
-
isMultipleInstances
public boolean isMultipleInstances()
Description copied from class:JmriPanel
Can multiple instances of a specific pane subclass exist?- Overrides:
isMultipleInstances
in classJmriPanel
- Returns:
- true if multiple panels of this class can be open at once; false if only one instance of this panel can exist.
-
isDirty
boolean isDirty()
-
invokeSaveOptions
boolean invokeSaveOptions()
-
selection
void selection(java.lang.String view)
-
addPreferencesPanel
public void addPreferencesPanel(PreferencesPanel panel)
-
gotoPreferenceItem
public void gotoPreferenceItem(java.lang.String selection, java.lang.String subCategory)
-
getPreferenceMenuList
public java.util.List<java.lang.String> getPreferenceMenuList()
-
getPreferenceSubCategory
public java.util.List<java.lang.String> getPreferenceSubCategory(java.lang.String category)
-
getCategoryIndexFromString
int getCategoryIndexFromString(java.lang.String category)
-
disablePreferenceItem
public void disablePreferenceItem(java.lang.String selection, java.lang.String subCategory)
-
getChoices
protected java.util.ArrayList<java.lang.String> getChoices()
-
updateJList
void updateJList()
-
isPreferencesValid
public boolean isPreferencesValid()
-
savePressed
public void savePressed(boolean restartRequired)
Description copied from class:AppConfigBase
Handle the Save button: Backup the file, write a new one, prompt for what to do next. To do that, the last step is to present a dialog box prompting the user to end the program, if required.- Overrides:
savePressed
in classAppConfigBase
- Parameters:
restartRequired
- true if JMRI should prompt user to restart
-
-