00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00020 #ifndef __vtkKWTopLevel_h
00021 #define __vtkKWTopLevel_h
00022
00023 #include "vtkKWCoreWidget.h"
00024
00025 class vtkKWMenu;
00026
00027 class KWWIDGETS_EXPORT vtkKWTopLevel : public vtkKWCoreWidget
00028 {
00029 public:
00030 static vtkKWTopLevel* New();
00031 vtkTypeRevisionMacro(vtkKWTopLevel,vtkKWCoreWidget);
00032 void PrintSelf(ostream& os, vtkIndent indent);
00033
00035
00038 vtkSetStringMacro(WindowClass);
00039 vtkGetStringMacro(WindowClass);
00041
00043
00049 virtual void SetMasterWindow(vtkKWWidget* win);
00050 vtkGetObjectMacro(MasterWindow, vtkKWWidget);
00052
00057 virtual void Create(vtkKWApplication *app);
00058
00061 virtual void Display();
00062
00065 virtual void Withdraw();
00066
00068
00071 vtkSetClampMacro(Modal, int, 0, 1);
00072 vtkBooleanMacro(Modal, int);
00073 vtkGetMacro(Modal, int);
00075
00077
00091 enum
00092 {
00093 DisplayPositionDefault = 0,
00094 DisplayPositionMasterWindowCenter = 1,
00095 DisplayPositionMasterWindowCenterFirst = 2,
00096 DisplayPositionScreenCenter = 3,
00097 DisplayPositionScreenCenterFirst = 4,
00098 DisplayPositionPointer = 5
00099 };
00100
00101 vtkSetClampMacro(DisplayPosition, int,
00102 vtkKWTopLevel::DisplayPositionDefault,
00103 vtkKWTopLevel::DisplayPositionPointer);
00104 vtkGetMacro(DisplayPosition, int);
00105 virtual void SetDisplayPositionToDefault()
00106 { this->SetDisplayPosition(
00107 vtkKWTopLevel::DisplayPositionDefault); };
00108 virtual void SetDisplayPositionToMasterWindowCenter()
00109 { this->SetDisplayPosition(
00110 vtkKWTopLevel::DisplayPositionMasterWindowCenter); };
00111 virtual void SetDisplayPositionToMasterWindowCenterFirst()
00112 { this->SetDisplayPosition(
00113 vtkKWTopLevel::DisplayPositionMasterWindowCenterFirst); };
00114 virtual void SetDisplayPositionToScreenCenter()
00115 { this->SetDisplayPosition(
00116 vtkKWTopLevel::DisplayPositionScreenCenter); };
00117 virtual void SetDisplayPositionToScreenCenterFirst()
00118 { this->SetDisplayPosition(
00119 vtkKWTopLevel::DisplayPositionScreenCenterFirst); };
00120 virtual void SetDisplayPositionToPointer()
00121 { this->SetDisplayPosition(
00122 vtkKWTopLevel::DisplayPositionPointer); };
00124
00127 virtual void DeIconify();
00128
00131 virtual void Raise();
00132
00134
00135 virtual void SetTitle(const char *);
00136 vtkGetStringMacro(Title);
00138
00140
00143 virtual int SetPosition(int x, int y);
00144 virtual int GetPosition(int *x, int *y);
00146
00148
00151 virtual int SetSize(int w, int h);
00152 virtual int GetSize(int *w, int *h);
00154
00156
00157 virtual int GetWidth();
00158 virtual int GetHeight();
00160
00162
00167 virtual int SetMinimumSize(int w, int h);
00168 virtual int GetMinimumSize(int *w, int *h);
00170
00172
00178 virtual int SetGeometry(const char *);
00179 virtual const char* GetGeometry();
00181
00183
00187 virtual void SetHideDecoration(int);
00188 vtkGetMacro(HideDecoration, int);
00189 vtkBooleanMacro(HideDecoration, int);
00191
00194 vtkKWMenu *GetMenu();
00195
00197
00202 virtual void SetDeleteWindowProtocolCommand(
00203 vtkObject *obj, const char *command);
00205
00208 virtual void SetIconName(const char *name);
00209
00214 virtual void SetResizable(int w, int h);
00215
00222 virtual void UpdateEnableState();
00223
00224 protected:
00225
00226 vtkKWTopLevel();
00227 ~vtkKWTopLevel();
00228
00229 vtkKWWidget *MasterWindow;
00230 vtkKWMenu *Menu;
00231
00232 char *Title;
00233 char *WindowClass;
00234
00235 int HideDecoration;
00236 int Modal;
00237 int DisplayPosition;
00238
00240
00244 virtual int GetRequestedWidth();
00245 virtual int GetRequestedHeight();
00247
00250 virtual int ComputeDisplayPosition(int *x, int *y);
00251
00256 virtual void PostCreate();
00257
00258 private:
00259 vtkKWTopLevel(const vtkKWTopLevel&);
00260 void operator=(const vtkKWTopLevel&);
00261 };
00262
00263 #endif