OpendTect  6.6
uidialog.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: 08/08/2000
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "uibasemod.h"
15 
16 #include "uimainwin.h"
17 #include "uistrings.h"
18 
19 #include "bufstring.h"
20 #include "helpview.h"
21 #include "od_helpids.h"
22 
23 class uiButton;
24 
36 #define mNoDlgTitle uiString::empty()
37 #define mTODOHelpKey HelpKey( nullptr, ::toString(-1) )
38 #define mNoHelpKey HelpKey::emptyHelpKey()
39 
40 
41 mExpClass(uiBase) uiDialog : public uiMainWin
42 {
43  friend class uiDialogBody;
44 
45 public:
46 
49  mExpClass(uiBase) Setup
50  {
51  public:
52  Setup( const uiString& window_title,
53  const uiString& dialog_title,
54  const HelpKey& help_key )
55  : wintitle_(window_title)
56  , dlgtitle_(dialog_title)
57  , helpkey_(help_key)
58  , videokey_(HelpKey::emptyHelpKey())
59  , savetext_(uiStrings::sSaveAsDefault())
60  , oktext_( uiStrings::sOk() )
61  , canceltext_( uiStrings::sCancel() )
62  , modal_(true) // if no parent given, always non-modal
63  , applybutton_(false)
64  , applytext_(uiStrings::sApply())
65  , savebutton_(false), savebutispush_(false)
66  , separator_(true), menubar_(false), nrstatusflds_(0)
67  , mainwidgcentered_(false), savechecked_(false)
68  , fixedsize_(false), okcancelrev_(false)
69  {}
70 
72  mDefSetupMemb(uiString,dlgtitle)
74  mDefSetupMemb(HelpKey,videokey)
76  mDefSetupMemb(uiString,oktext)
77  mDefSetupMemb(uiString,canceltext)
78  mDefSetupMemb(uiString,applytext)
79  mDefSetupMemb(bool,modal)
80  mDefSetupMemb(bool,applybutton)
81  mDefSetupMemb(bool,savebutton)
82  mDefSetupMemb(bool,savebutispush)
84  mDefSetupMemb(bool,savechecked)
85  mDefSetupMemb(bool,menubar)
86  mDefSetupMemb(bool,mainwidgcentered)
87  mDefSetupMemb(bool,fixedsize)
88  mDefSetupMemb(bool,okcancelrev)
89  mDefSetupMemb(int,nrstatusflds)
91 
92  private:
93  Setup( const char* window_title,
94  const char* dialog_title,
95  int help_id )
96  : helpkey_(mNoHelpKey)
97  {}
100 
101  public:
102  mDeprecated ("Use uiString and HelpKey object")
103  Setup(const char* window_title,const char* dialog_title,
104  const char* help_key_str);
106  Setup( const char* window_title,
107  const char* dialog_title,
108  const HelpKey& help_key )
109  : Setup(toUiString(window_title),
110  toUiString(dialog_title),help_key) {}
111  mDeprecated ("Use uiString")
112  Setup( const char* window_title,
113  const uiString& dialog_title,
114  const HelpKey& help_key )
115  : Setup(toUiString(window_title),dialog_title,
116  help_key) {}
117  mDeprecated ("Use uiString")
118  Setup( const uiString& window_title,
119  const char* dialog_title,
120  const HelpKey& help_key )
121  : Setup(window_title,toUiString(dialog_title),
122  help_key) {}
123 
124  };
125 
126  enum Button { OK, CANCEL, APPLY, HELP, CREDITS, SAVE };
127 
129  const Setup& setup() const;
130 
131  int go();
132  int goMinimized();
133 
134  void reject(CallBacker* cb=0);
135  void accept(CallBacker* cb=0);
136  enum DoneResult { Rejected=0, Accepted=1 };
138 
139  void setHSpacing(int);
140  void setVSpacing(int);
141  void setBorder(int);
142 
143  void setModal(bool yn);
144  bool isModal() const;
145 
146  uiButton* button( Button but );
147  void setButtonText( Button but, const uiString& txt );
148 
149  enum CtrlStyle { OkAndCancel, RunAndClose, CloseOnly };
153  CtrlStyle getCtrlStyle() const { return ctrlstyle_; }
154  void setOkCancelText(const uiString& ok,const uiString& cnl);
155  void setOkText(const uiString&);
157  void setCancelText(const uiString&);
160  const uiString& txt=uiStrings::sSaveAsDefault());
161  int uiResult() const;
163 
166  void setTitleText(const uiString& txt);
167  bool hasSaveButton() const;
168  bool saveButtonChecked() const;
169 
170  void setSeparator(bool yn);
172  bool separator() const;
173  void setHelpKey(const HelpKey&);
174  virtual HelpKey helpKey() const;
175  void setVideoKey(const HelpKey&);
176  void setVideoKey(const HelpKey&,int idx);
177  HelpKey videoKey(int idx=0) const;
178  int nrVideos() const;
179  void removeVideo(int);
180 
181  enum TitlePos { LeftSide, CenterWin, RightSide };
182  static TitlePos titlePos();
183  static void setTitlePos(TitlePos);
184 
186 
187 protected:
188 
189  virtual bool rejectOK(CallBacker*){ return true;}
190  virtual bool acceptOK(CallBacker*){ return true;}
191  virtual bool doneOK(int) { return true; }
192 
196 
197 public:
198  mDeprecated ("Use uiString")
199  void setTitleText( const char* txt )
200  { setTitleText(toUiString(txt)); }
201  mDeprecated ("Use uiString")
202  void setOkCancelText( const char* ok,const char* cnl )
203  { setOkCancelText(toUiString(ok),toUiString(cnl)); }
204  mDeprecated ("Use uiString")
205  void setOkText( const char* txt )
206  { setOkText(toUiString(txt)); }
207  mDeprecated ("Use uiString")
208  void setCancelText( const char* txt )
209  { setCancelText(toUiString(txt)); }
210  mDeprecated ("Use with argument")
211  void done() { done( Rejected ); }
212  mDeprecated ("Use with enum")
213  void done( int i ) { done( DoneResult(i) ); }
214  mDeprecated ("Use with enum")
215  static void setTitlePos( int i )
216  { setTitlePos( TitlePos(i+1) ); }
217 
218 };
uiDialogBody::setCancelText
void setCancelText(const uiString &)
Cancel button disabled when set to empty.
uiDialog::setSaveButtonChecked
void setSaveButtonChecked(bool)
uiMainWin
User interface main window.
Definition: uimainwin.h:35
uiDialog::Setup::Setup
Setup(const uiString &window_title, const uiString &dialog_title, const HelpKey &help_key)
Definition: uidialog.h:52
uiDialog::goMinimized
int goMinimized()
uiDialog::CtrlStyle
CtrlStyle
Definition: uidialog.h:149
uiDialogBody::separator
bool separator() const
Definition: odwindow.h:184
uiDialog::nrVideos
int nrVideos() const
uiStrings::sSaveAsDefault
static uiString sSaveAsDefault()
Definition: uistrings.h:543
uiDialog::setVideoKey
void setVideoKey(const HelpKey &)
uiDialog::setHSpacing
void setHSpacing(int)
uiDialog::button
uiButton * button(Button but)
uiDialog::setCancelText
void setCancelText(const uiString &)
Cancel button disabled when set to empty.
uiDialog::hasSaveButton
bool hasSaveButton() const
uiDialog::RunAndClose
@ RunAndClose
Definition: uidialog.h:149
File::toUiString
Export_Basic uiString toUiString(ViewStyle)
uiDialog::mDeprecated
mDeprecated("Use uiString") void setOkCancelText(const char *ok
uiDialog::go
int go()
uiDialog::mDeprecated
mDeprecated("Use with argument") void done()
Definition: uidialog.h:210
uiDialog::setVSpacing
void setVSpacing(int)
HelpKey
Definition: helpview.h:50
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiDialog::setModal
void setModal(bool yn)
uiDialog::setOkText
void setOkText(const uiString &)
uiDialog::uiResult
int uiResult() const
-1 running, otherwise (int)DoneResult
uimainwin.h
mDefSetupMemb
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:154
uiStrings
Definition: uistrings.h:27
uiDialog::rejectOK
virtual bool rejectOK(CallBacker *)
confirm reject
Definition: uidialog.h:189
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiDialog::setButtonSensitive
void setButtonSensitive(Button, bool)
uiDialog::acceptOK
virtual bool acceptOK(CallBacker *)
confirm accept
Definition: uidialog.h:190
uiDialog::Button
Button
Definition: uidialog.h:126
uiDialog::doneOK
virtual bool doneOK(int)
confirm exit
Definition: uidialog.h:191
bufstring.h
uiDialog::setTitleText
void setTitleText(const uiString &txt)
uiDialog::accept
void accept(CallBacker *cb=0)
uiDialogBody
Definition: odwindow.h:151
uiDialog::setup
const Setup & setup() const
uiDialog::ctrlstyle_
CtrlStyle ctrlstyle_
Definition: uidialog.h:194
uiDialog::mDeprecated
mDeprecated("Use uiString") void setCancelText(const char *txt)
Definition: uidialog.h:207
uiDialog::TitlePos
TitlePos
Definition: uidialog.h:181
mDeprecated
#define mDeprecated(msg)
Definition: plfdefs.h:215
uiDialog::Setup::mDefSetupMemb
mDefSetupMemb(uiString, wintitle) mDefSetupMemb(uiString
uistrings.h
uiDialog::Setup
description of properties of dialog.
Definition: uidialog.h:50
Setup
Definition: ceemdalgo.h:161
uiDialogBody::done
void done(int i)
uiDialog::DoneResult
DoneResult
Definition: uidialog.h:136
uiDialog::mDeprecated
mDeprecated("Use with enum") void done(int i)
Definition: uidialog.h:212
Notifier< uiDialog >
uiDialog::setSeparator
void setSeparator(bool yn)
Separator between central dialog and OK/Cancel bar?
uiDialog::setTitlePos
static void setTitlePos(TitlePos)
uiDialog::setBorder
void setBorder(int)
uiDialog::reject
void reject(CallBacker *cb=0)
uiDialog::mDeprecated
mDeprecated("Use with enum") static void setTitlePos(int i)
Definition: uidialog.h:214
uiDialog::mDeprecated
mDeprecated("Use uiString") void setTitleText(const char *txt)
Definition: uidialog.h:198
uiDialog::saveButtonChecked
bool saveButtonChecked() const
uiMainWinBody::modal_
bool modal_
Definition: odwindow.h:130
uiDialog::isModal
bool isModal() const
uiDialog::applyPushed
Notifier< uiDialog > applyPushed
Definition: uidialog.h:185
uiDialog::setOkCancelText
void setOkCancelText(const uiString &ok, const uiString &cnl)
uiDialog::getCtrlStyle
CtrlStyle getCtrlStyle() const
OK button disabled when set to CloseOnly.
Definition: uidialog.h:153
uiMainWinBody::menubar_
uiMenuBar * menubar_
Definition: odwindow.h:117
uiDialog::titlepos_
static TitlePos titlepos_
Definition: uidialog.h:195
uiDialog::done
void done(DoneResult)
uiDialogBody::setOkCancelText
void setOkCancelText(const uiString &, const uiString &)
uiDialog::setHelpKey
void setHelpKey(const HelpKey &)
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.
uiDialog::helpKey
virtual HelpKey helpKey() const
uiDialog::mDeprecated
mDeprecated("Use uiString") void setOkText(const char *txt)
Definition: uidialog.h:204
uiDialog::setButtonText
void setButtonText(Button but, const uiString &txt)
uiDialog::separator
bool separator() const
uiDialogBody::setTitleText
void setTitleText(const uiString &txt)
uiDialog::enableSaveButton
void enableSaveButton(const uiString &txt=uiStrings::sSaveAsDefault())
Save button enabled when set to non-empty.
uiDialog::removeVideo
void removeVideo(int)
uiParent
Definition: uiparent.h:26
uiDialog::setVideoKey
void setVideoKey(const HelpKey &, int idx)
uiDialog::setCtrlStyle
void setCtrlStyle(CtrlStyle)
On construction, it's (of course) OkAndCancel.
uiDialog::cancelpushed_
bool cancelpushed_
Definition: uidialog.h:193
uiDialog
Definition: uidialog.h:42
uiDialog::videoKey
HelpKey videoKey(int idx=0) const
od_helpids.h
uiDialog::titlePos
static TitlePos titlePos()
uiDialog::uiDialog
uiDialog(uiParent *, const Setup &)
private
#define private
Definition: winstreambuf.h:13
mNoHelpKey
#define mNoHelpKey
Definition: uidialog.h:38
helpview.h
uiDialog::Setup::mDeprecated
mDeprecated("Use uiString and HelpKey object") Setup(const char *window_title

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