Package jmri.managers

Class JmriUserPreferencesManager

java.lang.Object
jmri.beans.UnboundBean
jmri.beans.Bean
jmri.managers.JmriUserPreferencesManager
All Implemented Interfaces:
BeanInterface, PropertyChangeFirer, PropertyChangeProvider, InstanceManagerAutoInitialize, UserPreferencesManager

Implementation of UserPreferencesManager that saves user interface preferences that should be automatically remembered as they are set.

This class is intended to be a transitional class from a single user interface preferences manager to multiple, domain-specific (windows, tables, dialogs, etc) user interface preferences managers. Domain-specific managers can more efficiently, both in the API and at runtime, handle each user interface preference need than a single monolithic manager.

The following items are available. Each item has its own section in the user-interface.xml file.

Class Preferences
This contains reminders and selections from dialogs displayed to users. These are normally related to the JMRI NamedBeans represented by the various PanelPro tables. The responses are shown in Preferences -> Messages. This provides the ability to revert previous choices. See UserMessagePreferencesPane

The dialogs are invoked by the various show<Info|Warning|Error>Message dialogs. There are two types of messages created by the dialogs.

multipleChoice
The multiple choice message has a keyword and the selected option. It only exists when the selected option index is greater than zero.
reminderPrompts
The reminder prompt message has a keyword, such as remindSaveRoute. It only exists when the reminder is active.

When the Skip message in future? or Remember this setting for next time? is selected, an entry will be added. The setClassDescription(String) method will use Java reflection to request additional information from the class that was used to the show dialog. This requires some specific changes to the originating class.

Class Constructor
A constructor without parameters is required. This is used to get the class so that the following public methods can be invoked.
getClassDescription()
This returns a string that will be used by Preferences -> Messages.
setMessagePreferenceDetails()
This does not return anything directly. It makes call backs using two methods.
setMessageItemDetails(String, String, String, HashMap, int)
Descriptive information, the items for a combo box and the current selection are sent. This information is used to create the multipleChoice item.
setPreferenceItemDetails(String, String, String)
Descriptive information is sent to create the reminderPrompt item.

The messages are normally created by the various NamedBean classes. LogixNG uses a separate class instead of changing each affected class. This provides a concise example of the required changes at LogixNG_UserPreferences

