OpendTect  6.3
i_qaction.h
Go to the documentation of this file.
1 #ifndef i_qaction_h
2 #define i_qaction_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Nanne Hemstra
9  Date: May 2007
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uiaction.h"
15 
16 #include <QObject>
17 #include <QAction>
18 #include <iostream>
19 
21 
22 QT_BEGIN_NAMESPACE
23 
24 class i_ActionMessenger : public QObject
25 {
26  Q_OBJECT
27  friend class uiAction;
28 
29 protected:
30 i_ActionMessenger( QAction* sndr, uiAction* receiver )
31  : sender_( sndr )
32  , receiver_( receiver )
33 {
34  connect( sender_, SIGNAL(toggled(bool)),this, SLOT(toggled(bool)) );
35  connect( sender_, SIGNAL(triggered(bool)), this, SLOT(triggered(bool)));
36  connect( sender_, SIGNAL(hovered()), this, SLOT(hovered()) );
37 }
38 
39 virtual ~i_ActionMessenger() {}
40 
41 private:
42 
44  QAction* sender_;
45 
46 private slots:
47 
48 void toggled( bool checked )
49 {
50  receiver_->checked_ = checked;
51  receiver_->toggled.trigger( *receiver_ );
52 }
53 
54 void triggered( bool checked )
55 {
56  const int refnr = receiver_->beginCmdRecEvent();
57  receiver_->trigger( checked );
58  receiver_->endCmdRecEvent( refnr );
59 }
60 
61 
62 void hovered()
63 {
64 }
65 
66 };
67 
68 QT_END_NAMESPACE
69 
70 #endif
uiAction * receiver_
Definition: i_qaction.h:43
void hovered()
Definition: i_qaction.h:62
void toggled(bool checked)
Definition: i_qaction.h:48
i_ActionMessenger(QAction *sndr, uiAction *receiver)
Definition: i_qaction.h:30
void triggered(bool checked)
Definition: i_qaction.h:54
QAction * sender_
Definition: i_qaction.h:44
Helper class for uiAction to relay Qt&#39;s messages.
Definition: i_qaction.h:24
virtual ~i_ActionMessenger()
Definition: i_qaction.h:39
friend class uiAction
Definition: i_qaction.h:27

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