]> Creatis software - bbtk.git/blob - packages/kw/src/vtkKWSlicer.h
431eb6d2e9107ef4acb3e53ca7ffabe123c12b85
[bbtk.git] / packages / kw / src / vtkKWSlicer.h
1 #ifdef USE_KWWIDGETS
2
3 #ifndef __vtkKWSlicer_h
4 #define __vtkKWSlicer_h
5
6
7 #include "vtkKWFrame.h"
8
9 class vtkImageData;
10 class vtkKWRenderWidget;
11 class vtkImageViewer2;
12 class vtkKWScale;
13 class vtkKWWindowLevelPresetSelector;
14 class vtkKWSimpleAnimationWidget;
15
16 namespace bbkw
17 {
18
19 class vtkKWSlicer : public vtkKWFrame
20 {
21 public:
22   static vtkKWSlicer* New();
23   vtkTypeRevisionMacro(vtkKWSlicer,vtkKWFrame);
24
25   void SetImage(vtkImageData*);
26
27   // Description:
28   // Callbacks
29   virtual void SetSliceFromScaleCallback(double value);
30   virtual void SetSliceCallback(int slice);
31   virtual int  GetSliceCallback();
32   virtual int  GetSliceMinCallback();
33   virtual int  GetSliceMaxCallback();
34   virtual void SetSliceOrientationToXYCallback();
35   virtual void SetSliceOrientationToXZCallback();
36   virtual void SetSliceOrientationToYZCallback();
37   virtual void WindowLevelPresetApplyCallback(int id);
38   virtual int  WindowLevelPresetAddCallback();
39   virtual void WindowLevelPresetUpdateCallback(int id);
40   virtual void WindowLevelPresetHasChangedCallback(int id);
41
42 protected:
43   vtkKWSlicer();
44   ~vtkKWSlicer();
45
46   // Description:
47   // Create the widget.
48   virtual void CreateWidget();
49
50   vtkImageViewer2                *ImageViewer; 
51   vtkKWScale                     *SliceScale;
52   vtkKWWindowLevelPresetSelector *WindowLevelPresetSelector;
53   vtkKWRenderWidget              *RenderWidget;
54   vtkKWSimpleAnimationWidget     *AnimationWidget;
55
56   virtual void UpdateSliceRanges();
57
58 private:
59   vtkKWSlicer(const vtkKWSlicer&);   // Not implemented.
60   void operator=(const vtkKWSlicer&);  // Not implemented.
61 };
62
63 }
64 #endif
65 #endif