Image Component Library (ICL)
SliderHandle.h
Go to the documentation of this file.
1 /********************************************************************
2 ** Image Component Library (ICL) **
3 ** **
4 ** Copyright (C) 2006-2013 CITEC, University of Bielefeld **
5 ** Neuroinformatics Group **
6 ** Website: www.iclcv.org and **
7 ** http://opensource.cit-ec.de/projects/icl **
8 ** **
9 ** File : ICLQt/src/ICLQt/SliderHandle.h **
10 ** Module : ICLQt **
11 ** Authors: Christof Elbrechter **
12 ** **
13 ** **
14 ** GNU LESSER GENERAL PUBLIC LICENSE **
15 ** This file may be used under the terms of the GNU Lesser General **
16 ** Public License version 3.0 as published by the **
17 ** **
18 ** Free Software Foundation and appearing in the file LICENSE.LGPL **
19 ** included in the packaging of this file. Please review the **
20 ** following information to ensure the license requirements will **
21 ** be met: http://www.gnu.org/licenses/lgpl-3.0.txt **
22 ** **
23 ** The development of this software was supported by the **
24 ** Excellence Cluster EXC 277 Cognitive Interaction Technology. **
25 ** The Excellence Cluster EXC 277 is a grant of the Deutsche **
26 ** Forschungsgemeinschaft (DFG) in the context of the German **
27 ** Excellence Initiative. **
28 ** **
29 ********************************************************************/
30 
31 #pragma once
32 
33 #include <ICLUtils/CompatMacros.h>
34 #include <ICLQt/GUIHandle.h>
36 
37 
39 class QLCDNumber;
42 namespace icl{
43  namespace qt{
44 
46  class ThreadedUpdatableSlider;
49  class ICLQt_API SliderHandle : public GUIHandle<ThreadedUpdatableSlider>{
51 
53  QLCDNumber *lcd;
54 
55  public:
57  SliderHandle():lcd(0){}
58 
60  SliderHandle(ThreadedUpdatableSlider *sl, GUIWidget *w, QLCDNumber *lcd=0):GUIHandle<ThreadedUpdatableSlider>(sl,w),lcd(lcd){}
61 
63 
64  inline QLCDNumber *getDisplay() { return lcd; }
65 
67  void setMin(int min);
68 
70  void setMax(int max);
71 
73  void setRange(int min, int max);
74 
76  void setValue(int val);
77 
79  void setAll(int min ,int max, int val){ setRange(min,max); setValue(val); }
80 
82  int getMin() const;
83 
85  int getMax() const;
86 
88  int getValue() const;
89 
91  void operator=(int val) { setValue(val); }
92 
94 
106  virtual void registerCallback(const GUI::Callback &cb, const std::string &events="value"){
107  (***this).registerCallback(cb,events);
108  }
109 
112 
114  virtual void removeCallbacks(){
116  (***this).removeCallbacks();
117  }
118 
119  };
120 
121  } // namespace qt
122 }
123 
virtual void registerCallback(const GUI::Callback &cb, const std::string &events="value")
overloaded method for registering callbacks to specific slider events
Definition: SliderHandle.h:106
void setAll(int min, int max, int val)
sets all parameters of a slider
Definition: SliderHandle.h:79
undocument this line if you encounter any issues!
Definition: Any.h:37
SliderHandle(ThreadedUpdatableSlider *sl, GUIWidget *w, QLCDNumber *lcd=0)
create a slider handle
Definition: SliderHandle.h:60
void operator=(int val)
assigns a new value to the slider (equal to setValue)
Definition: SliderHandle.h:91
virtual void removeCallbacks()
empties both callback locations (GUIHandleBase and ThreadedUpdatableSlider)
Definition: SliderHandle.h:114
SliderHandle()
Creates and empty slider handle.
Definition: SliderHandle.h:57
Abstract base class for Handle classes.
Definition: GUIHandle.h:40
virtual void removeCallbacks()
removes all callbacks from parent GUIWidget component
Definition: GUIHandleBase.h:93
virtual void registerCallback(const GUI::Callback &cb, const std::string &events="all")
registers a callback on this gui widget
Definition: GUIHandleBase.h:73
Abstract class for GUI components.
Definition: GUIWidget.h:52
#define ICLQt_API
Definition: CompatMacros.h:178
QLCDNumber * getDisplay()
retuns the QLCDNumber that is used as display
Definition: SliderHandle.h:64
QLCDNumber * lcd
associated display
Definition: SliderHandle.h:53
Compability class.
Definition: ThreadedUpdatableSlider.h:52