OpendTect  6.3
i_qlineedit.h
Go to the documentation of this file.
1 #ifndef i_qlineedit_h
2 #define i_qlineedit_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: 25/05/2000
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uilineedit.h"
15 
16 #include <QLineEdit>
17 
18 QT_BEGIN_NAMESPACE
19 
20 class QString;
21 
23 
26 class i_lineEditMessenger : public QObject
27 {
28  Q_OBJECT
29  friend class uiLineEditBody;
30 
31 protected:
32 i_lineEditMessenger( QLineEdit* sndr, uiLineEdit* receiver )
33  : sender_( sndr )
34  , receiver_( receiver )
35 {
36  connect( sndr, SIGNAL(returnPressed()),
37  this, SLOT(returnPressed()) );
38  connect( sndr, SIGNAL(editingFinished()),
39  this, SLOT(editingFinished()) );
40  connect( sndr, SIGNAL(textChanged(const QString&)),
41  this, SLOT(textChanged(const QString&)) );
42  connect( sndr, SIGNAL(selectionChanged()),
43  this, SLOT(selectionChanged()) );
44 }
45 
46 private:
47 
49  QLineEdit* sender_;
50 
51 private slots:
52 
53 #define mTrigger( notifier ) \
54  const int refnr = receiver_->beginCmdRecEvent( #notifier ); \
55  receiver_->notifier.trigger(*receiver_); \
56  receiver_->endCmdRecEvent( refnr, #notifier );
57 
59  {
60  if ( !sender_->isModified() )
61  return;
62 
64  }
65 
67  { mTrigger( returnPressed ); }
68  void textChanged(const QString&)
69  { mTrigger( textChanged ); }
70 
72  { receiver_->selectionChanged.trigger(*receiver_); }
73 #undef mTrigger
74 };
75 
76 QT_END_NAMESPACE
77 
78 #endif
#define mTrigger(notifier)
Definition: i_qlineedit.h:53
void selectionChanged()
Definition: i_qlineedit.h:71
friend class uiLineEditBody
Definition: i_qlineedit.h:29
void editingFinished()
Definition: i_qlineedit.h:58
void trigger()
Definition: notify.h:128
uiLineEdit * receiver_
Definition: i_qlineedit.h:48
Helper class for uilineedit to relay Qt&#39;s messages.
Definition: i_qlineedit.h:26
QLineEdit * sender_
Definition: i_qlineedit.h:49
void textChanged(const QString &)
Definition: i_qlineedit.h:68
i_lineEditMessenger(QLineEdit *sndr, uiLineEdit *receiver)
Definition: i_qlineedit.h:32
Notifier< uiLineEdit > selectionChanged
Definition: uilineedit.h:99
void returnPressed()
Definition: i_qlineedit.h:66
Definition: uilineedit.h:49

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