00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00025 #ifndef __vtkKWObject_h
00026 #define __vtkKWObject_h
00027
00028 #include "vtkObject.h"
00029
00030 #include "vtkTcl.h"
00031 #include "vtkKWWidgets.h"
00032
00033 class vtkKWApplication;
00034 class vtkCallbackCommand;
00035
00036 class KWWidgets_EXPORT vtkKWObject : public vtkObject
00037 {
00038
00039 public:
00040 static vtkKWObject* New();
00041 vtkTypeRevisionMacro(vtkKWObject,vtkObject);
00042 void PrintSelf(ostream& os, vtkIndent indent);
00043
00045 const char *GetTclName();
00046
00048
00049 vtkGetObjectMacro(Application,vtkKWApplication);
00050 virtual void SetApplication (vtkKWApplication* arg);
00052
00053
00055
00056 virtual const char* Script(const char *EventString, ...);
00057
00059
00061
00073 virtual void AddCallbackCommandObserver(
00074 vtkObject *object, unsigned long event);
00075 virtual void RemoveCallbackCommandObserver(
00076 vtkObject *object, unsigned long event);
00078
00080
00088 virtual void AddCallbackCommandObservers() {};
00089 virtual void RemoveCallbackCommandObservers();
00091
00092
00093
00094 protected:
00095 vtkKWObject();
00096 ~vtkKWObject();
00097
00099
00107 virtual void SetObjectMethodCommand(
00108 char **command, vtkObject *object, const char *method);
00110
00114 virtual void InvokeObjectMethodCommand(const char *command);
00115
00123 virtual vtkCallbackCommand* GetCallbackCommand();
00124
00126
00130 virtual void ProcessCallbackCommandEvents(
00131 vtkObject *caller, unsigned long event, void *calldata);
00133
00135
00140 static void ProcessCallbackCommandEventsFunction(
00141 vtkObject *object, unsigned long event, void *clientdata, void *calldata);
00143
00144
00145
00146 private:
00147
00148 vtkKWApplication *Application;
00149 char *TclName;
00150
00153 vtkCallbackCommand *CallbackCommand;
00154
00155 vtkKWObject(const vtkKWObject&);
00156 void operator=(const vtkKWObject&);
00157 };
00158
00159 #endif
00160
00161