OpendTect  6.6
uitextedit.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: A.H. Lammertink
8  Date: 09/02/2001
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uibasemod.h"
15 #include "uiobj.h"
16 #include "undefval.h"
17 
18 class uiTextEditBody;
19 class uiTextBrowserBody;
20 mFDQtclass(QTextEdit)
21 class Timer;
23 
25 {
26 public:
27  void setEmpty();
28  void readFromFile(const char*,int linecutlen=0);
29  bool saveToFile(const char*,int linelen=0,bool newlns=true);
30 
31  const char* text() const;
32  int nrLines() const;
33  bool verticalSliderIsDown() const;
35 
36  int defaultWidth() { return defaultwidth_; }
37  void setDefaultWidth( int w ) { defaultwidth_ = w; }
38 
39  int defaultHeight() { return defaultheight_; }
40  void setDefaultHeight( int h ) { defaultheight_ = h; }
41 
42  bool isModified() const;
43  void allowTextSelection(bool);
44 
45  void hideFrame();
46  void hideScrollBar(bool vertical);
48 
53 
54 protected:
55  uiTextEditBase(uiParent*,const char*,uiObjectBody&);
56 
57  virtual mQtclass(QTextEdit&) qte() = 0;
58  const mQtclass(QTextEdit&) qte() const
59  { return const_cast<uiTextEditBase*>(this)->qte(); }
60 
63  virtual int maxLines() const { return -1; }
64 
66 
67 private:
68 
69  friend class ScrollBarMessenger;
70 };
71 
72 
73 
75 {
76 public:
77  uiTextEdit(uiParent* parnt,const char* nm="Text editor",
78  bool readonly=false);
79 
80  void setText(const char* txt) { setText( txt, false ); }
82  void setText(const OD::String& txt);
84  void setText(const uiString&);
87  void setText(const char*,bool trigger_notif);
88  void append(const char*);
89 
90 protected:
91 
92  virtual mQtclass(QTextEdit&) qte();
93 
94 private:
95 
96  uiTextEditBody* body_;
97  uiTextEditBody& mkbody(uiParent*,const char*,bool);
98 };
99 
100 
101 
104 friend class i_BrowserMessenger;
105 public:
106 
107  uiTextBrowser(uiParent*,const char* nm="File browser",
108  int maxlns=mUdf(int),
109  bool forceplaintext=true,
110  bool logmode=false);
112 
113  void setText(const char*);
114  void setHtmlText(const char*);
115  void getHtmlText(BufferString&) const;
116  const char* source() const;
117  void setSource(const char*);
118  void setMaxLines(int);
119 
120  enum LinkBehavior { None, FollowLocal, FollowAll };
122 
123  void backward();
124  void forward();
125  void home();
126  void reload();
127  void showToolTip(const char*);
130 
131  bool canGoForward() { return cangoforw_; }
132  bool canGoBackward() { return cangobackw_; }
133  const char* lastLink() { return lastlink_; }
134 
139 
140 protected:
141 
148 
149  virtual int maxLines() const { return maxlines_; }
150 
151  virtual mQtclass(QTextEdit&) qte();
152 
157  void enableTailRead(bool yn);
158 
163 
164 private:
165 
167  uiTextBrowserBody& mkbody(uiParent*,const char*,bool);
168 };
169 
uiTextBrowser::mkbody
uiTextBrowserBody & mkbody(uiParent *, const char *, bool)
uiTextEditBase::nrLines
int nrLines() const
uiTextBrowser::canGoForward
bool canGoForward()
Definition: uitextedit.h:131
uiTextEditBase::defaultHeight
int defaultHeight()
Definition: uitextedit.h:39
uiTextBrowser::setSource
void setSource(const char *)
uiTextBrowser::forceplaintxt_
bool forceplaintxt_
Definition: uitextedit.h:146
uiTextBrowser::maxLines
virtual int maxLines() const
Definition: uitextedit.h:149
uiTextEditBase::hideScrollBar
void hideScrollBar(bool vertical)
uiTextEditBase::setDefaultWidth
void setDefaultWidth(int w)
Definition: uitextedit.h:37
uiTextBrowser::logviewmode_
bool logviewmode_
Definition: uitextedit.h:160
uiTextEditBase::defaultwidth_
int defaultwidth_
Definition: uitextedit.h:61
uiTextBrowser::lastline_
BufferString lastline_
Definition: uitextedit.h:162
uiTextBrowser::source
const char * source() const
uiTextEditBase::textChanged
Notifier< uiTextEditBase > textChanged
Definition: uitextedit.h:49
uiTextBrowser::setMaxLines
void setMaxLines(int)
i_ScrollBarMessenger
Definition: i_qtextedit.h:60
uiTextBrowser::maxlines_
int maxlines_
Definition: uitextedit.h:147
uiTextBrowser::None
@ None
Definition: uitextedit.h:120
od_int64
#define od_int64
Definition: plftypes.h:35
uiTextEditBase::sliderPressed
Notifier< uiTextEditBase > sliderPressed
Definition: uitextedit.h:50
uiTextEditBase::isModified
bool isModified() const
uiTextBrowser::recordScrollPos
void recordScrollPos()
uiTextBrowser::lastlinestartpos_
od_int64 lastlinestartpos_
Definition: uitextedit.h:161
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiTextEdit::uiTextEdit
uiTextEdit(uiParent *parnt, const char *nm="Text editor", bool readonly=false)
uiTextEdit::body_
uiTextEditBody * body_
Definition: uitextedit.h:96
uiTextEditBase::allowTextSelection
void allowTextSelection(bool)
uiTextEdit
Definition: uitextedit.h:75
uiTextEditBase::scrollToBottom
void scrollToBottom()
uiTextEditBase::setEmpty
void setEmpty()
uiTextEdit::setText
void setText(const uiString &)
uiTextBrowser::reload
void reload()
uiTextBrowser::cangoforw_
bool cangoforw_
Definition: uitextedit.h:144
uiTextBrowser::backward
void backward()
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiTextEditBase::copyAvailable
CNotifier< uiTextEditBase, bool > copyAvailable
Definition: uitextedit.h:52
uiTextBrowser::lastlink_
BufferString lastlink_
Definition: uitextedit.h:143
uiTextEdit::setText
void setText(const char *, bool trigger_notif)
uiTextEditBase::maxLines
virtual int maxLines() const
Definition: uitextedit.h:63
undefval.h
uiTextBrowser::enableTailRead
void enableTailRead(bool yn)
Timer
Timer class.
Definition: timer.h:25
uiTextBrowser::LinkBehavior
LinkBehavior
Definition: uitextedit.h:120
uiTextBrowser::sliderPressedCB
void sliderPressedCB(CallBacker *)
uiTextBrowser::setText
void setText(const char *)
uiTextEditBase::sliderReleased
Notifier< uiTextEditBase > sliderReleased
Definition: uitextedit.h:51
uiTextBrowser::uiTextBrowser
uiTextBrowser(uiParent *, const char *nm="File browser", int maxlns=mUdf(int), bool forceplaintext=true, bool logmode=false)
uiTextEdit::append
void append(const char *)
uiTextEditBase::mQtclass
virtual mQtclass(QTextEdit &) qte()=0
uiTextEditBase::readFromFile
void readFromFile(const char *, int linecutlen=0)
uiTextEditBase::mQtclass
const mQtclass(QTextEdit &) qte() const
Definition: uitextedit.h:58
uiTextBrowser::canGoBackward
bool canGoBackward()
Definition: uitextedit.h:132
mFDQtclass
mFDQtclass(QTextEdit) class Timer
uiTextEditBase::defaultWidth
int defaultWidth()
Definition: uitextedit.h:36
uiTextBrowser::linkClicked
Notifier< uiTextBrowser > linkClicked
Definition: uitextedit.h:137
uiTextBrowser::textsrc_
BufferString textsrc_
Definition: uitextedit.h:142
uiTextBrowser::linkHighlighted
Notifier< uiTextBrowser > linkHighlighted
Definition: uitextedit.h:136
uiTextBrowser::forward
void forward()
Notifier< uiTextEditBase >
uiTextBrowser
Definition: uitextedit.h:103
uiTextEdit::mkbody
uiTextEditBody & mkbody(uiParent *, const char *, bool)
uiTextEditBase::result_
BufferString result_
Definition: uitextedit.h:65
uiTextBrowser::getHtmlText
void getHtmlText(BufferString &) const
uiTextBrowser::goneForwardOrBack
Notifier< uiTextBrowser > goneForwardOrBack
Definition: uitextedit.h:135
uiTextBrowser::setHtmlText
void setHtmlText(const char *)
uiTextBrowser::fileReOpened
Notifier< uiTextBrowser > fileReOpened
Definition: uitextedit.h:138
uiTextBrowser::setLinkBehavior
void setLinkBehavior(LinkBehavior)
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiTextEditBase::setDefaultHeight
void setDefaultHeight(int h)
Definition: uitextedit.h:40
uiObject
The base class for most UI elements.
Definition: uiobj.h:38
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiTextBrowser::copyAvailableCB
void copyAvailableCB(CallBacker *)
i_BrowserMessenger
Helper class for uiTextBrowser to relay Qt's messages.
Definition: i_qtextedit.h:98
uiTextBrowser::readTailCB
void readTailCB(CallBacker *)
OD::String
encapsulates the read-access-only part of strings in OD.
Definition: odstring.h:31
uiTextBrowser::lastLink
const char * lastLink()
Definition: uitextedit.h:133
uiTextEdit::setText
void setText(const char *txt)
Does not trigger notification.
Definition: uitextedit.h:80
uiTextBrowser::sliderReleasedCB
void sliderReleasedCB(CallBacker *)
mUdf
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:274
uiTextEditBase::defaultheight_
int defaultheight_
Definition: uitextedit.h:62
uiTextBrowser::cangobackw_
bool cangobackw_
Definition: uitextedit.h:145
uiParent
Definition: uiparent.h:26
uiTextBrowser::showToolTip
void showToolTip(const char *)
uiTextBrowser::home
void home()
uiTextEditBase::saveToFile
bool saveToFile(const char *, int linelen=0, bool newlns=true)
uiTextBrowser::~uiTextBrowser
~uiTextBrowser()
i_BrowserMessenger::uiTextBrowserBody
friend class uiTextBrowserBody
Definition: i_qtextedit.h:100
uiTextEditBase::uiTextEditBase
uiTextEditBase(uiParent *, const char *, uiObjectBody &)
uiTextEdit::mQtclass
virtual mQtclass(QTextEdit &) qte()
uiTextBrowser::restoreScrollPos
void restoreScrollPos()
uiTextBrowser::timer_
Timer * timer_
Definition: uitextedit.h:159
uiTextBrowser::mODTextTranslationClass
mODTextTranslationClass(uiTextBrowser) friend class i_BrowserMessenger
uiTextEditBase::hideFrame
void hideFrame()
uiTextEditBase::verticalSliderIsDown
bool verticalSliderIsDown() const
Returns false in absence of the slider.
uiTextEditBase::text
const char * text() const
uiTextBrowser::body_
uiTextBrowserBody * body_
Definition: uitextedit.h:166
CNotifier< uiTextEditBase, bool >
uiTextEdit::setText
void setText(const OD::String &txt)
Does not trigger notification.
uiTextEditBase
Definition: uitextedit.h:25
uiTextBrowser::mQtclass
virtual mQtclass(QTextEdit &) qte()
uiobj.h

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