uk.ac.starlink.ttools.plot2.config
Interface Specifier<V>

All Known Implementing Classes:
BinSizer.BinSizerSpecifier, ChooserColorSpecifier, ComboBoxSpecifier, ConversionSpecifier, MultiSpecifierPanel, SliderSpecifier, SpecifierPanel, TextFieldSpecifier, ToggleSpecifier, UnitRangeSpecifier

public interface Specifier<V>

Can acquire a typed value from the GUI.

Since:
5 Mar 2013
Author:
Mark Taylor

Method Summary
 void addActionListener(ActionListener listener)
          Adds a listener which will be informed when the user interacts with the graphical component to cause a (potential) change in the value.
 JComponent getComponent()
          Returns the graphical component that the user can interact with to supply a value.
 V getSpecifiedValue()
          Returns the typed value currently specified by the graphical component.
 boolean isXFill()
          Whether the GUI component should fill the available width of a panel.
 void removeActionListener(ActionListener listener)
          Removes a listener previously added by addActionListener.
 void setSpecifiedValue(V value)
          Sets the typed value represented by the graphical component.
 void submitReport(ReportMap report)
          Accepts information about a completed plot that was drawn with input from this specifier.
 

Method Detail

getComponent

JComponent getComponent()
Returns the graphical component that the user can interact with to supply a value. It should be line-like (not tall).

The returned component should preferably honour the JComponent setEnabled/isEnabled methods.

Returns:
specifier component

getSpecifiedValue

V getSpecifiedValue()
Returns the typed value currently specified by the graphical component.

Returns:
specified value

setSpecifiedValue

void setSpecifiedValue(V value)
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 of getSpecifiedValue 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

void submitReport(ReportMap report)
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

addActionListener

void addActionListener(ActionListener listener)
Adds a listener which will be informed when the user interacts with the graphical component to cause a (potential) change in the value.

Parameters:
listener - listener to add

removeActionListener

void removeActionListener(ActionListener listener)
Removes a listener previously added by addActionListener.

Parameters:
listener - listener to remove

isXFill

boolean isXFill()
Whether the GUI component should fill the available width of a panel. This rendering hint should on the whole this should be true for expandable components, and false for fixed size components. Components should have a fixed vertical size in any case.

Returns:
true for horizontally expandable components


Copyright © 2018 Central Laboratory of the Research Councils. All Rights Reserved.