00001 #ifndef __vtkKWMyWindow_h 00002 #define __vtkKWMyWindow_h 00003 00004 #include "vtkKWWindow.h" 00005 00006 class vtkKWRenderWidget; 00007 class vtkImageViewer2; 00008 class vtkKWScale; 00009 class vtkKWWindowLevelPresetSelector; 00010 class vtkKWSimpleAnimationWidget; 00011 00012 class vtkKWMyWindow : public vtkKWWindow 00013 { 00014 public: 00015 static vtkKWMyWindow* New(); 00016 vtkTypeRevisionMacro(vtkKWMyWindow,vtkKWWindow); 00017 00018 // Description: 00019 // Callbacks 00020 virtual void SetSliceFromScaleCallback(double value); 00021 virtual void SetSliceCallback(int slice); 00022 virtual int GetSliceCallback(); 00023 virtual int GetSliceMinCallback(); 00024 virtual int GetSliceMaxCallback(); 00025 virtual void SetSliceOrientationToXYCallback(); 00026 virtual void SetSliceOrientationToXZCallback(); 00027 virtual void SetSliceOrientationToYZCallback(); 00028 virtual void WindowLevelPresetApplyCallback(int id); 00029 virtual int WindowLevelPresetAddCallback(); 00030 virtual void WindowLevelPresetUpdateCallback(int id); 00031 virtual void WindowLevelPresetHasChangedCallback(int id); 00032 00033 protected: 00034 vtkKWMyWindow(); 00035 ~vtkKWMyWindow(); 00036 00037 // Description: 00038 // Create the widget. 00039 virtual void CreateWidget(); 00040 00041 vtkImageViewer2 *ImageViewer; 00042 vtkKWScale *SliceScale; 00043 vtkKWWindowLevelPresetSelector *WindowLevelPresetSelector; 00044 vtkKWRenderWidget *RenderWidget; 00045 vtkKWSimpleAnimationWidget *AnimationWidget; 00046 00047 virtual void UpdateSliceRanges(); 00048 00049 private: 00050 vtkKWMyWindow(const vtkKWMyWindow&); // Not implemented. 00051 void operator=(const vtkKWMyWindow&); // Not implemented. 00052 }; 00053 00054 #endif