VTK  9.2.5
vtkSliderWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSliderWidget.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
181 #ifndef vtkSliderWidget_h
182 #define vtkSliderWidget_h
183 
184 #include "vtkAbstractWidget.h"
185 #include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_2_0
186 #include "vtkInteractionWidgetsModule.h" // For export macro
187 
189 
190 class VTKINTERACTIONWIDGETS_EXPORT vtkSliderWidget : public vtkAbstractWidget
191 {
192 public:
196  static vtkSliderWidget* New();
197 
199 
203  void PrintSelf(ostream& os, vtkIndent indent) override;
205 
212  {
213  this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
214  }
215 
220  {
221  return reinterpret_cast<vtkSliderRepresentation*>(this->WidgetRep);
222  }
223 
225 
232  vtkSetClampMacro(AnimationMode, int, AnimateOff, Animate);
233  vtkGetMacro(AnimationMode, int);
234  void SetAnimationModeToOff() { this->SetAnimationMode(AnimateOff); }
235  void SetAnimationModeToJump() { this->SetAnimationMode(Jump); }
236  void SetAnimationModeToAnimate() { this->SetAnimationMode(Animate); }
238 
240 
244  vtkSetClampMacro(NumberOfAnimationSteps, int, 1, VTK_INT_MAX);
245  vtkGetMacro(NumberOfAnimationSteps, int);
247 
252 
253 protected:
255  ~vtkSliderWidget() override = default;
256 
257  // These are the events that are handled
261  void AnimateSlider(int selectionState);
262 
263  // Manage the state of the widget
266  {
267  Start = 0,
269  Animating
270  };
271 #if !defined(VTK_LEGACY_REMOVE)
272  VTK_DEPRECATED_IN_9_2_0("because leading underscore is reserved")
274 #endif
275 
279  {
282  Animate
283  };
284 
285 private:
286  vtkSliderWidget(const vtkSliderWidget&) = delete;
287  void operator=(const vtkSliderWidget&) = delete;
288 };
289 
290 #endif
define the API for widget / widget representation
vtkWidgetRepresentation * WidgetRep
a simple class to control print indentation
Definition: vtkIndent.h:119
abstract class defines the representation for a vtkSliderWidget
set a value by manipulating a slider
vtkSliderRepresentation * GetSliderRepresentation()
Return the representation as a vtkSliderRepresentation.
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
void SetAnimationModeToOff()
Control the behavior of the slider when selecting the tube or caps.
void SetAnimationModeToJump()
Control the behavior of the slider when selecting the tube or caps.
void AnimateSlider(int selectionState)
void SetAnimationModeToAnimate()
Control the behavior of the slider when selecting the tube or caps.
static vtkSliderWidget * New()
Instantiate the class.
~vtkSliderWidget() override=default
static void SelectAction(vtkAbstractWidget *)
static void EndSelectAction(vtkAbstractWidget *)
void PrintSelf(ostream &os, vtkIndent indent) override
Standard macros.
void SetRepresentation(vtkSliderRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
static void MoveAction(vtkAbstractWidget *)
abstract class defines interface between the widget and widget representation classes
#define VTK_DEPRECATED_IN_9_2_0(reason)
#define VTK_INT_MAX
Definition: vtkType.h:155