Checkbox State
Contains the last checkbox state.
Methods:
Combobox Selection
Contains the last combo box selection.
Methods:
Settings
The existence of an entry indicates a true state.
Methods:
Window Details
The main data is the window location and size. This is handled by JmriJFrame. The window details can also include window specific properties.
Methods:
  • Field Details

  • Constructor Details

  • Method Details

    • setSaveAllowed

      public void setSaveAllowed(boolean saveAllowed)
      Description copied from interface: UserPreferencesManager
      Set if saving preferences is allowed. When setting true, preferences will be saved immediately if needed.

      Note only set false if a number of preferences will be set together to avoid excessive disk I/O while setting preferences.

      Note remember to allow saving as soon as blocking saving is no longer needed.

      Specified by:
      setSaveAllowed in interface UserPreferencesManager
      Parameters:
      saveAllowed - true to allow saving; false to block saving
    • isSaveAllowed

      public boolean isSaveAllowed()
      Description copied from interface: UserPreferencesManager
      Check if saving preferences is allowed.
      Specified by:
      isSaveAllowed in interface UserPreferencesManager
      Returns:
      true if saving is allowed; false otherwise
    • getScreen

      public Dimension getScreen()
      Specified by:
      getScreen in interface UserPreferencesManager
    • setSimplePreferenceState

      public void setSimplePreferenceState(String name, boolean state)
      This is used to remember the last selected state of a checkBox and thus allow that checkBox to be set to a true state when it is next initialized. This can also be used anywhere else that a simple yes/no, true/false type preference needs to be stored.

      It should not be used for remembering if a user wants to suppress a message as there is no means in the GUI for the user to reset the flag. setPreferenceState() should be used in this instance The name is free-form, but to avoid ambiguity it should start with the package name (package.Class) for the primary using class.

      Specified by:
      setSimplePreferenceState in interface UserPreferencesManager
      Parameters:
      name - A unique name to identify the state being stored
      state - simple boolean.
    • getSimplePreferenceState

      public boolean getSimplePreferenceState(String name)
      Description copied from interface: UserPreferencesManager
      Enquire as to the state of a user preference.

      Preferences that have not been set will be considered to be false.

      The name is free-form, but to avoid ambiguity it should start with the package name (package.Class) for the primary using class.

      Specified by:
      getSimplePreferenceState in interface UserPreferencesManager
      Parameters:
      name - the name of the preference
      Returns:
      the state or false if never set
    • getSimplePreferenceStateList

      Description copied from interface: UserPreferencesManager
      Returns an ArrayList of the check box states set as true.
      Specified by:
      getSimplePreferenceStateList in interface UserPreferencesManager
      Returns:
      list of simple preferences names
    • setPreferenceState

      public void setPreferenceState(String strClass, String item, boolean state)
      Description copied from interface: UserPreferencesManager
      Used to save the state of checkboxes which can suppress messages from being displayed. This method should be used by the initiating code in conjunction with the preferenceItemDetails. Here the items are stored against a specific class and access to change them is made available via the GUI, in the preference manager.

      The strClass parameter does not have to be the exact class name of the initiating code, but can be one where the information is related and therefore can be grouped together with.

      Both the strClass and item although free form, should make up a unique reference.

      Specified by:
      setPreferenceState in interface UserPreferencesManager
      Parameters:
      strClass - The class that this preference should be stored or grouped with.
      item - The specific item that is to be stored
      state - Boolean state of the item.
    • getPreferenceState

      public boolean getPreferenceState(String strClass, String item)
      Description copied from interface: UserPreferencesManager
      Returns the state of a given item registered against a specific class or item.
      Specified by:
      getPreferenceState in interface UserPreferencesManager
      Parameters:
      strClass - name of the class for this preference
      item - name of the item for which the state is being retrieved
      Returns:
      the state or false if not set
    • setPreferenceItemDetails

      public final void setPreferenceItemDetails(String strClass, String item, String description)
      Description copied from interface: UserPreferencesManager
      Register details about a particular preference, so that it can be displayed in the GUI and provide a meaning full description when presented to the user.
      Specified by:
      setPreferenceItemDetails in interface UserPreferencesManager
      Parameters:
      strClass - A string form of the class that the preference is stored or grouped with
      item - The specific item that is being stored
      description - A meaningful description of the item that the user will understand
    • getPreferenceList

      Description copied from interface: UserPreferencesManager
      Returns a list of preferences that are registered against a specific class.
      Specified by:
      getPreferenceList in interface UserPreferencesManager
      Parameters:
      strClass - the class name
      Returns:
      the list of preference names
    • getPreferenceItemName

      @CheckForNull public String getPreferenceItemName(String strClass, int n)
      Description copied from interface: UserPreferencesManager
      Returns the itemName of the n preference in the given class
      Specified by:
      getPreferenceItemName in interface UserPreferencesManager
      Parameters:
      strClass - the name of the class
      n - the position in an array
      Returns:
      the name of the preference or null if non-existent
    • getPreferenceItemDescription

      Description copied from interface: UserPreferencesManager
      Returns the description of the given item preference in the given class
      Specified by:
      getPreferenceItemDescription in interface UserPreferencesManager
      Parameters:
      strClass - the name of the class
      item - the name of the item
      Returns:
      the description of the preference
    • setSessionPreferenceState

      public void setSessionPreferenceState(String name, boolean state)
      Used to surpress messages for a particular session, the information is not stored, can not be changed via the GUI.

      This can be used to help prevent over loading the user with repetitive error messages such as turnout not found while loading a panel file due to a connection failing. The name is free-form, but to avoid ambiguity it should start with the package name (package.Class) for the primary using class.

      Specified by:
      setSessionPreferenceState in interface UserPreferencesManager
      Parameters:
      name - A unique identifier for preference.
      state - suppression state of the item.
    • getSessionPreferenceState

      public boolean getSessionPreferenceState(String name)
      Enquire as to the state of a user preference for the current session.

      Preferences that have not been set will be considered to be false.

      The name is free-form, but to avoid ambiguity it should start with the package name (package.Class) for the primary using class.

      Specified by:
      getSessionPreferenceState in interface UserPreferencesManager
      Parameters:
      name - the name of the preference
      Returns:
      the state or false if not set
    • showInfoMessage

      public void showInfoMessage(String title, String message, String strClass, String item)
      Show an info message ("don't forget ...") with a given dialog title and user message. Use a given preference name to determine whether to show it in the future. The combination of the classString and item parameters should form a unique value.
      Specified by:
      showInfoMessage in interface UserPreferencesManager
      Parameters:
      title - message Box title
      message - message to be displayed
      strClass - name of the calling class
      item - name of the specific item this is used for
    • showInfoMessage

      public void showInfoMessage(@CheckForNull Component parentComponent, String title, String message, String strClass, String item)
      Show an info message ("don't forget ...") with a given dialog title and user message. Use a given preference name to determine whether to show it in the future. The combination of the classString and item parameters should form a unique value.
      Specified by:
      showInfoMessage in interface UserPreferencesManager
      Parameters:
      parentComponent - Used to improve Dialog display, can be null.
      title - message Box title
      message - message to be displayed
      strClass - name of the calling class
      item - name of the specific item this is used for
    • showErrorMessage

      public void showErrorMessage(String title, String message, String strClass, String item, boolean sessionOnly, boolean alwaysRemember)
      Show an error message ("don't forget ...") with a given dialog title and user message. Use a given preference name to determine whether to show it in the future. added flag to indicate that the message should be suppressed JMRI session only. The classString and item parameters should form a unique value
      Specified by:
      showErrorMessage in interface UserPreferencesManager
      Parameters:
      title - Message Box title
      message - Message to be displayed
      strClass - String value of the calling class
      item - String value of the specific item this is used for
      sessionOnly - Means this message will be suppressed in this JMRI session and not be remembered
      alwaysRemember - Means that the suppression of the message will be saved
    • showErrorMessage

      public void showErrorMessage(@CheckForNull Component parentComponent, String title, String message, String strClass, String item, boolean sessionOnly, boolean alwaysRemember)
      Show an error message ("don't forget ...") with a given dialog title and user message. Use a given preference name to determine whether to show it in the future. Flag to indicate that the message should be suppressed JMRI session only. The classString and item parameters should form a unique value.
      Specified by:
      showErrorMessage in interface UserPreferencesManager
      Parameters:
      parentComponent - Used to improve Dialog display, can be null.
      title - Message Box title
      message - Message to be displayed
      strClass - String value of the calling class
      item - String value of the specific item this is used for
      sessionOnly - Means this message will be suppressed in this JMRI session and not be remembered
      alwaysRemember - Means that the suppression of the message will be saved
    • showInfoMessage

      public void showInfoMessage(String title, String message, String strClass, String item, boolean sessionOnly, boolean alwaysRemember)
      Show an info message ("don't forget ...") with a given dialog title and user message. Use a given preference name to determine whether to show it in the future. added flag to indicate that the message should be suppressed JMRI session only. The classString and item parameters should form a unique value
      Specified by:
      showInfoMessage in interface UserPreferencesManager
      Parameters:
      title - Message Box title
      message - Message to be displayed
      strClass - String value of the calling class
      item - String value of the specific item this is used for
      sessionOnly - Means this message will be suppressed in this JMRI session and not be remembered
      alwaysRemember - Means that the suppression of the message will be saved
    • showInfoMessage

      public void showInfoMessage(@CheckForNull Component parentComponent, String title, String message, String strClass, String item, boolean sessionOnly, boolean alwaysRemember)
      Show an info message ("don't forget ...") with a given dialog title and user message. Use a given preference name to determine whether to show it in the future. Flag to indicate that the message should be suppressed JMRI session only. The classString and item parameters should form a unique value.
      Specified by:
      showInfoMessage in interface UserPreferencesManager
      Parameters:
      parentComponent - Used to improve Dialog display, can be null.
      title - Message Box title
      message - Message to be displayed
      strClass - String value of the calling class
      item - String value of the specific item this is used for
      sessionOnly - Means this message will be suppressed in this JMRI session and not be remembered
      alwaysRemember - Means that the suppression of the message will be saved
    • showWarningMessage

      public void showWarningMessage(String title, String message, String strClass, String item, boolean sessionOnly, boolean alwaysRemember)
      Show a warning message ("don't forget ...") with a given dialog title and user message. Use a given preference name to determine whether to show it in the future. added flag to indicate that the message should be suppressed JMRI session only. The classString and item parameters should form a unique value
      Specified by:
      showWarningMessage in interface UserPreferencesManager
      Parameters:
      title - Message Box title
      message - Message to be displayed
      strClass - String value of the calling class
      item - String value of the specific item this is used for
      sessionOnly - Means this message will be suppressed in this JMRI session and not be remembered
      alwaysRemember - Means that the suppression of the message will be saved
    • showWarningMessage

      public void showWarningMessage(@CheckForNull Component parentComponent, String title, String message, String strClass, String item, boolean sessionOnly, boolean alwaysRemember)
      Show a warning message ("don't forget ...") with a given dialog title and user message. Use a given preference name to determine whether to show it in the future. Flag to indicate that the message should be suppressed JMRI session only. The classString and item parameters should form a unique value.
      Specified by:
      showWarningMessage in interface UserPreferencesManager
      Parameters:
      parentComponent - Used to improve Dialog display, can be null.
      title - Message Box title
      message - Message to be displayed
      strClass - String value of the calling class
      item - String value of the specific item this is used for
      sessionOnly - Means this message will be suppressed in this JMRI session and not be remembered
      alwaysRemember - Means that the suppression of the message will be saved
    • showMessage

      protected void showMessage(@CheckForNull Component parentComponent, String title, String message, String strClass, String item, boolean sessionOnly, boolean alwaysRemember, int type)
    • getComboBoxLastSelection

      Description copied from interface: UserPreferencesManager
      The last selected value in a given combo box.
      Specified by:
      getComboBoxLastSelection in interface UserPreferencesManager
      Parameters:
      comboBoxName - the combo box name
      Returns:
      the selected value
    • setComboBoxLastSelection

      public void setComboBoxLastSelection(String comboBoxName, String lastValue)
      Description copied from interface: UserPreferencesManager
      Set the last selected value in a given combo box.

      The name is free-form, but to avoid ambiguity it should start with the package name (package.Class) for the primary using class, followed by an identifier for the combo box.

      Specified by:
      setComboBoxLastSelection in interface UserPreferencesManager
      Parameters:
      comboBoxName - the combo box name
      lastValue - the selected value
    • getCheckboxPreferenceState

      public boolean getCheckboxPreferenceState(String name, boolean defaultState)
      Description copied from interface: UserPreferencesManager
      Enquire as to the state of a user preference.

      Preferences that have not been set will be considered to be defaultState.

      The name is free-form, but to avoid ambiguity it should start with the package name (package.Class) for the primary using class.

      Specified by:
      getCheckboxPreferenceState in interface UserPreferencesManager
      Parameters:
      name - the name of the preference
      defaultState - the default state if not set
      Returns:
      the state or defaultState if never set
    • setCheckboxPreferenceState

      public void setCheckboxPreferenceState(String name, boolean state)
      Description copied from interface: UserPreferencesManager
      This is used to remember the last selected state of a checkBox and thus allow that checkBox to be set to a true state when it is next initialized. This can also be used anywhere else that a simple yes/no, true/false type preference needs to be stored.

      It should not be used for remembering if a user wants to suppress a message as there is no means in the GUI for the user to reset the flag. setPreferenceState() should be used in this instance The name is free-form, but to avoid ambiguity it should start with the package name (package.Class) for the primary using class.

      Specified by:
      setCheckboxPreferenceState in interface UserPreferencesManager
      Parameters:
      name - A unique name to identify the state being stored
      state - simple boolean
    • getChangeMade

      public boolean getChangeMade()
    • setChangeMade

      public void setChangeMade(boolean fireUpdate)
    • resetChangeMade

      public void resetChangeMade()
      Specified by:
      resetChangeMade in interface UserPreferencesManager
    • isLoading

      protected boolean isLoading()
      Check if this object is loading preferences from storage.
      Returns:
      true if loading preferences; false otherwise
    • setLoading

      public void setLoading()
      Specified by:
      setLoading in interface UserPreferencesManager
    • finishLoading

      public void finishLoading()
      Specified by:
      finishLoading in interface UserPreferencesManager
    • displayRememberMsg

      public void displayRememberMsg()
    • getWindowLocation

      public Point getWindowLocation(String strClass)
      Description copied from interface: UserPreferencesManager
      Get the x,y location of a given Window.
      Specified by:
      getWindowLocation in interface UserPreferencesManager
      Parameters:
      strClass - the class name
      Returns:
      the location
    • getWindowSize

      public Dimension getWindowSize(String strClass)
      Description copied from interface: UserPreferencesManager
      Returns the width, height size of a given Window
      Specified by:
      getWindowSize in interface UserPreferencesManager
      Parameters:
      strClass - the class name
      Returns:
      the size
    • getSaveWindowSize

      public boolean getSaveWindowSize(String strClass)
      Specified by:
      getSaveWindowSize in interface UserPreferencesManager
    • getSaveWindowLocation

      public boolean getSaveWindowLocation(String strClass)
      Specified by:
      getSaveWindowLocation in interface UserPreferencesManager
    • setSaveWindowSize

      public void setSaveWindowSize(String strClass, boolean b)
      Description copied from interface: UserPreferencesManager
      Set if window sizes should be saved for a given class. Method has no effect if strClass is null or equals jmri.util.JmriJFrame.
      Specified by:
      setSaveWindowSize in interface UserPreferencesManager
      Parameters:
      strClass - name of the class
      b - true if window sizes should be saved; false otherwise
    • setSaveWindowLocation

      public void setSaveWindowLocation(String strClass, boolean b)
      Description copied from interface: UserPreferencesManager
      Set if window locations should be saved for a given class. Method has no effect if strClass is null or equals jmri.util.JmriJFrame.
      Specified by:
      setSaveWindowLocation in interface UserPreferencesManager
      Parameters:
      strClass - name of the class
      b - true if window locations should be saved; false otherwise
    • setWindowLocation

      public void setWindowLocation(String strClass, Point location)
      Description copied from interface: UserPreferencesManager
      Saves the last location of a given component on the screen.

      The jmri.util.JmriJFrame, will automatically use the class name of the frame if the class name returned is equal to jmri.util.JmriJFrame, the location is not stored

      Specified by:
      setWindowLocation in interface UserPreferencesManager
      Parameters:
      strClass - This is a unique identifier for window location being saved
      location - The x,y location of the window given in a Point
    • setWindowSize

      public void setWindowSize(String strClass, Dimension dim)
      Description copied from interface: UserPreferencesManager
      Saves the last size of a given component on the screen

      The jmri.util.JmriJFrame, will automatically use the class name of the frame if the class name returned is equal to jmri.util.JmriJFrame, the size is not stored

      Specified by:
      setWindowSize in interface UserPreferencesManager
      Parameters:
      strClass - This is a unique identifier for window size being saved
      dim - The width, height size of the window given in a Dimension
    • getWindowList

      Specified by:
      getWindowList in interface UserPreferencesManager
    • setProperty

      public void setProperty(String strClass, String key, Object value)
      Description copied from interface: UserPreferencesManager
      Attach a key/value pair to the given class, which can be retrieved later. These are not bound properties as yet, and don't throw events on modification. Key must not be null.
      Specified by:
      setProperty in interface UserPreferencesManager
      Parameters:
      strClass - class to use
      key - Prior to 4.3.5, this could be an Object.
      value - value to use
    • getProperty

      public Object getProperty(String strClass, String key)
      Description copied from interface: UserPreferencesManager
      Retrieve the value associated with a key in a given class If no value has been set for that key, returns null.
      Specified by:
      getProperty in interface UserPreferencesManager
      Parameters:
      strClass - class to use
      key - item to retrieve
      Returns:
      stored value
    • getPropertyKeys

      public Set<String> getPropertyKeys(String strClass)
      Description copied from interface: UserPreferencesManager
      Retrieve the complete current set of keys for a given class.
      Specified by:
      getPropertyKeys in interface UserPreferencesManager
      Parameters:
      strClass - class to use
      Returns:
      complete set of keys
    • hasProperties

      public boolean hasProperties(String strClass)
      Description copied from interface: UserPreferencesManager
      Check if there are properties for the given class
      Specified by:
      hasProperties in interface UserPreferencesManager
      Parameters:
      strClass - class to check
      Returns:
      true if properties for strClass are maintained; false otherwise
    • getClassDescription

      Description copied from interface: UserPreferencesManager
      Get the description of a class/group registered with the preferences.
      Specified by:
      getClassDescription in interface UserPreferencesManager
      Parameters:
      strClass - the class name
      Returns:
      the description
    • getPreferencesClasses

      Description copied from interface: UserPreferencesManager
      Get the list of the classes registered with the preference manager.
      Specified by:
      getPreferencesClasses in interface UserPreferencesManager
      Returns:
      the list of class names
    • setClassDescription

      public void setClassDescription(String strClass)
      Given that we know the class as a string, we will try and attempt to gather details about the preferences that has been added, so that we can make better sense of the details in the preferences window.

      This looks for specific methods within the class called "getClassDescription" and "setMessagePreferencesDetails". If found it will invoke the methods, this will then trigger the class to send details about its preferences back to this code.

      Specified by:
      setClassDescription in interface UserPreferencesManager
      Parameters:
      strClass - description to use for the class
    • setMessageItemDetails

      public void setMessageItemDetails(String strClass, String item, String description, HashMap<Integer,String> options, int defaultOption)
      Add descriptive details about a specific message box, so that if it needs to be reset in the preferences, then it is easily identifiable. displayed to the user in the preferences GUI.
      Specified by:
      setMessageItemDetails in interface UserPreferencesManager
      Parameters:
      strClass - String value of the calling class/group
      item - String value of the specific item this is used for.
      description - A meaningful description that can be used in a label to describe the item
      options - A map of the integer value of the option against a meaningful description.
      defaultOption - The default option for the given item.
    • getChoiceOptions

      public HashMap<Integer,String> getChoiceOptions(String strClass, String item)
      Description copied from interface: UserPreferencesManager
      Returns a map of the value against description of the different items in a given class. This information can then be used to build a Combo box.
      Specified by:
      getChoiceOptions in interface UserPreferencesManager
      Parameters:
      strClass - Class or group of the given item
      item - the item which we wish to return the details about.
      Returns:
      map of choices
    • getMultipleChoiceSize

      public int getMultipleChoiceSize(String strClass)
      Description copied from interface: UserPreferencesManager
      Get the number of Multiple Choice items registered with a given class.
      Specified by:
      getMultipleChoiceSize in interface UserPreferencesManager
      Parameters:
      strClass - the class name
      Returns:
      number of items
    • getMultipleChoiceList

      Description copied from interface: UserPreferencesManager
      Get a list of all the multiple choice items registered with a given class.
      Specified by:
      getMultipleChoiceList in interface UserPreferencesManager
      Parameters:
      strClass - the class name
      Returns:
      list of item names
    • getChoiceName

      public String getChoiceName(String strClass, int n)
      Description copied from interface: UserPreferencesManager
      Get the nth item name in a given class.
      Specified by:
      getChoiceName in interface UserPreferencesManager
      Parameters:
      strClass - the class name
      n - the position
      Returns:
      the item name
    • getChoiceDescription

      public String getChoiceDescription(String strClass, String item)
      Description copied from interface: UserPreferencesManager
      Get the a meaningful description of a given item in a given class or group.
      Specified by:
      getChoiceDescription in interface UserPreferencesManager
      Parameters:
      strClass - the class name
      item - the item name
      Returns:
      the item description
    • getMultipleChoiceOption

      public int getMultipleChoiceOption(String strClass, String item)
      Description copied from interface: UserPreferencesManager
      Get the current value of a given item in a given class.
      Specified by:
      getMultipleChoiceOption in interface UserPreferencesManager
      Parameters:
      strClass - the class name
      item - the item name
      Returns:
      the value
    • getMultipleChoiceDefaultOption

      public int getMultipleChoiceDefaultOption(String strClass, String choice)
      Description copied from interface: UserPreferencesManager
      Returns the default value of a given item in a given class
      Specified by:
      getMultipleChoiceDefaultOption in interface UserPreferencesManager
      Parameters:
      strClass - the class name
      choice - the item name
      Returns:
      the default value
    • setMultipleChoiceOption

      public void setMultipleChoiceOption(String strClass, String choice, String value)
      Description copied from interface: UserPreferencesManager
      Sets the value of a given item in a given class, by its string description.
      Specified by:
      setMultipleChoiceOption in interface UserPreferencesManager
      Parameters:
      strClass - the class name
      choice - the item name
      value - the item value description
    • setMultipleChoiceOption

      public void setMultipleChoiceOption(String strClass, String choice, int value)
      Description copied from interface: UserPreferencesManager
      Sets the value of a given item in a given class, by its integer value.
      Specified by:
      setMultipleChoiceOption in interface UserPreferencesManager
      Parameters:
      strClass - the class name
      choice - the item name
      value - the item value
    • getClassDescription

    • getClassName

      protected final String getClassName()
    • getClassPreferences

    • getPreferencesSize

      public int getPreferencesSize(String strClass)
      Description copied from interface: UserPreferencesManager
      Get the combined size of both types of items registered.
      Specified by:
      getPreferencesSize in interface UserPreferencesManager
      Parameters:
      strClass - the class name
      Returns:
      number of registered preferences
    • readUserPreferences

      public final void readUserPreferences()
    • saveElement

      protected void saveElement(@Nonnull org.jdom2.Element element)
    • initialize

      public void initialize()
      Description copied from interface: InstanceManagerAutoInitialize
      Perform any initialization that occurs after this object has been constructed and made available by the InstanceManager.
      Specified by:
      initialize in interface InstanceManagerAutoInitialize