OpendTect  6.3
uiodmain.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: A.H. Bril
7  Date: Dec 2003
8 ________________________________________________________________________
9 
10 -*/
11 
12 #include "uiodmainmod.h"
13 #include "uimainwin.h"
14 #include "dbkey.h"
15 
16 class CtxtIOObj;
17 class IOObj;
18 class ODSession;
19 class Timer;
20 class uiMain;
21 class uiODApplMgr;
22 class uiODMain;
23 class uiODMenuMgr;
24 class uiODSceneMgr;
25 class uiODViewer2DMgr;
26 class uiToolBar;
27 class uiVisColTabEd;
28 
29 
32 
33 
40 public:
41 
42  uiODMain(uiMain&);
43  ~uiODMain();
44 
45  bool go();
46  void exit(bool doconfirm=true);
47 
48  uiODApplMgr& applMgr() { return *applmgr_; }
49  uiODMenuMgr& menuMgr() { return *menumgr_; }
50  uiODSceneMgr& sceneMgr() { return *scenemgr_; }
51  uiODViewer2DMgr& viewer2DMgr() { return *viewer2dmgr_; }
52  uiVisColTabEd& colTabEd() { return *ctabed_; }
53 
57  IOPar& sessionPars();
58 
61  uiString getProgramName();
62 
63  bool askStore(bool& askedanything,
64  const uiString& actiontype);
67  bool askStoreAttribs(bool,bool& askedanything);
70  bool hasSessionChanged();
72  void saveSession();
73  void restoreSession();
74  void autoSession();
75  bool isRestoringSession() { return restoringsess_; }
76  void setProgramName(const char*);
77  //Default is "OpendTect"
78 
79 protected:
80 
92 
94  bool failed_;
95 
96  virtual bool closeOK();
97  void closeApplication();
98  void afterStartupCB(CallBacker*);
99  void afterSurveyChgCB(CallBacker*);
100  void handleStartupSession();
101  void restoreSession(const IOObj*);
102 
103 private:
104 
105  mGlobal(uiODMain) friend int ODMain(int,char**);
106 
107  bool ensureGoodDataDir();
108  bool ensureGoodSurveySetup();
109  bool buildUI();
110  void initScene();
111 
112  CtxtIOObj* getUserSessionIOData(bool);
113  bool updateSession();
114  void doRestoreSession();
115 
116  Timer& sesstimer_;
117  Timer& memtimer_;
118  Timer& newsurvinittimer_;
119  bool neednewsurvinit_;
120  void autoSaveFail(CallBacker*);
121  void sessTimerCB(CallBacker*);
122  void memTimerCB(CallBacker*);
123  void newSurvInitTimerCB(CallBacker*);
124 
125  uiString getProgramString() const;
126  void translateText();
127 
128 public:
129 
130  bool sceneMgrAvailable() const { return scenemgr_; }
131  bool menuMgrAvailable() const { return menumgr_; }
132  bool viewer2DMgrAvailable() const { return viewer2dmgr_; }
133  void updateCaption(CallBacker* cb=0);
134 
135 };
bool isRestoringSession()
Definition: uiodmain.h:75
Definition: uitoolbar.h:30
#define mExpClass(module)
Definition: commondefs.h:157
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
Notifier< uiODMain > sessionSave
Put data in pars.
Definition: uiodmain.h:54
uiODViewer2DMgr * viewer2dmgr_
Definition: uiodmain.h:84
Definition: ioobj.h:57
uiODMenuMgr & menuMgr()
Definition: uiodmain.h:49
uiODSceneMgr * scenemgr_
Definition: uiodmain.h:83
DBKey cursessid_
Definition: uiodmain.h:93
Application level manager - ties part servers together.
Definition: uiodapplmgr.h:53
OpendTect application top level object.
Definition: uiodmain.h:38
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
#define mGlobal(module)
Definition: commondefs.h:160
uiToolBar * ctabtb_
Definition: uiodmain.h:86
Notifier< uiODMain > sessionRestoreEarly
Get data from pars, before vis.
Definition: uiodmain.h:55
Definition: uiviscoltabed.h:28
Definition: uistring.h:88
Holds an IOObjCtxt plus a pointer to an IOObj and/or an IOPar.
Definition: ctxtioobj.h:24
ODSession * cursession_
Definition: uiodmain.h:88
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Definition: uiodviewer2dmgr.h:36
Definition: uiodscenemgr.h:64
ODSession & lastsession_
Definition: uiodmain.h:89
uiODSceneMgr & sceneMgr()
Definition: uiodmain.h:50
uiODMenuMgr * menumgr_
Definition: uiodmain.h:82
bool failed_
Definition: uiodmain.h:94
Notifier< uiODMain > sessionRestore
Get data from pars.
Definition: uiodmain.h:56
uiVisColTabEd & colTabEd()
Definition: uiodmain.h:52
uiMain & uiapp_
Definition: uiodmain.h:87
uiVisColTabEd * ctabed_
Definition: uiodmain.h:85
bool menuMgrAvailable() const
Definition: uiodmain.h:131
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
BufferString programname_
Definition: uiodmain.h:91
Definition: uimain.h:29
uiODMain * ODMainWin()
Top-level access for plugins.
uiODViewer2DMgr & viewer2DMgr()
Definition: uiodmain.h:51
uiODApplMgr * applmgr_
Definition: uiodmain.h:81
Notifier< uiODMain > justBeforeGo
Scenes inited, auto-plugins loaded.
Definition: uiodmain.h:60
bool viewer2DMgrAvailable() const
Definition: uiodmain.h:132
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
bool restoringsess_
Definition: uiodmain.h:90
uiODApplMgr & applMgr()
Definition: uiodmain.h:48
Timer class.
Definition: timer.h:24
dTect session save/restore
Definition: odsession.h:22
The OpendTect menu manager.
Definition: uiodmenumgr.h:35

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