00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00025 #ifndef __vtkKWWidget_h
00026 #define __vtkKWWidget_h
00027
00028 #include "vtkKWObject.h"
00029
00030 class vtkKWWindowBase;
00031 class vtkKWDragAndDropTargetSet;
00032 class vtkKWWidgetInternals;
00033 class vtkKWBalloonHelpManager;
00034 class vtkKWIcon;
00035
00036 class KWWIDGETS_EXPORT vtkKWWidget : public vtkKWObject
00037 {
00038 public:
00039 static vtkKWWidget* New();
00040 vtkTypeRevisionMacro(vtkKWWidget,vtkKWObject);
00041 void PrintSelf(ostream& os, vtkIndent indent);
00042
00044
00045 virtual void SetParent(vtkKWWidget *p);
00046 vtkGetObjectMacro(Parent, vtkKWWidget);
00048
00052 virtual void Create(vtkKWApplication *app);
00053
00055
00060 virtual const char *GetWidgetName();
00061 vtkSetStringMacro(WidgetName);
00063
00065 virtual int IsCreated();
00066
00069 virtual int IsAlive();
00070
00072 virtual int IsMapped();
00073
00075 virtual void Focus();
00076
00078
00079 virtual void SetEnabled(int);
00080 vtkBooleanMacro(Enabled, int);
00081 vtkGetMacro(Enabled, int);
00083
00085
00091 virtual void SetBinding(
00092 const char *event, vtkObject *object, const char *method);
00093 virtual void SetBinding(
00094 const char *event, const char *command);
00095 virtual void AddBinding(
00096 const char *event, vtkObject *object, const char *method);
00097 virtual void AddBinding(
00098 const char *event, const char *command);
00099 virtual void RemoveBinding(const char *event);
00100 virtual void RemoveBinding(
00101 const char *event, vtkObject *object, const char *method);
00103
00107 vtkKWWindowBase* GetParentWindow();
00108
00110
00111 virtual int IsPacked();
00112 virtual int GetNumberOfPackedChildren();
00114
00116
00118 virtual void Unpack();
00119 virtual void UnpackSiblings();
00120 virtual void UnpackChildren();
00122
00124
00130 virtual void SetBalloonHelpString(const char *str);
00131 vtkGetStringMacro(BalloonHelpString);
00132 virtual void SetBalloonHelpIcon(vtkKWIcon *icon);
00133 vtkGetObjectMacro(BalloonHelpIcon, vtkKWIcon);
00135
00137
00146 virtual vtkKWBalloonHelpManager *GetBalloonHelpManager();
00147 virtual void SetBalloonHelpManager(vtkKWBalloonHelpManager *mgr);
00149
00151
00157 virtual int HasDragAndDropTargetSet();
00158 virtual vtkKWDragAndDropTargetSet* GetDragAndDropTargetSet();
00160
00162
00163 virtual void Grab();
00164 virtual void ReleaseGrab();
00165 virtual int IsGrabbed();
00167
00174 virtual void UpdateEnableState();
00175
00177 virtual void UnRegister(vtkObjectBase *o);
00178
00181 virtual int GetNetReferenceCount();
00182
00184
00185 virtual int HasChild(vtkKWWidget *w);
00186 virtual int GetNumberOfChildren();
00187 virtual vtkKWWidget* GetNthChild(int rank);
00188 virtual vtkKWWidget* GetChildWidgetWithName(const char *);
00189 virtual void RemoveAllChildren();
00191
00193
00215 virtual int CreateSpecificTkWidget(
00216 vtkKWApplication *app, const char *type, const char *args = NULL);
00218
00219 protected:
00220 vtkKWWidget();
00221 ~vtkKWWidget();
00222
00224
00225 virtual void AddChild(vtkKWWidget *w);
00226 virtual void RemoveChild(vtkKWWidget *w);
00228
00230 char *WidgetName;
00231
00233 vtkKWWidget *Parent;
00234
00236
00237 char *BalloonHelpString;
00238 vtkKWIcon *BalloonHelpIcon;
00239 vtkKWBalloonHelpManager *BalloonHelpManager;
00240 virtual void AddBalloonHelpBindings();
00242
00244 vtkKWWidgetInternals *Internals;
00245
00249 virtual void PropagateEnableState(vtkKWWidget* widget);
00250
00251 private:
00252
00255 vtkKWDragAndDropTargetSet* DragAndDropTargetSet;
00256
00257 int WidgetIsCreated;
00258 int Enabled;
00259
00260 vtkKWWidget(const vtkKWWidget&);
00261 void operator=(const vtkKWWidget&);
00262 };
00263
00264 #endif