OpendTect  6.6
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  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "uilineedit.h"
16 
17 #include <QLineEdit>
18 
19 QT_BEGIN_NAMESPACE
20 
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 
73 #undef mTrigger
74 };
75 
76 QT_END_NAMESPACE
77 
78 #endif
uiLineEdit
Definition: uilineedit.h:100
Notifier::trigger
void trigger()
Definition: notify.h:132
i_lineEditMessenger
Helper class for uilineedit to relay Qt's messages.
Definition: i_qlineedit.h:27
uiLineEdit::selectionChanged
Notifier< uiLineEdit > selectionChanged
Definition: uilineedit.h:149
i_lineEditMessenger::selectionChanged
void selectionChanged()
Definition: i_qlineedit.h:71
i_lineEditMessenger::receiver_
uiLineEdit * receiver_
Definition: i_qlineedit.h:48
i_lineEditMessenger::uiLineEditBody
friend class uiLineEditBody
Definition: i_qlineedit.h:29
uilineedit.h
i_lineEditMessenger::editingFinished
void editingFinished()
Definition: i_qlineedit.h:58
i_lineEditMessenger::i_lineEditMessenger
i_lineEditMessenger(QLineEdit *sndr, uiLineEdit *receiver)
Definition: i_qlineedit.h:32
i_lineEditMessenger::sender_
QLineEdit * sender_
Definition: i_qlineedit.h:49
mTrigger
#define mTrigger(notifier)
Definition: i_qlineedit.h:53
i_lineEditMessenger::textChanged
void textChanged(const QString &)
Definition: i_qlineedit.h:68
i_lineEditMessenger::returnPressed
void returnPressed()
Definition: i_qlineedit.h:66

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