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 void CreateDefaultRepresentation(); 00106 00108 double GetValue() { return this->Value; }; 00109 00110 protected: 00111 vtkCenteredSliderWidget(); 00112 ~vtkCenteredSliderWidget() {} 00113 00114 // These are the events that are handled 00115 static void SelectAction(vtkAbstractWidget*); 00116 static void EndSelectAction(vtkAbstractWidget*); 00117 static void MoveAction(vtkAbstractWidget*); 00118 static void TimerAction(vtkAbstractWidget*); 00119 00120 //BTX - manage the state of the widget 00121 int WidgetState; 00122 enum _WidgetState 00123 { 00124 Start=0, 00125 Sliding 00126 }; 00127 //ETX 00128 00129 int TimerId; 00130 int TimerDuration; 00131 double StartTime; 00132 double Value; 00133 00134 private: 00135 vtkCenteredSliderWidget(const vtkCenteredSliderWidget&); //Not implemented 00136 void operator=(const vtkCenteredSliderWidget&); //Not implemented 00137 }; 00138 00139 #endif