Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

esve::ui::extra::Valuator Class Reference

A user-interface widget representing a floating point value. More...

#include <esve/ui/extra/Valuator.hxx>

List of all members.

Public Member Functions

virtual double value () const =0
 Query the current value.

virtual Valuatorvalue (double)=0
 Assign a new value.

virtual Valuatorstep (double)=0
 Set the increment in which the value changes.

virtual Valuatorrange (double min, double max)=0
 Set the allowable range of values.


Detailed Description

A user-interface widget representing a floating point value.

Keep in mind that modifying the value in code (even implicitly with step() or range()) has a side-effect: it will send a handle_*() message as if the user changed it.

Setting the value within handle() itself is OK; the recursion is detected and consequently ignored.

This side-effect of emitting handle() in response to changing the value may seem surprising at first, but in the end it is the right thing. One should not depend upon the kindness of programmers to manually call update() every time they change something in code.

The facilities of Caching_Server and Caching_Emitter solve the issue of handle() being emitted before an object is fully constructed. As of this writing, all front-ends use Simple_Kernel which caches handle() messages during startup/construction phase.


Member Function Documentation

virtual Valuator& esve::ui::extra::Valuator::value double   )  [pure virtual]
 

Assign a new value.

Returns:
*this

virtual Valuator& esve::ui::extra::Valuator::step double   )  [pure virtual]
 

Set the increment in which the value changes.

Returns:
*this

virtual Valuator& esve::ui::extra::Valuator::range double  min,
double  max
[pure virtual]
 

Set the allowable range of values.

Returns:
*this


Generated on Tue May 30 11:40:58 2006 for esve by doxygen 1.3.4