VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCenteredSliderWidget.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 =========================================================================*/ 00076 #ifndef __vtkCenteredSliderWidget_h 00077 #define __vtkCenteredSliderWidget_h 00078 00079 #include "vtkAbstractWidget.h" 00080 00081 class vtkSliderRepresentation; 00082 00083 00084 class VTK_WIDGETS_EXPORT vtkCenteredSliderWidget : public vtkAbstractWidget 00085 { 00086 public: 00088 static vtkCenteredSliderWidget *New(); 00089 00091 00092 vtkTypeMacro(vtkCenteredSliderWidget,vtkAbstractWidget); 00093 void PrintSelf(ostream& os, vtkIndent indent); 00095 00097 00100 void SetRepresentation(vtkSliderRepresentation *r) 00101 {this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));} 00103 00105 00106 vtkSliderRepresentation *GetSliderRepresentation() 00107 {return reinterpret_cast<vtkSliderRepresentation*>(this->WidgetRep);} 00109 00111 void CreateDefaultRepresentation(); 00112 00114 double GetValue() { return this->Value; }; 00115 00116 protected: 00117 vtkCenteredSliderWidget(); 00118 ~vtkCenteredSliderWidget() {} 00119 00120 // These are the events that are handled 00121 static void SelectAction(vtkAbstractWidget*); 00122 static void EndSelectAction(vtkAbstractWidget*); 00123 static void MoveAction(vtkAbstractWidget*); 00124 static void TimerAction(vtkAbstractWidget*); 00125 00126 //BTX - manage the state of the widget 00127 int WidgetState; 00128 enum _WidgetState 00129 { 00130 Start=0, 00131 Sliding 00132 }; 00133 //ETX 00134 00135 int TimerId; 00136 int TimerDuration; 00137 double StartTime; 00138 double Value; 00139 00140 private: 00141 vtkCenteredSliderWidget(const vtkCenteredSliderWidget&); //Not implemented 00142 void operator=(const vtkCenteredSliderWidget&); //Not implemented 00143 }; 00144 00145 #endif