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 aServiceLoaderwill be automatically loaded if they implement thePreferencesPanelinterface.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 classTabbedPreferences.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.JPanelbuttonpanel(package private) javax.swing.JPaneldetailpanel(package private) javax.swing.JList<java.lang.String>list(package private) javax.swing.JScrollPanelistScroller(package private) java.util.ArrayList<TabbedPreferences.PreferencesCatItems>preferencesArray(package private) java.util.ArrayList<org.jdom2.Element>preferencesElements(package private) javax.swing.JButtonsave-
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 voidaddPreferencesPanel(PreferencesPanel panel)voiddisablePreferenceItem(java.lang.String selection, java.lang.String subCategory)(package private) intgetCategoryIndexFromString(java.lang.String category)protected java.util.ArrayList<java.lang.String>getChoices()java.lang.StringgetHelpTarget()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.StringgetTitle()Provide a recommended title for an enclosing frame.voidgotoPreferenceItem(java.lang.String selection, java.lang.String subCategory)(package private) booleaninvokeSaveOptions()(package private) booleanisDirty()booleanisMultipleInstances()Can multiple instances of a specific pane subclass exist?booleanisPreferencesValid()voidsavePressed(boolean restartRequired)Handle the Save button: Backup the file, write a new one, prompt for what to do next.(package private) voidselection(java.lang.String view)(package private) voidupdateJList()-
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:JmriPanelProvide 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:
getHelpTargetin classJmriPanel- Returns:
- the target String
-
getTitle
public java.lang.String getTitle()
Description copied from class:JmriPanelProvide a recommended title for an enclosing frame.
-
isMultipleInstances
public boolean isMultipleInstances()
Description copied from class:JmriPanelCan multiple instances of a specific pane subclass exist?- Overrides:
isMultipleInstancesin 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:AppConfigBaseHandle 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:
savePressedin classAppConfigBase- Parameters:
restartRequired- true if JMRI should prompt user to restart
-
-