00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00023 #ifndef __vtkKWMessageDialog_h
00024 #define __vtkKWMessageDialog_h
00025
00026 #include "vtkKWDialog.h"
00027
00028 class vtkKWApplication;
00029 class vtkKWCheckButton;
00030 class vtkKWFrame;
00031 class vtkKWMessage;
00032 class vtkKWLabel;
00033 class vtkKWPushButton;
00034
00035 class KWWidgets_EXPORT vtkKWMessageDialog : public vtkKWDialog
00036 {
00037
00038 public:
00039 static vtkKWMessageDialog* New();
00040 vtkTypeRevisionMacro(vtkKWMessageDialog,vtkKWDialog);
00041 void PrintSelf(ostream& os, vtkIndent indent);
00042
00044 virtual void SetText(const char *);
00045
00047
00048 virtual void SetTextWidth(int);
00049 virtual int GetTextWidth();
00051
00053
00056 enum
00057 {
00058 StatusOther = 100
00059 };
00060
00062
00064
00066 enum
00067 {
00068 StyleMessage = 0,
00069 StyleYesNo,
00070 StyleOkCancel,
00071 StyleOkOtherCancel,
00072 StyleCancel
00073 };
00074
00075 virtual void SetStyle(int);
00076 vtkGetMacro(Style,int);
00077 void SetStyleToMessage();
00078 void SetStyleToYesNo();
00079 void SetStyleToOkCancel();
00080 void SetStyleToOkOtherCancel();
00081 void SetStyleToCancel();
00083
00085
00086 enum
00087 {
00088 RememberYes = 0x00002,
00089 RememberNo = 0x00004,
00090 ErrorIcon = 0x00008,
00091 WarningIcon = 0x00010,
00092 QuestionIcon = 0x00020,
00093 YesDefault = 0x00040,
00094 NoDefault = 0x00080,
00095 OkDefault = 0x00100,
00096 CancelDefault = 0x00200,
00097 Beep = 0x00400,
00098 PackVertically = 0x00800,
00099 InvokeAtPointer = 0x01000,
00100 CustomIcon = 0x02000,
00101 Resizable = 0x04000
00102 };
00103
00104 vtkSetMacro(Options, int);
00105 vtkGetMacro(Options, int);
00107
00109
00111 vtkSetStringMacro(OKButtonText);
00112 vtkGetStringMacro(OKButtonText);
00114
00116
00118 vtkSetStringMacro(CancelButtonText);
00119 vtkGetStringMacro(CancelButtonText);
00121
00123
00125 vtkSetStringMacro(OtherButtonText);
00126 vtkGetStringMacro(OtherButtonText);
00128
00130
00136 static void PopupMessage(vtkKWApplication *app,
00137 vtkKWWidget *masterWin,
00138 const char* title,
00139 const char* message, int options = 0);
00140 static int PopupYesNo(vtkKWApplication *app,
00141 vtkKWWidget *masterWin,
00142 const char* title,
00143 const char* message, int options = 0);
00144 static int PopupYesNo(vtkKWApplication *app,
00145 vtkKWWidget *masterWin,
00146 const char* name,
00147 const char* title, const char* message,
00148 int options = 0);
00149 static int PopupOkCancel(vtkKWApplication *app,
00150 vtkKWWidget *masterWin,
00151 const char* title,
00152 const char* message, int options = 0);
00154
00156
00157 vtkGetObjectMacro(TopFrame, vtkKWFrame);
00158 vtkGetObjectMacro(MessageDialogFrame, vtkKWFrame);
00159 vtkGetObjectMacro(BottomFrame, vtkKWFrame);
00160 vtkGetObjectMacro(Icon, vtkKWLabel);
00162
00164
00165 vtkGetObjectMacro(OKButton, vtkKWPushButton);
00166 vtkGetObjectMacro(CancelButton, vtkKWPushButton);
00167 vtkGetObjectMacro(OtherButton, vtkKWPushButton);
00169
00171
00176 vtkSetStringMacro(DialogName);
00177 vtkGetStringMacro(DialogName);
00179
00181
00188 static int RestoreMessageDialogResponseFromRegistry(
00189 vtkKWApplication *app, const char *dialogname);
00190 static void SaveMessageDialogResponseToRegistry(
00191 vtkKWApplication *app, const char *dialogname, int response);
00193
00196 virtual void Display();
00197
00199
00205 virtual int PreInvoke();
00206 virtual void PostInvoke();
00208
00210 virtual void Other();
00211
00214 virtual void SetIcon();
00215
00216
00217
00218 protected:
00219 vtkKWMessageDialog();
00220 ~vtkKWMessageDialog();
00221
00223 virtual void CreateWidget();
00224
00225 int Style;
00226 int Default;
00227 int Options;
00228 char *DialogName;
00229 char *DialogText;
00230
00231 vtkSetStringMacro(DialogText);
00232 vtkGetStringMacro(DialogText);
00233
00234 vtkKWFrame *TopFrame;
00235 vtkKWFrame *MessageDialogFrame;
00236 vtkKWFrame *BottomFrame;
00237 vtkKWMessage *Message;
00238 vtkKWFrame *ButtonFrame;
00239 vtkKWPushButton *OKButton;
00240 vtkKWPushButton *CancelButton;
00241 vtkKWPushButton *OtherButton;
00242 vtkKWLabel *Icon;
00243 vtkKWFrame *OKFrame;
00244 vtkKWFrame *CancelFrame;
00245 vtkKWFrame *OtherFrame;
00246 vtkKWCheckButton *CheckButton;
00247
00250 int GetRememberMessage();
00251
00252 char* OKButtonText;
00253 char* CancelButtonText;
00254 char* OtherButtonText;
00255
00257
00258 virtual void UpdateButtons();
00259 virtual void PackButtons();
00260 virtual void UpdateMessage();
00262
00264 virtual void Pack();
00265
00266
00267
00268 private:
00269 vtkKWMessageDialog(const vtkKWMessageDialog&);
00270 void operator=(const vtkKWMessageDialog&);
00271 };
00272
00273
00274 #endif
00275