00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __vtkKWMessageDialog_h
00019 #define __vtkKWMessageDialog_h
00020
00021 #include "vtkKWDialog.h"
00022
00023 class vtkKWApplication;
00024 class vtkKWCheckButton;
00025 class vtkKWFrame;
00026 class vtkKWMessage;
00027 class vtkKWLabel;
00028 class vtkKWPushButton;
00029
00030 class KWWidgets_EXPORT vtkKWMessageDialog : public vtkKWDialog
00031 {
00032 public:
00033 static vtkKWMessageDialog* New();
00034 vtkTypeRevisionMacro(vtkKWMessageDialog,vtkKWDialog);
00035 void PrintSelf(ostream& os, vtkIndent indent);
00036
00037
00038
00039 virtual void SetText(const char *);
00040
00041
00042
00043 virtual void SetTextWidth(int);
00044 virtual int GetTextWidth();
00045
00046
00047
00048
00049
00050
00051 enum
00052 {
00053 StatusOther = 100
00054 };
00055
00056
00057
00058
00059
00060
00061 enum
00062 {
00063 StyleMessage = 0,
00064 StyleYesNo,
00065 StyleOkCancel,
00066 StyleOkOtherCancel,
00067 StyleCancel
00068 };
00069
00070 virtual void SetStyle(int);
00071 vtkGetMacro(Style,int);
00072 void SetStyleToMessage();
00073 void SetStyleToYesNo();
00074 void SetStyleToOkCancel();
00075 void SetStyleToOkOtherCancel();
00076 void SetStyleToCancel();
00077
00078
00079
00080
00081 enum
00082 {
00083 RememberYes = 0x00002,
00084 RememberNo = 0x00004,
00085 ErrorIcon = 0x00008,
00086 WarningIcon = 0x00010,
00087 QuestionIcon = 0x00020,
00088 YesDefault = 0x00040,
00089 NoDefault = 0x00080,
00090 OkDefault = 0x00100,
00091 CancelDefault = 0x00200,
00092 Beep = 0x00400,
00093 PackVertically = 0x00800,
00094 InvokeAtPointer = 0x01000,
00095 CustomIcon = 0x02000,
00096 Resizable = 0x04000
00097 };
00098
00099 vtkSetMacro(Options, int);
00100 vtkGetMacro(Options, int);
00101
00102
00103
00104
00105 vtkSetStringMacro(OKButtonText);
00106 vtkGetStringMacro(OKButtonText);
00107
00108
00109
00110
00111 vtkSetStringMacro(CancelButtonText);
00112 vtkGetStringMacro(CancelButtonText);
00113
00114
00115
00116
00117 vtkSetStringMacro(OtherButtonText);
00118 vtkGetStringMacro(OtherButtonText);
00119
00120
00121
00122
00123
00124
00125
00126
00127 static void PopupMessage(vtkKWApplication *app,
00128 vtkKWWidget *masterWin,
00129 const char* title,
00130 const char* message, int options = 0);
00131 static int PopupYesNo(vtkKWApplication *app,
00132 vtkKWWidget *masterWin,
00133 const char* title,
00134 const char* message, int options = 0);
00135 static int PopupYesNo(vtkKWApplication *app,
00136 vtkKWWidget *masterWin,
00137 const char* name,
00138 const char* title, const char* message,
00139 int options = 0);
00140 static int PopupOkCancel(vtkKWApplication *app,
00141 vtkKWWidget *masterWin,
00142 const char* title,
00143 const char* message, int options = 0);
00144
00145
00146
00147 vtkGetObjectMacro(TopFrame, vtkKWFrame);
00148 vtkGetObjectMacro(MessageDialogFrame, vtkKWFrame);
00149 vtkGetObjectMacro(BottomFrame, vtkKWFrame);
00150 vtkGetObjectMacro(Icon, vtkKWLabel);
00151
00152
00153
00154 vtkGetObjectMacro(OKButton, vtkKWPushButton);
00155 vtkGetObjectMacro(CancelButton, vtkKWPushButton);
00156 vtkGetObjectMacro(OtherButton, vtkKWPushButton);
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166 vtkSetStringMacro(DialogName);
00167 vtkGetStringMacro(DialogName);
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177 static int RestoreMessageDialogResponseFromRegistry(
00178 vtkKWApplication *app, const char *dialogname);
00179 static void SaveMessageDialogResponseToRegistry(
00180 vtkKWApplication *app, const char *dialogname, int response);
00181
00182
00183
00184
00185 virtual void Display();
00186
00187
00188
00189
00190
00191
00192
00193
00194 virtual int PreInvoke();
00195 virtual void PostInvoke();
00196
00197
00198
00199 virtual void Other();
00200
00201
00202
00203
00204 virtual void SetIcon();
00205
00206 protected:
00207 vtkKWMessageDialog();
00208 ~vtkKWMessageDialog();
00209
00210
00211
00212 virtual void CreateWidget();
00213
00214 int Style;
00215 int Default;
00216 int Options;
00217 char *DialogName;
00218 char *DialogText;
00219
00220 vtkSetStringMacro(DialogText);
00221 vtkGetStringMacro(DialogText);
00222
00223 vtkKWFrame *TopFrame;
00224 vtkKWFrame *MessageDialogFrame;
00225 vtkKWFrame *BottomFrame;
00226 vtkKWMessage *Message;
00227 vtkKWFrame *ButtonFrame;
00228 vtkKWPushButton *OKButton;
00229 vtkKWPushButton *CancelButton;
00230 vtkKWPushButton *OtherButton;
00231 vtkKWLabel *Icon;
00232 vtkKWFrame *OKFrame;
00233 vtkKWFrame *CancelFrame;
00234 vtkKWFrame *OtherFrame;
00235 vtkKWCheckButton *CheckButton;
00236
00237
00238
00239
00240 int GetRememberMessage();
00241
00242 char* OKButtonText;
00243 char* CancelButtonText;
00244 char* OtherButtonText;
00245
00246
00247
00248 virtual void UpdateButtons();
00249 virtual void PackButtons();
00250 virtual void UpdateMessage();
00251
00252
00253
00254 virtual void Pack();
00255
00256 private:
00257 vtkKWMessageDialog(const vtkKWMessageDialog&);
00258 void operator=(const vtkKWMessageDialog&);
00259 };
00260
00261
00262 #endif