OpendTect  6.6
uimainwin.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: 31/05/2000
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uibasemod.h"
14 #include "uiparent.h"
15 #include "mousecursor.h"
16 #include "uistring.h"
17 
18 mFDQtclass(QWidget)
19 class uiDockWin;
20 class uiGroup;
21 class uiMainWinBody;
22 class uiMenu;
23 class uiMenuBar;
24 class uiObject;
25 class uiStatusBar;
26 class uiToolBar;
27 class Timer;
28 class BufferStringSet;
29 
34 mExpClass(uiBase) uiMainWin : public uiParent
36 friend class uiMainWinBody;
37 public:
38  mExpClass(uiBase) Setup
40  public:
41  Setup( const uiString& capt )
42  : caption_(capt)
43  , icontxt_(capt)
44  , modal_(false)
45  , withmenubar_(true)
46  , deleteonclose_(true)
47  , nrstatusflds_(1)
48  {}
49 
51  mDefSetupMemb(uiString,icontxt)
52  mDefSetupMemb(bool,modal)
53  mDefSetupMemb(bool,withmenubar)
54  mDefSetupMemb(bool,deleteonclose)
55  mDefSetupMemb(int,nrstatusflds)
56  };
57 
60  caption=uiString::emptyString(),
61  int nrstatusflds=1,bool withmenubar=true,
62  bool modal=false);
63  virtual ~uiMainWin();
64 
66  enum Dock
67  {
68  Top,
71  Left,
72  Minimized,
75  TornOff,
77  Unmanaged
78  };
79 
81  uiMenuBar* menuBar();
82 
84 
85  void setCaption(const uiString&);
86  const uiString& caption(bool unique=false) const;
87  void setIcon(const uiPixmap&);
89  void setIconText(const uiString&);
90 
91  bool showMinMaxButtons(bool yn=true);
92  bool showAlwaysOnTop(bool yn=true);
93  /* Return if changed. Will hide the dialog
94  if finalised and already shown */
96  /* Only for windows already shown before */
97  void setActivateOnFirstShow(bool yn=true);
98  /* Activates the window once after its
99  first pops-up */
100  void activate();
101 
102  virtual void show();
103  void close();
104  void raise();
105  void forceClose();
106 
109  void showNormal();
110 
111  bool isMaximized() const;
112  bool isMinimized() const;
113  bool isHidden() const;
114  bool isModal() const;
115 
116  void setSensitive(bool yn);
117 
118  void toStatusBar(const uiString&,int fldidx=0,int msecs=-1);
119 
120  virtual void reDraw(bool deep);
122 
123  void setShrinkAllowed(bool yn);
125 
127  void setExitAppOnClose(bool yn);
128  void setDeleteOnClose(bool yn);
129 
130  void removeDockWindow(uiDockWin*);
131  void addDockWindow(uiDockWin&,Dock);
133  uiToolBar* findToolBar(const char*);
136 
138 
141 
146 
148  static uiMainWin* gtUiWinIfIsBdy(mQtclass(QWidget*) mwimpl);
149 
151  Middle, Auto };
152  void setPopupArea( PopupArea pa ) { popuparea_ = pa; }
153  PopupArea getPopupArea() const { return popuparea_; }
154  void setCornerPos(int x,int y);
156  uiRect geometry(bool frame=true) const;
157 
158  bool poppedUp() const;
159  bool touch();
160  bool finalised() const;
161  virtual uiMainWin* mainwin() { return this; }
162  mQtclass(QWidget*) qWidget() const;
163  uiParent* parent() { return parent_; }
164  const uiParent* parent() const { return parent_; }
165 
166  enum ActModalTyp { None=0, Main, Message, File, Colour, Font, Unknown };
169  static const char* activeModalQDlgTitle();
170  static const char* activeModalQDlgButTxt(int butnr);
171  static int activeModalQDlgRetVal(int butnr);
172  static void closeActiveModalQDlg(int retval);
173 
176  bool visibleonly=true);
177 
179  mQtclass(QWidget*) forwindow=0,
180  BufferString* addendum = 0);
181 
183 
184 
185  bool grab(const char* filenm,int zoom=1,
186  const char* format=0,int quality=-1) const;
193  static bool grabScreen(const char* filenm,const char* format=0,
194  int quality=-1,int screen=0);
195 
197  bool busywait=true);
198  void saveImage(const char* fnm,int w,int h,int res);
199  void saveAsPDF(const char* fnm,int w,int h,int res);
201  void saveAsPS(const char* fnm,int w,int h,int res)
202  { saveAsPDF( fnm, w, h, res ); }
207 
209  void runScript(const char* filename);
210  const char* getScriptToRun() const;
211 
212 protected:
213 
214  virtual bool closeOK() {return true;}
215 
218 
219  void saveSettings();
220  void readSettings();
221  void saveAsPDF_PS(const char* fnm,int w,int h,
222  int res);
223 
227  void setForceFinalise(bool);
228 
232 
234 
239 
241 
242 private:
243 
244  bool doSetWindowFlags(od_uint32 qtwinflag,bool set);
245 
246 public:
247  // Not for casual use
252 
253  mDeprecated ("Use uiString")
254  void setCaption( const char* str )
255  { setCaption(toUiString(str)); }
256 };
257 
258 
259 template <class T>
260 void closeAndZeroPtr( T*& ptr )
261 {
262  auto* uimw = dCast( uiMainWin*, ptr );
263  if ( uimw ) uimw->forceClose();
264  ptr = nullptr;
265 }
uiMainWin::mODTextTranslationClass
mODTextTranslationClass(uiMainWin)
uiMainWin::setShrinkAllowed
void setShrinkAllowed(bool yn)
uiMainWin::showAndActivate
void showAndActivate()
uiMainWin::uniquecaption_
uiString uniquecaption_
Definition: uimainwin.h:237
uiMainWin::Setup::mDefSetupMemb
mDefSetupMemb(uiString, caption) mDefSetupMemb(uiString
uiMainWin::parent_
uiParent * parent_
Definition: uimainwin.h:230
uiPixmap
Off-screen pixel-based paint device.
Definition: uipixmap.h:34
uiMainWin
User interface main window.
Definition: uimainwin.h:35
uiMainWin::uniqueWinTitle
static uiString uniqueWinTitle(const uiString &, mQtclass(QWidget *) forwindow=0, BufferString *addendum=0)
uiMainWin::languageChangeCB
void languageChangeCB(CallBacker *)
uiMainWin::statusBar
uiStatusBar * statusBar()
uistring.h
uiMainWin::getScriptToRun
const char * getScriptToRun() const
OD::TopLeft
@ TopLeft
Definition: oduicommon.h:71
ObjectSet< uiToolBar >
uiMainWin::isMinimized
bool isMinimized() const
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
File::toUiString
Export_Basic uiString toUiString(ViewStyle)
OD::BottomLeft
@ BottomLeft
Definition: oduicommon.h:73
uiMainWin::getActivateBehaviour
static OD::WindowActivationBehavior getActivateBehaviour()
uiMainWin::saveAsPDF
void saveAsPDF(const char *fnm, int w, int h, int res)
uiMainWin::show
virtual void show()
uiToolBar
Definition: uitoolbar.h:31
uiMainWin::runScript
void runScript(const char *filename)
uiMainWin::toolBars
const ObjectSet< uiToolBar > & toolBars() const
uiMainWin::Setup
Definition: uimainwin.h:39
uiRect
Definition: uigeom.h:42
uiMainWin::close
void close()
uiMainWin::activeModalWindow
static uiMainWin * activeModalWindow()
uiMainWin::isMaximized
bool isMaximized() const
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiMainWin::translateText
void translateText()
uiMainWin::programActiveWindow
static void programActiveWindow(uiMainWin *)
uiMainWin::readSettings
void readSettings()
uiMainWin::geometry
uiRect geometry(bool frame=true) const
Position of top-left corner in screen pixel coords.
OD::BottomRight
@ BottomRight
Definition: oduicommon.h:74
uiMainWin::setActivateBehaviour
static void setActivateBehaviour(OD::WindowActivationBehavior)
uiMainWin::removeToolBar
uiToolBar * removeToolBar(uiToolBar *)
uiMainWin::ActModalTyp
ActModalTyp
Definition: uimainwin.h:166
uiMainWin::doSetWindowFlags
bool doSetWindowFlags(od_uint32 qtwinflag, bool set)
uiMainWin::isHidden
bool isHidden() const
uiMainWin::saveAsPDF_PS
void saveAsPDF_PS(const char *fnm, int w, int h, int res)
uiMainWin::menuBar
uiMenuBar * menuBar()
mDefSetupMemb
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:154
mFDQtclass
mFDQtclass(QWidget) class uiDockWin
Definition: uibody.h:17
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiMainWin::mQtclass
mQtclass(QWidget *) qWidget() const
uiMainWin::findToolBar
uiToolBar * findToolBar(const char *)
uiMainWin::closeActiveModalQDlg
static void closeActiveModalQDlg(int retval)
OD::WindowActivationBehavior
WindowActivationBehavior
Definition: oduicommon.h:102
uiMainWin::poppedUp
bool poppedUp() const
uiMainWin::showAlwaysOnTop
bool showAlwaysOnTop(bool yn=true)
uiMainWin::Left
@ Left
Definition: uimainwin.h:71
uiMainWin::programmedActiveWindow
static uiMainWin * programmedActiveWindow()
uiMainWin::grab
bool grab(const char *filenm, int zoom=1, const char *format=0, int quality=-1) const
uiMainWin::setActivateOnFirstShow
void setActivateOnFirstShow(bool yn=true)
uiMainWin::dockWins
const ObjectSet< uiDockWin > & dockWins() const
uiMainWin::setCaption
void setCaption(const uiString &)
mousecursor.h
uiMainWin::runScriptRequest
Notifier< uiMainWin > runScriptRequest
Definition: uimainwin.h:208
uiMainWin::parent
uiParent * parent()
Definition: uimainwin.h:163
uiMainWin::copyToClipBoardCB
void copyToClipBoardCB(CallBacker *)
Timer
Timer class.
Definition: timer.h:25
uiMainWin::windowHidden
Notifier< uiMainWin > windowHidden
Definition: uimainwin.h:143
uiMainWin::toStatusBar
void toStatusBar(const uiString &, int fldidx=0, int msecs=-1)
uiMainWin::setExitAppOnClose
void setExitAppOnClose(bool yn)
automatically set by uiMain::setTopLevel
uiMainWin::touch
bool touch()
resets pop-up timer if !poppedUp yet
uiMainWin::setCornerPos
void setCornerPos(int x, int y)
uiMainWin::addDockWindow
void addDockWindow(uiDockWin &, Dock)
uiMainWin::uiMainWin
uiMainWin(uiString, uiParent *)
uiMainWin::reDraw
virtual void reDraw(bool deep)
uiMainWin::closeOK
virtual bool closeOK()
confirm window close
Definition: uimainwin.h:214
uiMainWin::getModalSignatures
static void getModalSignatures(BufferStringSet &)
CallBack
CallBacks object-oriented (object + method).
Definition: callback.h:62
uiMainWin::mainwin
virtual uiMainWin * mainwin()
Definition: uimainwin.h:161
uiMainWin::setSensitive
void setSensitive(bool yn)
uiMainWin::showMinMaxButtons
bool showMinMaxButtons(bool yn=true)
uiMainWin::activeModalQDlgRetVal
static int activeModalQDlgRetVal(int butnr)
uiparent.h
uiMainWin::Setup::mODTextTranslationClass
mODTextTranslationClass(Setup)
uiGroup
Definition: uigroup.h:54
uiMainWin::popuparea_
PopupArea popuparea_
Definition: uimainwin.h:233
uiMainWin::caption_
uiString caption_
Definition: uimainwin.h:236
uiMainWin::saveSettings
void saveSettings()
uiMainWin::setPopupArea
void setPopupArea(PopupArea pa)
Definition: uimainwin.h:152
uiMainWin::activeModalQDlgButTxt
static const char * activeModalQDlgButTxt(int butnr)
uiMainWin::parent
const uiParent * parent() const
Definition: uimainwin.h:164
uiMainWin::activeModalType
static ActModalTyp activeModalType()
uiMainWin::Right
@ Right
Definition: uimainwin.h:70
uiMainWin::copyToClipBoard
void copyToClipBoard()
Notifier< uiMainWin >
uiMainWin::activateInGUIThread
void activateInGUIThread(const CallBack &, bool busywait=true)
uiMainWin::setIconText
void setIconText(const uiString &)
uiMainWin::removeDockWindow
void removeDockWindow(uiDockWin *)
uiMainWin::setDeleteOnClose
void setDeleteOnClose(bool yn)
uiMainWin::getToolbarsMenu
uiMenu & getToolbarsMenu() const
Conv::set
void set(T &_to, const F &fr)
template based type conversion
Definition: convert.h:27
uiMainWin::addToolBarBreak
void addToolBarBreak()
uiMainWin::mainobject
uiObject * mainobject()
uiMainWinBody::modal_
bool modal_
Definition: odwindow.h:130
uiMainWin::activate
void activate()
uiMainWin::Top
@ Top
Definition: uimainwin.h:68
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiMainWin::TopRight
@ TopRight
Definition: uimainwin.h:150
uiMainWin::scripttorun_
BufferString scripttorun_
Definition: uimainwin.h:240
uiMainWinBody::screen
QScreen * screen(bool usetoplevel=false) const
uiStatusBar
Definition: uistatusbar.h:26
Network::None
@ None
Definition: networkcommon.h:33
uiMainWin::updateCaption
void updateCaption()
mDeprecatedObs
#define mDeprecatedObs
Definition: plfdefs.h:217
mQtclass
#define mQtclass(cls)
Definition: commondefs.h:234
uiObject
The base class for most UI elements.
Definition: uiobj.h:38
uiMainWin::body_
uiMainWinBody * body_
Definition: uimainwin.h:229
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiMainWin::getTopLevelWindows
static void getTopLevelWindows(ObjectSet< uiMainWin > &, bool visibleonly=true)
uiMainWin::mDeprecated
mDeprecated("Use uiString") void setCaption(const char *str)
Definition: uimainwin.h:253
uiMainWin::showNormal
void showNormal()
uiMainWin::windowShown
Notifier< uiMainWin > windowShown
Definition: uimainwin.h:142
uiMainWin::activatedone
Notifier< uiMainWin > activatedone
Definition: uimainwin.h:203
uiMainWin::showMinimized
void showMinimized()
uiMainWin::gtUiWinIfIsBdy
static uiMainWin * gtUiWinIfIsBdy(mQtclass(QWidget *) mwimpl)
get uiMainWin for mwimpl if it is a uiMainWinBody
uiMainWin::grabScreen
static bool grabScreen(const char *filenm, const char *format=0, int quality=-1, int screen=0)
uiMainWin::windowClosed
Notifier< uiMainWin > windowClosed
triggered when window exits
Definition: uimainwin.h:144
uiMainWin::languagechangecount_
int languagechangecount_
Definition: uimainwin.h:238
uiMainWin::PopupArea
PopupArea
Definition: uimainwin.h:150
uiMainWin::Middle
@ Middle
Definition: uimainwin.h:151
uiMainWin::forceClose
void forceClose()
uiMainWin::Setup::Setup
Setup(const uiString &capt)
Definition: uimainwin.h:41
uiMenu
Definition: uimenu.h:65
uiMainWin::Dock
Dock
Dock Selector.
Definition: uimainwin.h:67
uiMainWin::topGroup
uiGroup * topGroup()
uiMainWin::setForceFinalise
void setForceFinalise(bool)
uiMainWin::setIcon
void setIcon(const uiPixmap &)
Default icon is set in uiMain.
uiParent
Definition: uiparent.h:26
uiMainWin::showMaximized
void showMaximized()
uiMainWin::afterpopuptimer_
Timer * afterpopuptimer_
Definition: uimainwin.h:231
uiMainWin::activeModalQDlgTitle
static const char * activeModalQDlgTitle()
uiMainWin::caption
const uiString & caption(bool unique=false) const
uiMainWinBody
Definition: odwindow.h:36
uiMainWin::isModal
bool isModal() const
uiMainWin::finalised
bool finalised() const
closeAndZeroPtr
void closeAndZeroPtr(T *&ptr)
Definition: uimainwin.h:260
uiMainWin::addToolBar
void addToolBar(uiToolBar *)
od_uint32
#define od_uint32
Definition: plftypes.h:31
uiMainWin::saveAsPS
mDeprecatedObs void saveAsPS(const char *fnm, int w, int h, int res)
Definition: uimainwin.h:201
uiMainWin::saveImage
void saveImage(const char *fnm, int w, int h, int res)
uiMainWin::shrinkAllowed
bool shrinkAllowed()
uiMainWin::afterPopup
Notifier< uiMainWin > afterPopup
Definition: uimainwin.h:205
uiMainWin::ctrlCPressed
Notifier< uiMainWin > ctrlCPressed
Definition: uimainwin.h:204
uiMainWin::aftPopupCB
void aftPopupCB(CallBacker *)
uiMainWin::activeWindow
static uiMainWin * activeWindow()
File
Interface for several file and directory related services.
Definition: file.h:27
dCast
#define dCast(tp, v)
Definition: commondefs.h:139
uiMainWin::Bottom
@ Bottom
Definition: uimainwin.h:69
uiMainWin::getPopupArea
PopupArea getPopupArea() const
Definition: uimainwin.h:153

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