00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCheckerboardWidget.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00051 #ifndef __vtkCheckerboardWidget_h 00052 #define __vtkCheckerboardWidget_h 00053 00054 #include "vtkAbstractWidget.h" 00055 00056 class vtkCheckerboardRepresentation; 00057 class vtkSliderWidget; 00058 00059 00060 class VTK_WIDGETS_EXPORT vtkCheckerboardWidget : public vtkAbstractWidget 00061 { 00062 public: 00064 static vtkCheckerboardWidget *New(); 00065 00067 00068 vtkTypeMacro(vtkCheckerboardWidget,vtkAbstractWidget); 00069 void PrintSelf(ostream& os, vtkIndent indent); 00071 00075 virtual void SetEnabled(int); 00076 00078 00081 void SetRepresentation(vtkCheckerboardRepresentation *r) 00082 {this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));} 00084 00086 void CreateDefaultRepresentation(); 00087 00088 protected: 00089 vtkCheckerboardWidget(); 00090 ~vtkCheckerboardWidget(); 00091 00092 // The four slider widgets 00093 vtkSliderWidget *TopSlider; 00094 vtkSliderWidget *RightSlider; 00095 vtkSliderWidget *BottomSlider; 00096 vtkSliderWidget *LeftSlider; 00097 00098 // Callback interface 00099 void StartCheckerboardInteraction(); 00100 void CheckerboardInteraction(int sliderNum); 00101 void EndCheckerboardInteraction(); 00102 00103 //BTX 00104 friend class vtkCWCallback; 00105 //ETX 00106 00107 private: 00108 vtkCheckerboardWidget(const vtkCheckerboardWidget&); //Not implemented 00109 void operator=(const vtkCheckerboardWidget&); //Not implemented 00110 }; 00111 00112 #endif