FLTK 1.3.0
Fl_Counter.H
00001 //
00002 // "$Id: Fl_Counter.H 7981 2010-12-08 23:53:04Z greg.ercolano $"
00003 //
00004 // Counter header file for the Fast Light Tool Kit (FLTK).
00005 //
00006 // Copyright 1998-2010 by Bill Spitzak and others.
00007 //
00008 // This library is free software; you can redistribute it and/or
00009 // modify it under the terms of the GNU Library General Public
00010 // License as published by the Free Software Foundation; either
00011 // version 2 of the License, or (at your option) any later version.
00012 //
00013 // This library is distributed in the hope that it will be useful,
00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016 // Library General Public License for more details.
00017 //
00018 // You should have received a copy of the GNU Library General Public
00019 // License along with this library; if not, write to the Free Software
00020 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
00021 // USA.
00022 //
00023 // Please report all bugs and problems on the following page:
00024 //
00025 //     http://www.fltk.org/str.php
00026 //
00027 
00028 /* \file
00029    Fl_Counter widget . */
00030 
00031 // A numerical value with up/down step buttons.  From Forms.
00032 
00033 #ifndef Fl_Counter_H
00034 #define Fl_Counter_H
00035 
00036 #ifndef Fl_Valuator_H
00037 #include "Fl_Valuator.H"
00038 #endif
00039 
00040 // values for type():
00041 #define FL_NORMAL_COUNTER       0       
00042 #define FL_SIMPLE_COUNTER       1       
00057 class FL_EXPORT Fl_Counter : public Fl_Valuator {
00058 
00059   Fl_Font textfont_;
00060   Fl_Fontsize textsize_;
00061   Fl_Color textcolor_;
00062   double lstep_;
00063   uchar mouseobj;
00064   static void repeat_callback(void *);
00065   int calc_mouseobj();
00066   void increment_cb();
00067 
00068 protected:
00069 
00070   void draw();
00071 
00072 public:
00073 
00074   int handle(int);
00075 
00076   Fl_Counter(int X, int Y, int W, int H, const char* L = 0);
00077   ~Fl_Counter();
00078 
00084   void lstep(double a) {lstep_ = a;}
00085 
00090   void step(double a,double b) {Fl_Valuator::step(a); lstep_ = b;}
00091 
00096   void step(double a) {Fl_Valuator::step(a);}
00097 
00101   double step() const {return Fl_Valuator::step();}
00102 
00104   Fl_Font textfont() const {return textfont_;}
00106   void textfont(Fl_Font s) {textfont_ = s;}
00107 
00109   Fl_Fontsize textsize() const {return textsize_;}
00111   void textsize(Fl_Fontsize s) {textsize_ = s;}
00112 
00114   Fl_Color textcolor() const {return textcolor_;}
00116   void textcolor(Fl_Color s) {textcolor_ = s;}
00117 
00118 };
00119 
00120 #endif
00121 
00122 //
00123 // End of "$Id: Fl_Counter.H 7981 2010-12-08 23:53:04Z greg.ercolano $".
00124 //