OpendTect  6.3
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 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uibasemod.h"
14 
15 #include "uimainwin.h"
16 #include "uistrings.h"
17 
18 #include "bufstring.h"
19 #include "helpview.h"
20 #include "od_helpids.h"
21 
22 class uiButton;
23 
35 #define mNoDlgTitle uiString::emptyString()
36 #define mTODOHelpKey HelpKey( 0, toString(-1) )
37 #define mNoHelpKey HelpKey::emptyHelpKey()
38 
39 
40 mExpClass(uiBase) uiDialog : public uiMainWin
41 {
42  // impl: uimainwin.cc
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  , savetext_(uiStrings::sSaveAsDefault())
59  , oktext_( uiStrings::sOk() )
60  , canceltext_( uiStrings::sCancel() )
61  , modal_(true) // if no parent given, always non-modal
62  , applybutton_(false)
63  , applytext_(uiStrings::sApply())
64  , savebutton_(false), savebutispush_(false)
65  , separator_(true), menubar_(false), nrstatusflds_(0)
66  , mainwidgcentered_(false), savechecked_(false)
67  , fixedsize_(false), okcancelrev_(false)
68  {}
69 
70  mDefSetupMemb(uiString,wintitle)
71  mDefSetupMemb(uiString,dlgtitle)
72  mDefSetupMemb(HelpKey,helpkey)
73  mDefSetupMemb(uiString,savetext)
74  mDefSetupMemb(uiString,oktext)
75  mDefSetupMemb(uiString,canceltext)
76  mDefSetupMemb(uiString,applytext)
77  mDefSetupMemb(bool,modal)
78  mDefSetupMemb(bool,applybutton)
79  mDefSetupMemb(bool,savebutton)
80  mDefSetupMemb(bool,savebutispush)
81  mDefSetupMemb(bool,separator)
82  mDefSetupMemb(bool,savechecked)
83  mDefSetupMemb(bool,menubar)
84  mDefSetupMemb(bool,mainwidgcentered)
85  mDefSetupMemb(bool,fixedsize)
86  mDefSetupMemb(bool,okcancelrev)
87  mDefSetupMemb(int,nrstatusflds)
89 
90  private:
91  Setup( const char* window_title,
92  const char* dialog_title,
93  int help_id )
94  : helpkey_(mNoHelpKey)
95  {}
98 
99  };
100 
101  enum Button { OK, CANCEL, APPLY, HELP, CREDITS, SAVE };
102 
103  uiDialog(uiParent*,const Setup&);
104  const Setup& setup() const;
105 
106  int go();
107  int goMinimized();
108 
109  void reject( CallBacker* cb =0);
110  void accept( CallBacker* cb =0);
111  void done(int ret=0);
113 
114  void setHSpacing( int );
115  void setVSpacing( int );
116  void setBorder( int );
117 
118  void setModal(bool yn);
119  bool isModal() const;
120 
121  uiButton* button( Button but );
122  void setButtonText( Button but, const uiString& txt );
123 
124  enum CtrlStyle { OkAndCancel, RunAndClose, CloseOnly };
126  void setCtrlStyle(CtrlStyle);
128  CtrlStyle getCtrlStyle() const { return ctrlstyle_; }
129  void setOkCancelText(const uiString& ok,const uiString& cnl);
130  void setOkText(const uiString&);
132  void setCancelText(const uiString&);
134  void enableSaveButton(
135  const uiString& txt=uiStrings::sSaveAsDefault());
137  int uiResult() const;
138 
139  void setButtonSensitive(Button,bool);
140  void setSaveButtonChecked(bool);
141  void setTitleText(const uiString& txt);
142  bool hasSaveButton() const;
143  bool saveButtonChecked() const;
144 
145  void setSeparator(bool yn);
147  bool separator() const;
148  void setHelpKey(const HelpKey&);
149  virtual HelpKey helpKey() const;
150 
151  void showMinMaxButtons();
152  void showAlwaysOnTop();
153  static int titlePos();
154  static void setTitlePos(int pos);
155  // pos: -1 = left, 0 = center, 1 = right
156 
158 
159  void acceptOKCB( CallBacker* cb ) { acceptOK(); }
160  void rejectOKCB( CallBacker* cb ) { rejectOK(); }
161 
162 protected:
163 
164  virtual bool rejectOK();
165  virtual bool acceptOK();
166  virtual bool doneOK(int) { return true; }
167 
170  static int titlepos_;
171 };
CtrlStyle
Definition: uidialog.h:124
#define mExpClass(module)
Definition: commondefs.h:157
User interface main window.
Definition: uimainwin.h:34
description of properties of dialog.
Definition: uidialog.h:49
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
#define mNoHelpKey
Definition: uidialog.h:37
Definition: uidialog.h:124
Button
Definition: uidialog.h:101
Definition: uistrings.h:22
virtual bool doneOK(int)
confirm exit
Definition: uidialog.h:166
Definition: uistring.h:88
Definition: uiparent.h:24
Definition: helpview.h:47
Definition: uidialog.h:40
void rejectOKCB(CallBacker *cb)
Definition: uidialog.h:160
static uiString sSaveAsDefault()
Definition: uistrings.h:452
static int titlepos_
Definition: uidialog.h:170
#define mDefSetupMemb(typ, memb)
Definition: commondefs.h:129
CtrlStyle ctrlstyle_
Definition: uidialog.h:169
Notifier< uiDialog > applyPushed
Definition: uidialog.h:157
void acceptOKCB(CallBacker *cb)
Definition: uidialog.h:159
bool cancelpushed_
Definition: uidialog.h:168
Setup(const char *window_title, const char *dialog_title, int help_id)
nrstatusflds == -1: Make a statusbar, but don&#39;t add msg fields.
Definition: uidialog.h:91
CtrlStyle getCtrlStyle() const
OK button disabled when set to CloseOnly.
Definition: uidialog.h:128
Setup(const uiString &window_title, const uiString &dialog_title, const HelpKey &help_key)
Definition: uidialog.h:52

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