Laxkit  0.0.7.1
numslider.h
1 //
2 //
3 // The Laxkit, a windowing toolkit
4 // Please consult http://laxkit.sourceforge.net about where to send any
5 // correspondence about this software.
6 //
7 // This library is free software; you can redistribute it and/or
8 // modify it under the terms of the GNU Library General Public
9 // License as published by the Free Software Foundation; either
10 // version 2 of the License, or (at your option) any later version.
11 //
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 // Library General Public License for more details.
16 //
17 // You should have received a copy of the GNU Library General Public
18 // License along with this library; if not, write to the Free Software
19 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 //
21 // Copyright (C) 2004-2010 by Tom Lechner
22 //
23 #ifndef _LAX_NUMSLIDER_H
24 #define _LAX_NUMSLIDER_H
25 
26 #include <lax/itemslider.h>
27 
28 namespace Laxkit {
29 
30 #define NUMSLIDER_WRAP (1<<20)
31 
32 class NumSlider : public ItemSlider
33 {
34  protected:
35  int lastitem;
36  char *label;
37  virtual void wraptoextent();
38  virtual int getid(int i) { return curitem; }
39  virtual int numitems() { return max-min+1; }
40  public:
41  int min,max;
42  NumSlider(anXWindow *parnt,const char *nname,const char *ntitle,unsigned long nstyle,
43  int xx,int yy,int ww,int hh,int brder,
44  anXWindow *prev,unsigned long nowner,const char *nsendthis,const char *nlabel,int nmin,int nmax,int cur=-10000);
45  virtual int MouseMove(int x,int y,unsigned int state,const LaxMouse *d);
46  virtual int SelectPrevious();
47  virtual int SelectNext();
48  virtual int Select(int n);
49  virtual void Refresh();
50  virtual const char *Label(const char *nlabel);
51  virtual int NewMin(int nmin) { return min=nmin; }
52  virtual int NewMax(int nmax) { return max=nmax; } //*** doesn't do max>min checking
53  virtual int NewMinMax(int nmin,int nmax) { max=nmax; return min=nmin; }
54  virtual int Value() { return curitem; }
55 };
56 
57 } // namespace Laxkit
58 
59 #endif

Mon Feb 17 2014 11:52:57, Laxkit