Class ColorConfigKey


public class ColorConfigKey extends ChoiceConfigKey<Color>
ConfigKey for selecting colours. A null colour is optionally available, controlled by a toggle switch.

Some of the colours come from Paul Tol's colour scheme notes; see Paul Tol's Notes page and SRON/EPS/TN/09-002. The version of the Tech Note used here is dated 29 December 2012.

Since:
9 Sep 2014
Author:
Mark Taylor
  • Field Details

  • Constructor Details

    • ColorConfigKey

      public ColorConfigKey(ConfigMeta meta, String dfltName, boolean allowHide)
      Constructs a config key using the default colour option list.

      The supplied dfltName names one of the colours in the default map. The static final COLORNAME_* members are guaranteed to be represented. If null is supplied, a sensible default (the first in the list) is used.

      Parameters:
      meta - metadata
      dfltName - name of default colour, or null
      allowHide - true if hiding the colour, which results in a null value, is a legal option
    • ColorConfigKey

      public ColorConfigKey(ConfigMeta meta, String dfltName, boolean allowHide, Map<String,Color> colorOpts)
      Constructs a config key using a supplied colour option list.
      Parameters:
      meta - metadata
      dfltName - name of default colour; should be one of the keys in colorOpts or null
      allowHide - true if hiding the colour, which results in a null value, is a legal option
      colorOpts - name-> colour map
  • Method Details

    • decodeString

      public Color decodeString(String sval)
      Description copied from class: ChoiceConfigKey
      Takes a string, and attempts to turn it into an object which may be a value for this key. If the string is not of a recognised form, null is returned.

      This method should be the opposite of ChoiceConfigKey.stringifyValue(T), but does not need to be consistent with stringToValue or valueToString.

      Specified by:
      decodeString in class ChoiceConfigKey<Color>
      Parameters:
      sval - string representation
      Returns:
      typed object represented by sval, or null
    • stringifyValue

      public String stringifyValue(Color color)
      Description copied from class: ChoiceConfigKey
      Takes an object which may be a value of this key, and attempts to turn it into a string for reporting purposes.

      This method should if possible be the opposite of ChoiceConfigKey.decodeString(java.lang.String), but does not need to be consistent with stringToValue or valueToString. If no round-trippable value is available, null should be returned.

      Specified by:
      stringifyValue in class ChoiceConfigKey<Color>
      Parameters:
      color - typed object
      Returns:
      string representing object, or null
    • createSpecifier

      public Specifier<Color> createSpecifier()
      Description copied from class: ConfigKey
      Constructs a graphical control with which the user can specify a suitable value for association with this key.
      Specified by:
      createSpecifier in class ConfigKey<Color>
      Returns:
      new specifier
    • createColorMeta

      public static ConfigMeta createColorMeta(String shortName, String longName, String theItem)
      Returns a metadata object suitable for use with a ColorConfigKey. The standard colour set is used.
      Parameters:
      shortName - key name for use in command-line interface
      longName - key name for use in GUI
      theItem - description of the item to use in free-form text, for instance "the plot grid"
      Returns:
      colour config metadata
    • decodeColorName

      public static Color decodeColorName(String sval)
      Turns a string into a colour by looking at known colour names or using RRGGBB syntax.
      Parameters:
      sval - string colour identifier
      Returns:
      colour named by sval, or null if none is identified
    • getPlottingColors

      public static Color[] getPlottingColors()
      Returns an array of the colour options suitable for plotting normal markers.
      Returns:
      colour option array
    • createClassicColors

      public static Map<String,Color> createClassicColors()
      Returns the default plotting colours used by TOPCAT, at least in early versions.
      Returns:
      name->colour map
    • createSron5Colors

      public static Map<String,Color> createSron5Colors()
      Returns a group of colours using the second (5-colour) row of figure 13 in SRON/EPS/TN/09-002.
      Returns:
      name->colour map
    • createSron7Colors

      public static Map<String,Color> createSron7Colors()
      Returns a group of colours using the fourth (7-colour) row of figure 13 in SRON/EPS/TN/09-002.
      Returns:
      name->colour map
    • createSronBrightColors

      public static Map<String,Color> createSronBrightColors()
      Returns a group of colours based on the "Alternative Colour Scheme" on Paul Tol's page, but not in the TechNode. Bright yellow is omitted on the grounds that it's too light.
      Returns:
      name->colour map