00001 #ifndef __vtkPluginFilterWatcher_h 00002 #define __vtkPluginFilterWatcher_h 00003 00004 #include "vtkCommand.h" 00005 #include "vtkAlgorithm.h" 00006 #include "ModuleProcessInformation.h" 00007 00008 #include "vtkSlicerBaseCLIWin32Header.h" 00009 00010 #include <string> 00011 00046 class vtkPluginWatcherStart; 00047 class vtkPluginWatcherEnd; 00048 class vtkPluginWatcherProgress; 00049 00050 class VTK_SLICER_BASE_CLI_EXPORT vtkPluginFilterWatcher 00051 { 00052 public: 00055 vtkPluginFilterWatcher(vtkAlgorithm* o, 00056 const char *comment="", 00057 ModuleProcessInformation *inf=0, 00058 double fraction = 1.0, 00059 double start = 0.0); 00060 00062 virtual ~vtkPluginFilterWatcher(); 00063 00066 const char *GetNameOfClass () 00067 { 00068 return (Process ? Process->GetClassName() : "None"); 00069 } 00070 00074 void QuietOn() { this->SetQuiet(true);}; 00075 void QuietOff() { this->SetQuiet(false);}; 00076 00079 vtkAlgorithm *GetProcess () {return Process;}; 00080 00082 void SetSteps(int val) {Steps=val;}; 00083 int GetSteps() {return Steps;}; 00084 00086 double GetStart() {return this->Start;}; 00087 double GetFraction() {return this->Fraction;}; 00088 00091 void SetQuiet(bool val); 00092 bool GetQuiet() {return Quiet;}; 00093 00095 std::string GetComment() {return Comment;}; 00096 00098 ModuleProcessInformation *GetProcessInformation() {return this->ProcessInformation;}; 00099 00100 00101 protected: 00102 00103 private: 00104 int Steps; 00105 bool Quiet; 00106 std::string Comment; 00107 vtkAlgorithm *Process; 00108 00109 ModuleProcessInformation *ProcessInformation; 00110 double Fraction; 00111 double Start; 00112 00113 vtkPluginWatcherStart *StartFilterCommand; 00114 vtkPluginWatcherEnd *EndFilterCommand; 00115 vtkPluginWatcherProgress *ProgressFilterCommand; 00116 00117 unsigned long StartTag; 00118 unsigned long EndTag; 00119 unsigned long ProgressTag; 00120 }; 00121 00122 #endif
1.6.1