VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkSliderRepresentation.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 =========================================================================*/ 00037 #ifndef __vtkSliderRepresentation_h 00038 #define __vtkSliderRepresentation_h 00039 00040 #include "vtkWidgetRepresentation.h" 00041 00042 00043 class VTK_WIDGETS_EXPORT vtkSliderRepresentation : public vtkWidgetRepresentation 00044 { 00045 public: 00047 00048 vtkTypeMacro(vtkSliderRepresentation,vtkWidgetRepresentation); 00049 void PrintSelf(ostream& os, vtkIndent indent); 00051 00053 00055 void SetValue(double value); 00056 vtkGetMacro(Value,double); 00058 00060 00063 void SetMinimumValue(double value); 00064 vtkGetMacro(MinimumValue,double); 00066 00068 00071 void SetMaximumValue(double value); 00072 vtkGetMacro(MaximumValue,double); 00074 00076 00078 vtkSetClampMacro(SliderLength,double,0.01,0.5); 00079 vtkGetMacro(SliderLength,double); 00081 00083 00087 vtkSetClampMacro(SliderWidth,double,0.0,1.0); 00088 vtkGetMacro(SliderWidth,double); 00090 00092 00094 vtkSetClampMacro(TubeWidth,double,0.0,1.0); 00095 vtkGetMacro(TubeWidth,double); 00097 00099 00102 vtkSetClampMacro(EndCapLength,double,0.0,0.25); 00103 vtkGetMacro(EndCapLength,double); 00105 00107 00109 vtkSetClampMacro(EndCapWidth,double,0.0,0.25); 00110 vtkGetMacro(EndCapWidth,double); 00112 00114 00116 virtual void SetTitleText(const char*) {} 00117 virtual const char* GetTitleText() {return NULL;} 00119 00121 00122 vtkSetStringMacro(LabelFormat); 00123 vtkGetStringMacro(LabelFormat); 00125 00127 00129 vtkSetClampMacro(LabelHeight,double,0.0,2.0); 00130 vtkGetMacro(LabelHeight,double); 00132 00134 00136 vtkSetClampMacro(TitleHeight,double,0.0,2.0); 00137 vtkGetMacro(TitleHeight,double); 00139 00141 00143 vtkSetMacro(ShowSliderLabel,int); 00144 vtkGetMacro(ShowSliderLabel,int); 00145 vtkBooleanMacro(ShowSliderLabel,int); 00147 00149 00151 virtual double GetCurrentT() 00152 {return this->CurrentT;} 00153 virtual double GetPickedT() 00154 {return this->PickedT;} 00156 00157 //BTX 00158 // Enums are used to describe what is selected 00159 enum _InteractionState 00160 { 00161 Outside=0, 00162 Tube, 00163 LeftCap, 00164 RightCap, 00165 Slider 00166 }; 00167 //ETX 00168 00169 protected: 00170 vtkSliderRepresentation(); 00171 ~vtkSliderRepresentation(); 00172 00173 // Values 00174 double Value; 00175 double MinimumValue; 00176 double MaximumValue; 00177 00178 // More ivars controlling the appearance of the widget 00179 double SliderLength; 00180 double SliderWidth; 00181 double EndCapLength; 00182 double EndCapWidth; 00183 double TubeWidth; 00184 00185 // The current parametric coordinate 00186 double CurrentT; 00187 double PickedT; 00188 00189 // both the title and label 00190 int ShowSliderLabel; 00191 char *LabelFormat; 00192 double LabelHeight; 00193 double TitleHeight; 00194 00195 private: 00196 vtkSliderRepresentation(const vtkSliderRepresentation&); //Not implemented 00197 void operator=(const vtkSliderRepresentation&); //Not implemented 00198 }; 00199 00200 #endif