OpendTect  6.3
i_qslider.h
Go to the documentation of this file.
1 #ifndef i_qslider_h
2 #define i_qslider_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: A.H. Lammertink
9  Date: 01/02/2001
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uislider.h"
15 
16 #include <QObject>
17 #include <QSlider>
18 
20 
24 QT_BEGIN_NAMESPACE
25 
26 class QString;
27 
28 class i_SliderMessenger : public QObject
29 {
30  Q_OBJECT
31  friend class uiSliderBody;
32 
33 protected:
34 
35 i_SliderMessenger( QSlider* sndr, uiSlider* receiver )
36  : sender_(sndr)
37  , receiver_(receiver)
38 {
39  connect( sndr, SIGNAL(sliderMoved(int)), this, SLOT(sliderMoved(int)) );
40  connect( sndr, SIGNAL(sliderPressed()), this, SLOT(sliderPressed()) );
41  connect( sndr, SIGNAL(sliderReleased()), this, SLOT(sliderReleased()) );
42  connect( sndr, SIGNAL(valueChanged(int)), this, SLOT(valueChanged(int)) );
43 }
44 
45 
46 private:
47 
49  QSlider* sender_;
50 
51 #define mTrigger( notifier ) \
52  const int refnr = receiver_->slider()->beginCmdRecEvent( #notifier ); \
53  receiver_->notifier.trigger(*receiver_); \
54  receiver_->slider()->endCmdRecEvent( refnr, #notifier );
55 
56 private slots:
57 
62 
63 #undef mTrigger
64 
65 };
66 
67 QT_END_NAMESPACE
68 
69 #endif
Definition: uislider.h:40
#define mTrigger(notifier)
Definition: i_qslider.h:51
void valueChanged(int)
Definition: i_qslider.h:61
uiSlider * receiver_
Definition: i_qslider.h:48
QSlider * sender_
Definition: i_qslider.h:49
i_SliderMessenger(QSlider *sndr, uiSlider *receiver)
Definition: i_qslider.h:35
friend class uiSliderBody
Definition: i_qslider.h:31
void sliderReleased()
Definition: i_qslider.h:60
void sliderPressed()
Definition: i_qslider.h:59
Definition: i_qslider.h:28
void sliderMoved(int)
Definition: i_qslider.h:58

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017