Class PreferenceConverter


  • public class PreferenceConverter
    extends Object
    A utility class for dealing with preferences whose values are common SWT objects (color, points, rectangles, and font data). The static methods on this class handle the conversion between the SWT objects and their string representations.

    Usage:

     IPreferenceStore store = ...;
     PreferenceConverter.setValue(store, "bg", new RGB(127,127,127));
     ...
     RBG bgColor = PreferenceConverter.getValue(store, "bg");
     

    This class contains static methods and fields only and cannot be instantiated.

    Note: touching this class has the side effect of creating a display (static initializer).
    Restriction:
    This class is not intended to be instantiated by clients.
    • Field Detail

      • POINT_DEFAULT_DEFAULT

        public static final Point POINT_DEFAULT_DEFAULT
        The default-default value for point preferences (the origin, (0,0)).
      • RECTANGLE_DEFAULT_DEFAULT

        public static final Rectangle RECTANGLE_DEFAULT_DEFAULT
        The default-default value for rectangle preferences (the empty rectangle (0,0,0,0)).
      • COLOR_DEFAULT_DEFAULT

        public static final RGB COLOR_DEFAULT_DEFAULT
        The default-default value for color preferences (black, RGB(0,0,0)).
      • FONTDATA_ARRAY_DEFAULT_DEFAULT

        @Deprecated
        public static FontData[] FONTDATA_ARRAY_DEFAULT_DEFAULT
        Deprecated.
        this is not thread-safe and may contain invalid data at startup. Call getFontDataArrayDefaultDefault() from the UI thread instead.
        The default-default value for FontData[] preferences. Read-only.
      • FONTDATA_DEFAULT_DEFAULT

        @Deprecated
        public static FontData FONTDATA_DEFAULT_DEFAULT
        Deprecated.
        this is not thread-safe and may contain invalid data at startup. Call getFontDataArrayDefaultDefault()} from the UI thread instead.
        The default-default value for FontData preferences. Read-only.
    • Method Detail

      • basicGetFontData

        public static FontData[] basicGetFontData​(String value)
        Helper method to construct a FontData from the given string. String is in the form FontData;FontData; in order that multiple FontDatas can be defined.
        Parameters:
        value - the identifier for the font
        Returns:
        FontData[]
        Since:
        3.0
      • readFontData

        public static FontData[] readFontData​(String fontDataValue)
        Reads the supplied string and returns its corresponding FontData. If it cannot be read then the default FontData will be returned.
        Parameters:
        fontDataValue - the string value for the font data
        Returns:
        the font data
      • getColor

        public static RGB getColor​(IPreferenceStore store,
                                   String name)
        Returns the current value of the color-valued preference with the given name in the given preference store. Returns the default-default value (COLOR_DEFAULT_DEFAULT) if there is no preference with the given name, or if the current value cannot be treated as a color.
        Parameters:
        store - the preference store
        name - the name of the preference
        Returns:
        the color-valued preference
      • getDefaultColor

        public static RGB getDefaultColor​(IPreferenceStore store,
                                          String name)
        Returns the default value for the color-valued preference with the given name in the given preference store. Returns the default-default value (COLOR_DEFAULT_DEFAULT) is no default preference with the given name, or if the default value cannot be treated as a color.
        Parameters:
        store - the preference store
        name - the name of the preference
        Returns:
        the default value of the preference
      • getDefaultFontDataArray

        public static FontData[] getDefaultFontDataArray​(IPreferenceStore store,
                                                         String name)
        Returns the default value array for the font-valued preference with the given name in the given preference store. Returns the default-default value (FONTDATA_ARRAY_DEFAULT_DEFAULT) is no default preference with the given name, or if the default value cannot be treated as font data.
        Parameters:
        store - the preference store
        name - the name of the preference
        Returns:
        the default value of the preference
      • getDefaultFontData

        public static FontData getDefaultFontData​(IPreferenceStore store,
                                                  String name)
        Returns a single default value for the font-valued preference with the given name in the given preference store. Returns the default-default value (FONTDATA_DEFAULT_DEFAULT) is no default preference with the given name, or if the default value cannot be treated as font data. This method is provided for backwards compatibility. It is recommended that getDefaultFontDataArray is used instead.
        Parameters:
        store - the preference store
        name - the name of the preference
        Returns:
        the default value of the preference
      • getDefaultPoint

        public static Point getDefaultPoint​(IPreferenceStore store,
                                            String name)
        Returns the default value for the point-valued preference with the given name in the given preference store. Returns the default-default value (POINT_DEFAULT_DEFAULT) is no default preference with the given name, or if the default value cannot be treated as a point.
        Parameters:
        store - the preference store
        name - the name of the preference
        Returns:
        the default value of the preference
      • getDefaultRectangle

        public static Rectangle getDefaultRectangle​(IPreferenceStore store,
                                                    String name)
        Returns the default value for the rectangle-valued preference with the given name in the given preference store. Returns the default-default value (RECTANGLE_DEFAULT_DEFAULT) is no default preference with the given name, or if the default value cannot be treated as a rectangle.
        Parameters:
        store - the preference store
        name - the name of the preference
        Returns:
        the default value of the preference
      • getFontDataArray

        public static FontData[] getFontDataArray​(IPreferenceStore store,
                                                  String name)
        Returns the current value of the font-valued preference with the given name in the given preference store. Returns the default-default value (FONTDATA_ARRAY_DEFAULT_DEFAULT) if there is no preference with the given name, or if the current value cannot be treated as font data.
        Parameters:
        store - the preference store
        name - the name of the preference
        Returns:
        the font-valued preference
      • getFontDataArrayDefaultDefault

        public static FontData[] getFontDataArrayDefaultDefault()
        The default-default value for FontData[] preferences. Must be called from the UI thread.
        Returns:
        the default-default value for FontData[] preferences.
        Since:
        3.12
      • getFontData

        public static FontData getFontData​(IPreferenceStore store,
                                           String name)
        Returns the current value of the first entry of the font-valued preference with the given name in the given preference store. Returns the default-default value (FONTDATA_ARRAY_DEFAULT_DEFAULT) if there is no preference with the given name, or if the current value cannot be treated as font data. This API is provided for backwards compatibility. It is recommended that getFontDataArray is used instead.
        Parameters:
        store - the preference store
        name - the name of the preference
        Returns:
        the font-valued preference
      • getPoint

        public static Point getPoint​(IPreferenceStore store,
                                     String name)
        Returns the current value of the point-valued preference with the given name in the given preference store. Returns the default-default value (POINT_DEFAULT_DEFAULT) if there is no preference with the given name, or if the current value cannot be treated as a point.
        Parameters:
        store - the preference store
        name - the name of the preference
        Returns:
        the point-valued preference
      • getRectangle

        public static Rectangle getRectangle​(IPreferenceStore store,
                                             String name)
        Returns the current value of the rectangle-valued preference with the given name in the given preference store. Returns the default-default value (RECTANGLE_DEFAULT_DEFAULT) if there is no preference with the given name, or if the current value cannot be treated as a rectangle.
        Parameters:
        store - the preference store
        name - the name of the preference
        Returns:
        the rectangle-valued preference
      • setDefault

        public static void setDefault​(IPreferenceStore store,
                                      String name,
                                      FontData value)
        Sets the default value of the preference with the given name in the given preference store. As FontDatas are stored as arrays this method is only provided for backwards compatibility. Use setDefault(IPreferenceStore, String, FontData[]) instead.
        Parameters:
        store - the preference store
        name - the name of the preference
        value - the new default value of the preference
      • setDefault

        public static void setDefault​(IPreferenceStore store,
                                      String name,
                                      FontData[] value)
        Sets the default value of the preference with the given name in the given preference store.
        Parameters:
        store - the preference store
        name - the name of the preference
        value - the new default value of the preference
      • setDefault

        public static void setDefault​(IPreferenceStore store,
                                      String name,
                                      Point value)
        Sets the default value of the preference with the given name in the given preference store.
        Parameters:
        store - the preference store
        name - the name of the preference
        value - the new default value of the preference
      • setDefault

        public static void setDefault​(IPreferenceStore store,
                                      String name,
                                      Rectangle value)
        Sets the default value of the preference with the given name in the given preference store.
        Parameters:
        store - the preference store
        name - the name of the preference
        value - the new default value of the preference
      • setDefault

        public static void setDefault​(IPreferenceStore store,
                                      String name,
                                      RGB value)
        Sets the default value of the preference with the given name in the given preference store.
        Parameters:
        store - the preference store
        name - the name of the preference
        value - the new default value of the preference
      • setValue

        public static void setValue​(IPreferenceStore store,
                                    String name,
                                    FontData value)
        Sets the current value of the preference with the given name in the given preference store.

        Included for backwards compatibility. This method is equivalent to setValue(store, name, new FontData[]{value}).

        Parameters:
        store - the preference store
        name - the name of the preference
        value - the new current value of the preference
      • setValue

        public static void setValue​(IPreferenceStore store,
                                    String name,
                                    FontData[] value)
        Sets the current value of the preference with the given name in the given preference store. This method also sets the corresponding key in the JFace font registry to the value and fires a property change event to listeners on the preference store.

        Note that this API does not update any other settings that may be dependant upon it. Only the value in the preference store and in the font registry is updated.

        Parameters:
        store - the preference store
        name - the name of the preference
        value - the new current value of the preference
        See Also:
        putValue(IPreferenceStore, String, FontData[])
      • putValue

        public static void putValue​(IPreferenceStore store,
                                    String name,
                                    FontData[] value)
        Sets the current value of the preference with the given name in the given preference store. This method does not update the font registry or fire a property change event.
        Parameters:
        store - the preference store
        name - the name of the preference
        value - the new current value of the preference
        See Also:
        setValue(IPreferenceStore, String, FontData[])
      • getStoredRepresentation

        public static String getStoredRepresentation​(FontData[] fontData)
        Returns the stored representation of the given array of FontData objects. The stored representation has the form FontData;FontData; Only includes the non-null entries.
        Parameters:
        fontData - the array of FontData objects
        Returns:
        the stored representation of the FontData objects
        Since:
        3.0
      • setValue

        public static void setValue​(IPreferenceStore store,
                                    String name,
                                    Point value)
        Sets the current value of the preference with the given name in the given preference store.
        Parameters:
        store - the preference store
        name - the name of the preference
        value - the new current value of the preference
      • setValue

        public static void setValue​(IPreferenceStore store,
                                    String name,
                                    Rectangle value)
        Sets the current value of the preference with the given name in the given preference store.
        Parameters:
        store - the preference store
        name - the name of the preference
        value - the new current value of the preference
      • setValue

        public static void setValue​(IPreferenceStore store,
                                    String name,
                                    RGB value)
        Sets the current value of the preference with the given name in the given preference store.
        Parameters:
        store - the preference store
        name - the name of the preference
        value - the new current value of the preference