OpendTect  6.6
i_qtextedit.h
Go to the documentation of this file.
1 #ifndef i_qtextedit_h
2 #define i_qtextedit_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Nanne Hemstra
9  Date: September 2007
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "uitextedit.h"
16 
17 #include <QAbstractSlider>
18 #include <QTextEdit>
19 #include <QTextBrowser>
20 
21 
23 
27 QT_BEGIN_NAMESPACE
28 
29 class i_TextEditMessenger : public QObject
30 {
31  Q_OBJECT
32  friend class uiTextEditBody;
33 
34 protected:
35 
36 i_TextEditMessenger( QTextEdit* sndr, uiTextEditBase* receiver )
37  : sender_(sndr)
38  , receiver_(receiver)
39 {
40  connect( sndr, SIGNAL(textChanged()), this, SLOT(textChanged()) );
41  connect( sndr, SIGNAL(copyAvailable(bool)),this,SLOT(copyAvailable(bool)));
42 }
43 
44 private:
45 
47  QTextEdit* sender_;
48 
49 private slots:
50 
53 
54 void copyAvailable( bool yn )
56 
57 };
58 
59 class i_ScrollBarMessenger : public QObject
60 {
61  Q_OBJECT;
62 public:
63 
64  i_ScrollBarMessenger( QAbstractSlider* sndr, uiTextEditBase* receiver )
65  : sender_(sndr)
66  , receiver_(receiver)
67  {
68  connect( sndr, SIGNAL(sliderPressed()), this, SLOT(sliderPressed()) );
69  connect( sndr, SIGNAL(sliderReleased()), this, SLOT(sliderReleased()) );
70  }
71 
72 private:
73 
75  QAbstractSlider* sender_;
76 
77 private slots:
78 
80  {
82  }
83 
85  {
87  }
88 
89 };
90 
91 
93 
98 {
99  Q_OBJECT
100  friend class uiTextBrowserBody;
101 
102 protected:
103  i_BrowserMessenger( QTextBrowser* sndr,
104  uiTextBrowser* receiver )
105  : i_TextEditMessenger(sndr,receiver)
106  , bsender_( sndr )
107  , breceiver_( receiver )
108  {
109  connect( sndr, SIGNAL(backwardAvailable(bool)),
110  this, SLOT(backwardAvailable(bool)) );
111  connect(sndr,SIGNAL(forwardAvailable(bool)),
112  this, SLOT(forwardAvailable(bool)));
113  connect(sndr,SIGNAL(highlighted(const QString&)),
114  this, SLOT(highlighted(const QString&)));
115  connect(sndr,SIGNAL(anchorClicked(const QUrl&)),
116  this,SLOT(anchorClicked(const QUrl&)));
117  }
118 
119  virtual ~i_BrowserMessenger() {}
120 
121 private:
122 
124  QTextBrowser* bsender_;
125 
126 private slots:
127 
128  void backwardAvailable( bool yn )
129  {
130  breceiver_->cangobackw_ = yn;
132  }
133 
134  void forwardAvailable( bool yn )
135  {
136  breceiver_->cangoforw_ = yn;
138  }
139 
140  void highlighted( const QString& lnk )
141  {
142  breceiver_->lastlink_ = lnk.toLatin1().data();
144  }
145 
146  void anchorClicked( const QUrl& lnk )
147  {
148  breceiver_->lastlink_ = lnk.toString().toLatin1().data();
150  }
151 };
152 
153 QT_END_NAMESPACE
154 
155 #endif
i_BrowserMessenger::bsender_
QTextBrowser * bsender_
Definition: i_qtextedit.h:124
Notifier::trigger
void trigger()
Definition: notify.h:132
i_BrowserMessenger::i_BrowserMessenger
i_BrowserMessenger(QTextBrowser *sndr, uiTextBrowser *receiver)
Definition: i_qtextedit.h:103
i_TextEditMessenger::textChanged
void textChanged()
Definition: i_qtextedit.h:51
i_BrowserMessenger::anchorClicked
void anchorClicked(const QUrl &lnk)
Definition: i_qtextedit.h:146
uiTextEditBase::textChanged
Notifier< uiTextEditBase > textChanged
Definition: uitextedit.h:49
i_ScrollBarMessenger
Definition: i_qtextedit.h:60
i_ScrollBarMessenger::receiver_
uiTextEditBase * receiver_
Definition: i_qtextedit.h:74
uiTextEditBase::sliderPressed
Notifier< uiTextEditBase > sliderPressed
Definition: uitextedit.h:50
i_BrowserMessenger::forwardAvailable
void forwardAvailable(bool yn)
Definition: i_qtextedit.h:134
i_TextEditMessenger::receiver_
uiTextEditBase * receiver_
Definition: i_qtextedit.h:46
uiTextBrowser::cangoforw_
bool cangoforw_
Definition: uitextedit.h:144
i_TextEditMessenger::copyAvailable
void copyAvailable(bool yn)
Definition: i_qtextedit.h:54
i_TextEditMessenger::uiTextEditBody
friend class uiTextEditBody
Definition: i_qtextedit.h:32
uitextedit.h
i_ScrollBarMessenger::sliderPressed
void sliderPressed()
Definition: i_qtextedit.h:79
uiTextEditBase::copyAvailable
CNotifier< uiTextEditBase, bool > copyAvailable
Definition: uitextedit.h:52
uiTextBrowser::lastlink_
BufferString lastlink_
Definition: uitextedit.h:143
i_BrowserMessenger::highlighted
void highlighted(const QString &lnk)
Definition: i_qtextedit.h:140
i_ScrollBarMessenger::sliderReleased
void sliderReleased()
Definition: i_qtextedit.h:84
i_TextEditMessenger::sender_
QTextEdit * sender_
Definition: i_qtextedit.h:47
uiTextEditBase::sliderReleased
Notifier< uiTextEditBase > sliderReleased
Definition: uitextedit.h:51
i_ScrollBarMessenger::sender_
QAbstractSlider * sender_
Definition: i_qtextedit.h:75
i_BrowserMessenger::breceiver_
uiTextBrowser * breceiver_
Definition: i_qtextedit.h:123
uiTextBrowser::linkClicked
Notifier< uiTextBrowser > linkClicked
Definition: uitextedit.h:137
uiTextBrowser::linkHighlighted
Notifier< uiTextBrowser > linkHighlighted
Definition: uitextedit.h:136
CNotifier::trigger
void trigger(PayLoad pl)
Definition: notify.h:175
uiTextBrowser
Definition: uitextedit.h:103
i_TextEditMessenger
Helper class for uiTextEdit to relay Qt's messages.
Definition: i_qtextedit.h:30
uiTextBrowser::goneForwardOrBack
Notifier< uiTextBrowser > goneForwardOrBack
Definition: uitextedit.h:135
i_ScrollBarMessenger::i_ScrollBarMessenger
i_ScrollBarMessenger(QAbstractSlider *sndr, uiTextEditBase *receiver)
Definition: i_qtextedit.h:64
i_BrowserMessenger::backwardAvailable
void backwardAvailable(bool yn)
Definition: i_qtextedit.h:128
i_BrowserMessenger
Helper class for uiTextBrowser to relay Qt's messages.
Definition: i_qtextedit.h:98
uiTextBrowser::cangobackw_
bool cangobackw_
Definition: uitextedit.h:145
i_TextEditMessenger::i_TextEditMessenger
i_TextEditMessenger(QTextEdit *sndr, uiTextEditBase *receiver)
Definition: i_qtextedit.h:36
i_BrowserMessenger::uiTextBrowserBody
friend class uiTextBrowserBody
Definition: i_qtextedit.h:100
i_BrowserMessenger::~i_BrowserMessenger
virtual ~i_BrowserMessenger()
Definition: i_qtextedit.h:119
uiTextEditBase
Definition: uitextedit.h:25

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