OpendTect  6.6
odwindow.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 "uiparentbody.h"
14 #include "uidialog.h"
15 #include "uimainwin.h"
16 
17 #include "thread.h"
18 #include "timer.h"
19 
20 #include <QEventLoop>
21 #include <QMainWindow>
22 
23 class uiButton;
24 class uiCheckBox;
25 class uiDockWin;
26 class uiLabel;
27 class uiMenu;
28 class uiMenuBar;
29 class uiStatusBar;
30 class uiToolBar;
31 class uiToolButton;
32 class QWidget;
33 
34 
35 class uiMainWinBody : public uiCentralWidgetBody, public QMainWindow
37 friend class uiMainWin;
38 public:
40  const char* nm,bool modal);
41  virtual ~uiMainWinBody();
42 
44  bool visibleonly);
45 
46  void construct(int nrstatusflds,bool wantmenubar);
47 
49  uiMenuBar* uimenubar();
50 
51  virtual void polish();
52  void reDraw(bool deep);
53  void go(bool showminimized=false);
54  virtual void show() { doShow(); }
55  void doSetWindowFlags(Qt::WindowFlags,bool yn);
56 
58  void move(int,int);
59 
60  void close();
61  bool poppedUp() const { return poppedup_; }
62  bool touch();
63 
64  void removeDockWin(uiDockWin*);
65  void addDockWin(uiDockWin&,uiMainWin::Dock);
66 
67  virtual QMenu* createPopupMenu();
69  uiToolBar* findToolBar(const char*);
73 
74  const ObjectSet<uiToolBar>& toolBars() const { return toolbars_; }
75  const ObjectSet<uiDockWin>& dockWins() const { return dockwins_; }
76 
77  void setModal(bool yn);
78  bool isModal() const { return modal_; }
79 
80  void activateInGUIThread(const CallBack&,bool busywait);
81 
83 
84  static QScreen* primaryScreen();
85  QScreen* screen(bool usetoplevel=false) const;
86 
87 protected:
88 
89  virtual const QWidget* qwidget_() const { return this; }
90  virtual void finalise() { finalise(false); }
91  virtual void finalise(bool trigger_finalise_start_stop);
92  void closeEvent(QCloseEvent*);
93  bool event(QEvent*);
94 
95  void keyPressEvent(QKeyEvent*);
96  void resizeEvent(QResizeEvent*);
97 
98  void doShow(bool minimized=false);
100 
101 
104 
105  void saveSettings();
106  void readSettings();
107 
109 
113 
115 
117  uiMenuBar* menubar_;
119 
124 
125 private:
126 
127  QEventLoop eventloop_;
128 
129  int iconsz_;
130  bool modal_;
131 
133  void getPosForScreenMiddle(int& x,int& y);
134  void getPosForParentMiddle(int& x,int& y);
136  bool poppedup_;
139  bool moved_;
141 
144 
146 };
147 
148 
149 
152 public:
154  const uiDialog::Setup&);
156 
157  int exec(bool showminimized);
158 
163  void done(int i);
164 
165  void uiSetResult( int v ) { result_ = v; }
166  int uiResult() { return result_; }
167 
168  void setTitleText(const uiString& txt);
169  void setOkCancelText(const uiString&,const uiString&);
170  void setOkText(const uiString&);
172  void setCancelText(const uiString&);
174  void setApplyText(const uiString&);
175  void enableSaveButton(const uiString& txt);
176  void setSaveButtonChecked(bool yn);
178  bool saveButtonChecked() const;
179  bool hasSaveButton() const;
181 
183  void setSeparator( bool yn ) { setup_.separator_ = yn; }
184  bool separator() const { return setup_.separator_; }
185  void setHelpKey(const HelpKey& key) { setup_.helpkey_ = key;}
186  HelpKey helpKey() const { return setup_.helpkey_; }
187  void setVideoKey(const HelpKey&,int idx=-1);
188  HelpKey videoKey(int idx) const;
189  int nrVideos() const;
190  void removeVideo(int);
191 
192  void setDlgGrp( uiGroup* cw ) { dlggrp_=cw; }
193 
194  void setHSpacing( int spc ) { dlggrp_->setHSpacing(spc); }
195  void setVSpacing( int spc ) { dlggrp_->setVSpacing(spc); }
196  void setBorder( int b ) { dlggrp_->setBorder( b ); }
197 
198  virtual void addChild(uiBaseObject& child);
199  virtual void manageChld_(uiBaseObject&,uiObjectBody&);
200  virtual void attachChild(constraintType,uiObject* child,
201  uiObject* other,int margin,bool reciprocal);
205 
206  const uiDialog::Setup& getSetup() const { return setup_; }
207 
208 protected:
209 
210  virtual const QWidget* managewidg_() const
211  {
212  if ( !initing_ )
213  return dlggrp_->pbody()->managewidg();
215  }
216 
217  int result_;
219 
222 
223  uiButton* okbut_;
224  uiButton* cnclbut_;
225  uiButton* applybut_;
226  uiButton* helpbut_;
227  uiButton* videobut_;
229 
232 
234 
236 
237  void _done(int);
238 
239  virtual void finalise() { finalise(false); }
240  virtual void finalise(bool);
241  void closeEvent(QCloseEvent*);
243 
244 private:
245 
246  void initChildren();
249 
251 };
uiMainWinBody::finalise
virtual void finalise(bool trigger_finalise_start_stop)
uiMainWinBody::toggleToolbar
void toggleToolbar(CallBacker *)
uiDialogBody::finalise
virtual void finalise()
Definition: odwindow.h:239
uiMainWinBody::setModal
void setModal(bool yn)
uiDialogBody::saveButtonChecked
bool saveButtonChecked() const
uiMainWinBody::nractivated_
int nractivated_
Definition: odwindow.h:112
uiDialogBody::attachChild
virtual void attachChild(constraintType, uiObject *child, uiObject *other, int margin, bool reciprocal)
uiMainWinBody::close
void close()
uiMainWinBody::polish
virtual void polish()
uiMainWinBody::qwidget_
virtual const QWidget * qwidget_() const
Definition: odwindow.h:89
uiMainWinBody::doShow
void doShow(bool minimized=false)
uiDialogBody::provideHelp
void provideHelp(CallBacker *)
uiDialogBody::removeVideo
void removeVideo(int)
uiDialogBody::nrVideos
int nrVideos() const
uiDialogBody::setCancelText
void setCancelText(const uiString &)
Cancel button disabled when set to empty.
uiDialogBody::titlelbl_
uiLabel * titlelbl_
Definition: odwindow.h:233
uiMainWin
User interface main window.
Definition: uimainwin.h:35
uiDialogBody::separator
bool separator() const
Definition: odwindow.h:184
uiparentbody.h
Threads::Mutex
Is a lock that allows a thread to have exlusive rights to something.
Definition: thread.h:45
uiDialogBody::setApplyText
void setApplyText(const uiString &)
ObjectSet< uiMainWin >
uiGroup::setHSpacing
void setHSpacing(int)
uiDialogBody::applyCB
void applyCB(CallBacker *)
uiToolBar
Definition: uitoolbar.h:31
uiMainWinBody::addToolBar
void addToolBar(uiToolBar *)
HelpKey
Definition: helpview.h:50
uiParentBody::uiObjectBody
friend class uiObjectBody
Definition: uiparentbody.h:24
uiDialogBody::getSetup
const uiDialog::Setup & getSetup() const
Definition: odwindow.h:206
uiDialogBody::videokeys_
TypeSet< HelpKey > videokeys_
Definition: odwindow.h:235
uiDialogBody::setSeparator
void setSeparator(bool yn)
Separator between central dialog and Ok/Cancel bar?
Definition: odwindow.h:183
uiCheckBox
Definition: uibutton.h:167
uiMainWinBody::show
virtual void show()
Definition: odwindow.h:54
uiMainWinBody::activateInGUIThread
void activateInGUIThread(const CallBack &, bool busywait)
uiMainWinBody::mODTextTranslationClass
mODTextTranslationClass(uiMainWinBody) friend class uiMainWin
uiMainWinBody::findToolBar
uiToolBar * findToolBar(const char *)
uiMainWinBody::construct
void construct(int nrstatusflds, bool wantmenubar)
uiMainWinBody::handle_
uiMainWin & handle_
Definition: odwindow.h:123
uimainwin.h
uiDialogBody::uiResult
int uiResult()
Definition: odwindow.h:166
uiMainWinBody::createtbmenu_
bool createtbmenu_
Definition: odwindow.h:140
uiMainWinBody::primaryScreen
static QScreen * primaryScreen()
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiMainWinBody::getTopLevelWindows
static void getTopLevelWindows(ObjectSet< uiMainWin > &, bool visibleonly)
constraintType
constraintType
Definition: uilayout.h:19
uiMainWinBody::readSettings
void readSettings()
uiDialog::Button
Button
Definition: uidialog.h:126
uiDialogBody::applybut_
uiButton * applybut_
Definition: odwindow.h:225
uiMainWinBody::deletefromod_
bool deletefromod_
Definition: odwindow.h:143
Timer
Timer class.
Definition: timer.h:25
uiMainWinBody::force_finalise_
bool force_finalise_
Definition: odwindow.h:82
uiMainWinBody::event
bool event(QEvent *)
uiDialogBody::result_
int result_
Definition: odwindow.h:217
uiMainWinBody::touch
bool touch()
uiMainWinBody::resizeEvent
void resizeEvent(QResizeEvent *)
uiDialogBody::setButtonSensitive
void setButtonSensitive(uiDialog::Button, bool yn)
uiDialogBody::videobut_
uiButton * videobut_
Definition: odwindow.h:227
uiDialogBody::button
uiButton * button(uiDialog::Button)
uiMainWinBody::iconsz_
int iconsz_
Definition: odwindow.h:129
uiMainWinBody::prefpos_
uiPoint prefpos_
Definition: odwindow.h:138
uiDialogBody::finalise
virtual void finalise(bool)
uiDialogBody::accept
void accept(CallBacker *)
to be called by a 'ok' button
uiMainWinBody::poptimer_
Timer poptimer_
Definition: odwindow.h:135
uiMainWinBody::move
void move(int, int)
uiDialogBody::setVSpacing
void setVSpacing(int spc)
Definition: odwindow.h:195
uiDialogBody
Definition: odwindow.h:151
uiMainWinBody::keyPressEvent
void keyPressEvent(QKeyEvent *)
uiDialogBody::uiSetResult
void uiSetResult(int v)
Definition: odwindow.h:165
uiMainWinBody::uiMainWinBody
uiMainWinBody(uiMainWin &handle, uiParent *parnt, const char *nm, bool modal)
uiDialogBody::helpKey
HelpKey helpKey() const
Definition: odwindow.h:186
CallBack
CallBacks object-oriented (object + method).
Definition: callback.h:62
uiDialogBody::setSaveButtonChecked
void setSaveButtonChecked(bool yn)
uiDialogBody::savebuttb_
uiToolButton * savebuttb_
Definition: odwindow.h:231
uiMainWinBody::getToolbarsMenu
uiMenu & getToolbarsMenu()
Definition: odwindow.h:71
uiDialogBody::dlghandle_
uiDialog & dlghandle_
Definition: odwindow.h:250
uiDialogBody::hasSaveButton
bool hasSaveButton() const
uiDialogBody::setHelpKey
void setHelpKey(const HelpKey &key)
Definition: odwindow.h:185
timer.h
uiMainWinBody::exitapponclose_
bool exitapponclose_
Definition: odwindow.h:108
uiMainWinBody::go
void go(bool showminimized=false)
uiDialogBody::setHSpacing
void setHSpacing(int spc)
Definition: odwindow.h:194
uiDialogBody::managewidg_
virtual const QWidget * managewidg_() const
Definition: odwindow.h:210
uiMainWinBody::updateToolbarsMenu
void updateToolbarsMenu()
uiMainWinBody::reDraw
void reDraw(bool deep)
uiGroup
Definition: uigroup.h:54
uiDialogBody::dlggrp_
uiGroup * dlggrp_
Definition: odwindow.h:220
uiDialogBody::createChildren
uiObject * createChildren()
uiCentralWidgetBody
Definition: uiparentbody.h:94
uiDialogBody::initChildren
void initChildren()
uiDialog::Setup
description of properties of dialog.
Definition: uidialog.h:50
uiDialogBody::done
void done(int i)
uiDialogBody::exec
int exec(bool showminimized)
uiMainWinBody::saveSettings
void saveSettings()
uiMainWinBody::addDockWin
void addDockWin(uiDockWin &, uiMainWin::Dock)
uiMainWinBody::eventloop_
QEventLoop eventloop_
Definition: odwindow.h:127
uiMainWinBody::poppedUp
bool poppedUp() const
Definition: odwindow.h:61
uidialog.h
uiMainWinBody::createPopupMenu
virtual QMenu * createPopupMenu()
uiGroup::setVSpacing
void setVSpacing(int)
uiMainWinBody::dockwins_
ObjectSet< uiDockWin > dockwins_
Definition: odwindow.h:121
uiMainWinBody::finalise
virtual void finalise()
Definition: odwindow.h:90
uiDialogBody::_done
void _done(int)
uiParent::pbody
uiParentBody * pbody()
uiSize
Definition: uigeom.h:25
uiMainWinBody::move
void move(uiMainWin::PopupArea)
uiMainWinBody::eventrefnr_
int eventrefnr_
Definition: odwindow.h:114
uiMainWinBody::prefsz_
uiSize prefsz_
Definition: odwindow.h:137
uiMainWinBody::toolBars
const ObjectSet< uiToolBar > & toolBars() const
Definition: odwindow.h:74
uiMainWinBody::modal_
bool modal_
Definition: odwindow.h:130
uiDialogBody::manageChld_
virtual void manageChld_(uiBaseObject &, uiObjectBody &)
uiMainWinBody::windowtitle_
uiString windowtitle_
Definition: odwindow.h:122
uiMainWinBody::getPosForScreenMiddle
void getPosForScreenMiddle(int &x, int &y)
uiCentralWidgetBody::initing_
bool initing_
Definition: uiparentbody.h:110
uiMainWinBody::managePopupPos
void managePopupPos()
uiMainWinBody::screen
QScreen * screen(bool usetoplevel=false) const
uiStatusBar
Definition: uistatusbar.h:26
uiMainWinBody::menubar_
uiMenuBar * menubar_
Definition: odwindow.h:117
uiDialogBody::videoKey
HelpKey videoKey(int idx) const
uiDialogBody::~uiDialogBody
mODTextTranslationClass(uiDialogBody) public ~uiDialogBody()
uiDialogBody::setOkCancelText
void setOkCancelText(const uiString &, const uiString &)
Geom::Point2D< int >
uiDialogBody::setVideoKey
void setVideoKey(const HelpKey &, int idx=-1)
uiMainWinBody::removeToolBar
uiToolBar * removeToolBar(uiToolBar *)
uiObject
The base class for most UI elements.
Definition: uiobj.h:38
uiMainWinBody::deletefrombody_
bool deletefrombody_
Definition: odwindow.h:142
uiDialogBody::helpbut_
uiButton * helpbut_
Definition: odwindow.h:226
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiDialogBody::setOkText
void setOkText(const uiString &)
OK button disabled when set to empty.
uiDialogBody::setup_
uiDialog::Setup setup_
Definition: odwindow.h:221
uiMainWinBody::poppedup_
bool poppedup_
Definition: odwindow.h:136
uiGroup::setBorder
void setBorder(int)
uiMainWinBody::hasguisettings_
bool hasguisettings_
Definition: odwindow.h:145
uiMainWinBody::~uiMainWinBody
virtual ~uiMainWinBody()
uiDialogBody::reject
void reject(CallBacker *)
to be called by a 'cancel' button
uiDialogBody::closeEvent
void closeEvent(QCloseEvent *)
uiDialogBody::creditsbut_
uiToolButton * creditsbut_
Definition: odwindow.h:228
uiLabel
Definition: uilabel.h:24
uiMainWin::PopupArea
PopupArea
Definition: uimainwin.h:150
uiCentralWidgetBody::managewidg_
virtual const QWidget * managewidg_() const
uiMainWinBody::renewToolbarsMenu
void renewToolbarsMenu()
uiDialogBody::setTitleText
void setTitleText(const uiString &txt)
uiDialogBody::cnclbut_
uiButton * cnclbut_
Definition: odwindow.h:224
uiMainWinBody::toolbars_
ObjectSet< uiToolBar > toolbars_
Definition: odwindow.h:120
uiMainWinBody::uimenubar
uiMenuBar * uimenubar()
uiMainWinBody::isModal
bool isModal() const
Definition: odwindow.h:78
uiMainWinBody::uistatusbar
uiStatusBar * uistatusbar()
uiMenu
Definition: uimenu.h:65
uiMainWin::Dock
Dock
Dock Selector.
Definition: uimainwin.h:67
uiDialogBody::enableSaveButton
void enableSaveButton(const uiString &txt)
uiMainWinBody::getPosForParentMiddle
void getPosForParentMiddle(int &x, int &y)
uiMainWinBody::removeDockWin
void removeDockWin(uiDockWin *)
uiParent
Definition: uiparent.h:26
uiMainWinBody::activatecbs_
ObjectSet< CallBack > activatecbs_
Definition: odwindow.h:111
uiMainWinBody::popTimTick
void popTimTick(CallBacker *)
uiMainWinBody
Definition: odwindow.h:36
uiMainWinBody::moved_
bool moved_
Definition: odwindow.h:139
uiDialogBody::addChild
virtual void addChild(uiBaseObject &child)
uiMainWinBody::closeEvent
void closeEvent(QCloseEvent *)
uiDialogBody::showVideo
void showVideo(CallBacker *)
uiMainWinBody::activatemutex_
Threads::Mutex activatemutex_
Definition: odwindow.h:110
uiDialog
Definition: uidialog.h:42
thread.h
uiMainWinBody::toolbarsmnu_
uiMenu * toolbarsmnu_
Definition: odwindow.h:118
uiDialogBody::initchildrendone_
bool initchildrendone_
Definition: odwindow.h:218
uiToolButton
Definition: uitoolbutton.h:22
uiMainWinBody::statusbar_
uiStatusBar * statusbar_
Definition: odwindow.h:116
uiDialogBody::setDlgGrp
void setDlgGrp(uiGroup *cw)
Definition: odwindow.h:192
uiMainWinBody::doSetWindowFlags
void doSetWindowFlags(Qt::WindowFlags, bool yn)
uiDialogBody::layoutChildren
void layoutChildren(uiObject *)
uiDialogBody::setBorder
void setBorder(int b)
Definition: odwindow.h:196
uiDialogBody::savebutcb_
uiCheckBox * savebutcb_
Definition: odwindow.h:230
uiDialogBody::okbut_
uiButton * okbut_
Definition: odwindow.h:223
uiMainWinBody::dockWins
const ObjectSet< uiDockWin > & dockWins() const
Definition: odwindow.h:75
uiDialogBody::showCredits
void showCredits(CallBacker *)
TypeSet< HelpKey >

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