Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Fl_Valuator.h

00001 /*
00002  * $Id: Fl_Valuator.h,v 1.8 2003/05/29 23:27:28 leka Exp $
00003  *
00004  * Extended Fast Light Toolkit (EFLTK)
00005  * Copyright (C) 2002-2003 by EDE-Team
00006  * WWW: http://www.sourceforge.net/projects/ede
00007  *
00008  * Fast Light Toolkit (FLTK)
00009  * Copyright (C) 1998-2003 by Bill Spitzak and others.
00010  * WWW: http://www.fltk.org
00011  *
00012  * This library is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE
00013  * version 2. See COPYING for details.
00014  *
00015  * Author : Mikko Lahteenmaki
00016  * Email  : mikko@fltk.net
00017  *
00018  * Please report all bugs and problems to "efltk-bugs@fltk.net"
00019  *
00020  */
00021 
00022 #ifndef _FL_VALUATOR_H_
00023 #define _FL_VALUATOR_H_
00024 
00025 #include "Fl_Widget.h"
00026 
00028 class FL_API Fl_Valuator : public Fl_Widget {
00029 public:
00030     double value() const {return value_;}
00031     int value(double);
00032 
00033     float minimum() const {return minimum_;}
00034     void minimum(double a) {minimum_ = float(a);}
00035 
00036     float maximum() const {return maximum_;}
00037     void maximum(double a) {maximum_ = float(a);}
00038 
00039     void range(double a, double b) {minimum_ = float(a); maximum_ = float(b);}
00040 
00041     float step() const {return step_;}
00042     void step(double a) {step_ = float(a);}
00043 
00044     float linesize() const {return linesize_;}
00045     void linesize(double a) {linesize_ = float(a);}
00046 
00047     virtual int format(char*);
00048     virtual void reset() { value(0); }
00049 
00050     int handle(int);
00051 
00052 protected:
00054     Fl_Valuator(int X, int Y, int W, int H, const char* L);
00055 
00057     Fl_Valuator(const char* l = 0,int layout_size=30,Fl_Align layout_al=FL_ALIGN_TOP,int label_w=100);
00058 
00059     void ctor_init();    
00060 
00061     double previous_value() const { return previous_value_; }
00062     void handle_push() { previous_value_ = value_; }
00063     void handle_drag(double newvalue);
00064     void handle_release();
00065 
00066     virtual void value_damage(); // callback whenever value changes
00067     void set_value(double v) {value_ = v;} // change w/o doing value_damage
00068 
00069 private:
00070     double value_;
00071     static double previous_value_;
00072     float minimum_;
00073     float maximum_;
00074     float step_;
00075     float linesize_;
00076 };
00077 
00078 #endif

Generated on Thu Jul 31 15:33:45 2003 for eFLTK by doxygen1.2.15