SpectMorph
smzoomcontroller.hh
1 // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html
2 
3 #ifndef SPECTMORPH_ZOOMCONTROLLER_HH
4 #define SPECTMORPH_ZOOMCONTROLLER_HH
5 
6 #include <QWidget>
7 #include <QSlider>
8 #include <QScrollBar>
9 #include <QLabel>
10 
11 namespace SpectMorph {
12 
13 class ZoomController : public QObject
14 {
15  Q_OBJECT
16 
17  double old_hzoom;
18  double old_vzoom;
19 
20  QLabel *hzoom_text;
21  QLabel *vzoom_text;
22 
23  QSlider *hzoom_slider;
24  QLabel *hzoom_label;
25  QSlider *vzoom_slider;
26  QLabel *vzoom_label;
27 
28  QScrollBar *vscrollbar;
29  QScrollBar *hscrollbar;
30 
31  void init();
32 public:
33  ZoomController (QObject *parent, double hzoom_max = 1000.0, double vzoom_max = 1000.0);
34  ZoomController (QObject *parent, double hzoom_min, double hzoom_max, double vzoom_min, double vzoom_max);
35 
36  QWidget *hwidget (int i);
37  QWidget *vwidget (int i);
38 
39  double get_hzoom();
40  double get_vzoom();
41 
42  void set_vscrollbar (QScrollBar *scrollbar);
43  void set_hscrollbar (QScrollBar *scrollbar);
44 
45 public slots:
46  void on_hzoom_changed();
47  void on_vzoom_changed();
48 
49 signals:
50  void zoom_changed();
51 
52 };
53 
54 }
55 
56 #endif
Definition: smaudio.hh:15
Definition: smzoomcontroller.hh:13