OpendTect  6.3
uimsg.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. Bril
8  Date: 26/04/2000
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uibasemod.h"
14 #include "gendefs.h"
15 #include "uistring.h"
16 #include "uiparent.h"
17 #include "typeset.h"
18 class uiMainWin;
19 class uiStatusBar;
20 mFDQtclass(QWidget)
21 class BufferStringSet;
22 class FileMultiString;
23 class uiString;
24 
25 
26 mExpClass(uiBase) uiMsg : public CallBacker
28 
29 friend class uiMain;
30 mGlobal(uiBase) friend uiMsg& uiMSG();
31 
32 public:
33 
34  // Messages
35  bool message(const uiString&,
36  const uiString& part2=uiString::emptyString(),
37  const uiString& part3=uiString::emptyString(),
38  bool withdontshowagain=false);
42  bool warning(const uiString&,
43  const uiString& part2=uiString::emptyString(),
44  const uiString& part3=uiString::emptyString(),
45  bool withdontshowagain=false);
49  void warning(const uiRetVal&);
50  void handleWarnings(const uiRetVal&);
51  bool error(const uiString&,
52  const uiString& part2=uiString::emptyString(),
53  const uiString& part3=uiString::emptyString(),
54  bool withdontshowagain=false);
58  void error(const uiRetVal&);
59  void handleErrors(const uiRetVal&);
60  void errorWithDetails(const FileMultiString&);
64  void errorWithDetails(const uiStringSet&,
65  const uiString& firstmsg);
66  void errorWithDetails(const uiStringSet&);
67  void errorWithDetails(const BufferStringSet&);
68 
69  // Interaction
70  int question(const uiString&,
71  const uiString& textyes=uiString::emptyString(),
72  const uiString& textno=uiString::emptyString(),
73  const uiString& textcncl=uiString::emptyString(),
74  const uiString& caption=uiString::emptyString(),
75  bool* dontaskagain=0);
79  int askSave(const uiString&,bool cancelbut=true);
81  int askRemove(const uiString&,bool cancelbut=false);
83  int askContinue(const uiString&);
85  int askOverwrite(const uiString&);
87  int ask2D3D(const uiString&,bool cancelbut=false);
89 
90  bool askGoOn(const uiString&,bool withyesno=true,
91  bool* dontaskagain=0);
96  bool askGoOn(const uiString& msg,const uiString& textyes,
97  const uiString& textno,
98  bool* dontaskagain=0);
102  int askGoOnAfter(const uiString&,
103  const uiString& cnclmsg=uiString::emptyString(),
104  const uiString& textyes=uiString::emptyString(),
105  const uiString& textno=uiString::emptyString(),
106  bool* dontaskagain=0);
107 
108  static void setNextCaption(const uiString&);
111 
112  uiMainWin* setMainWin(uiMainWin*);
113 
114  bool toStatusbar(uiString,int fld=0,int msec=-1);
116  uiStatusBar* statusBar();
117 
118  void about(const uiString&);
119  void aboutOpendTect(const uiString&);
120 
121  enum Icon { NoIcon, Information, Warning, Critical, Question };
122  int showMessageBox(Icon icon,QWidget* parent,
123  const uiString& txt,const uiString& yestxtinp,
124  const uiString& notxtinp,const uiString& cncltxtinp,
125  const uiString& title=uiString::emptyString(),
126  bool* notagain=0);
131  static uiString sDontShowAgain();
132  enum msgType { WarningMsg, ErrorWithDetails, ErrorMsg, Info };
134  void showMsg(uiMainWin*, msgType, const uiStringSet&);
135  void dispErrMsgCB(CallBacker*);
136  void dispWarnMsgCB(CallBacker*);
137  void errorWithDetailProc(uiStringSet&);
138 protected:
139 
140  uiMsg();
141 
142  mQtclass(QWidget*) popParnt();
143 
144  static uiMsg* theinst_;
147 
148 private:
149 
150  int beginCmdRecEvent( const char* wintitle );
151  void endCmdRecEvent(int refnr,int retval,const char* buttxt0,
152  const char* buttxt1=0,const char* buttxt2=0);
153 
155 };
156 
157 mGlobal(uiBase) uiMsg& uiMSG();
158 
159 
162 {
163 public:
165  : isset_( np )
166  , oldparent_( 0 )
167  {
168  if ( np ) oldparent_ = ::uiMSG().setMainWin( np );
169  }
170 
172  { if ( isset_ ) ::uiMSG().setMainWin( oldparent_ ); }
173 protected:
175  bool isset_;
176 };
Sets the uiMSG's main window temporary during the scope of the object.
Definition: uimsg.h:161
#define mExpClass(module)
Definition: commondefs.h:157
Definition: oduicommon.h:61
User interface main window.
Definition: uimainwin.h:34
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
uiMainWin * oldparent_
Definition: uimsg.h:174
#define mQtclass(cls)
Definition: commondefs.h:232
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class...
Definition: threadlock.h:51
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
#define mGlobal(module)
Definition: commondefs.h:160
Definition: uimsg.h:26
uiMainWin * uimainwin_
Definition: uimsg.h:154
Definition: uimsg.h:121
uiMainWin * setMainWin(uiMainWin *)
return old
static const uiString & emptyString()
Definition: uistring.h:107
Definition: uistring.h:88
Icon
Definition: uimsg.h:121
Set of BufferString objects.
Definition: bufstringset.h:25
uiMsgMainWinSetter(uiMainWin *np)
Definition: uimsg.h:164
#define mDeclareEnumUtils(enm)
Some utilities surrounding the often needed enum <-> string table.
Definition: enums.h:188
bool isset_
Definition: uimsg.h:175
Definition: uistatusbar.h:24
SeparString with backquotes as separators, use in most ascii files.
Definition: separstr.h:131
void message(const char *)
default: to stderr
Definition: uimsg.h:132
uiMsg & uiMSG()
~uiMsgMainWinSetter()
Definition: uimsg.h:171
Threads::Lock msgdisplock_
Definition: uimsg.h:146
uiParent const uiString & title
pops a selector box to select a new font
Definition: uifont.h:26
Threads::Lock lock_
Definition: uimsg.h:145
Definition: uimain.h:29
static uiMsg * theinst_
Definition: uimsg.h:144
Definition: uistring.h:299
mFDQtclass(QWidget) class BufferStringSet
Definition: uibody.h:16
Definition: uistring.h:235
msgType
Definition: uimsg.h:132

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