Class ComboBoxSpecifier<V>
java.lang.Object
uk.ac.starlink.ttools.plot2.config.SpecifierPanel<V>
uk.ac.starlink.ttools.plot2.config.ComboBoxSpecifier<V>
- All Implemented Interfaces:
Specifier<V>
Typed specifier for selecting options from a combo box.
- Since:
- 5 Mar 2013
- Author:
- Mark Taylor
-
Constructor Summary
ConstructorsConstructorDescriptionComboBoxSpecifier
(Class<V> clazz, Collection<V> options) Constructs a specifier selecting from a given collection of options.ComboBoxSpecifier
(Class<V> clazz, JComboBox<V> comboBox) Constructs a specifier with a given combo box and default options.ComboBoxSpecifier
(Class<V> clazz, JComboBox<V> comboBox, boolean customStringify, boolean allowAny) Constructs a specifier with a given combo box, and optional custom labelling and setting restrictions.ComboBoxSpecifier
(V[] options) Constructs a specifier selecting from a given array of options. -
Method Summary
Modifier and TypeMethodDescriptionprotected JComponent
Abstract method called lazily duringgetComponent
to obtain the graphical component used by this specifier.Returns this specifier's combo box.Returns the typed value currently specified by the graphical component.void
setSpecifiedValue
(V value) Sets the typed value represented by the graphical component.May be used to turn typed values into text labels for the combo box.void
submitReport
(ReportMap report) Accepts information about a completed plot that was drawn with input from this specifier.Methods inherited from class uk.ac.starlink.ttools.plot2.config.SpecifierPanel
addActionListener, fireAction, getActionForwarder, getChangeForwarder, getComponent, isXFill, removeActionListener
-
Constructor Details
-
ComboBoxSpecifier
public ComboBoxSpecifier(Class<V> clazz, JComboBox<V> comboBox, boolean customStringify, boolean allowAny) Constructs a specifier with a given combo box, and optional custom labelling and setting restrictions.- Parameters:
clazz
- value type for this specifiercomboBox
- combo box instance with appropriate optionscustomStringify
- if true, this object'sstringify
method is used to provide combo box textallowAny
- if true, then thesetSpecifiedValue
method is allowed to set any value; otherwise, it is restricted to the options in the combo box
-
ComboBoxSpecifier
Constructs a specifier with a given combo box and default options.- Parameters:
clazz
- value type for this specifiercomboBox
- combo box instance with appropriate options
-
ComboBoxSpecifier
Constructs a specifier selecting from a given collection of options.- Parameters:
clazz
- value type for this specifieroptions
- options
-
ComboBoxSpecifier
Constructs a specifier selecting from a given array of options.- Parameters:
options
- options
-
-
Method Details
-
stringify
May be used to turn typed values into text labels for the combo box. The default implementation uses toString; subclasses may override it.- Parameters:
value
- typed value- Returns:
- string representation
-
createComponent
Description copied from class:SpecifierPanel
Abstract method called lazily duringgetComponent
to obtain the graphical component used by this specifier. It will be called a maximum of once. It is not necessary that the component actually be created in this method, for instance it may be created at construction time if that's more convenient.- Specified by:
createComponent
in classSpecifierPanel<V>
- Returns:
- graphical component
-
getSpecifiedValue
Description copied from interface:Specifier
Returns the typed value currently specified by the graphical component.- Returns:
- specified value
-
setSpecifiedValue
Description copied from interface:Specifier
Sets the typed value represented by the graphical component. Calling this method ought to make it clear to the user what value it is set at; in any case a subsequent call ofgetSpecifiedValue
should yield the same result.However if a value is set which is of the correct type but cannot be represented by this specifier, results are unpredictable.
- Parameters:
value
- new value
-
submitReport
Description copied from interface:Specifier
Accepts information about a completed plot that was drawn with input from this specifier. In many cases, the implementation of this method will be a no-op, but it gives this object a chance to update its state or its component's appearance based on the way the plot was actually drawn, which may provide information not otherwise available to this object.- Parameters:
report
- report of a plot partially specified by this object
-
getComboBox
Returns this specifier's combo box.- Returns:
- combo box doing the work
-