VTK  9.1.0
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 =========================================================================*/
66 #ifndef vtkSliderWidget_h
67 #define vtkSliderWidget_h
68 
69 #include "vtkAbstractWidget.h"
70 #include "vtkInteractionWidgetsModule.h" // For export macro
71 
73 
74 class VTKINTERACTIONWIDGETS_EXPORT vtkSliderWidget : public vtkAbstractWidget
75 {
76 public:
80  static vtkSliderWidget* New();
81 
83 
87  void PrintSelf(ostream& os, vtkIndent indent) override;
89 
96  {
97  this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
98  }
99 
104  {
105  return reinterpret_cast<vtkSliderRepresentation*>(this->WidgetRep);
106  }
107 
109 
116  vtkSetClampMacro(AnimationMode, int, AnimateOff, Animate);
117  vtkGetMacro(AnimationMode, int);
118  void SetAnimationModeToOff() { this->SetAnimationMode(AnimateOff); }
119  void SetAnimationModeToJump() { this->SetAnimationMode(Jump); }
120  void SetAnimationModeToAnimate() { this->SetAnimationMode(Animate); }
122 
124 
128  vtkSetClampMacro(NumberOfAnimationSteps, int, 1, VTK_INT_MAX);
129  vtkGetMacro(NumberOfAnimationSteps, int);
131 
136 
137 protected:
139  ~vtkSliderWidget() override = default;
140 
141  // These are the events that are handled
145  void AnimateSlider(int selectionState);
146 
147  // Manage the state of the widget
150  {
151  Start = 0,
153  Animating
154  };
155 
159  {
162  Animate
163  };
164 
165 private:
166  vtkSliderWidget(const vtkSliderWidget&) = delete;
167  void operator=(const vtkSliderWidget&) = delete;
168 };
169 
170 #endif
define the API for widget / widget representation
vtkWidgetRepresentation * WidgetRep
a simple class to control print indentation
Definition: vtkIndent.h:34
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_INT_MAX
Definition: vtkType.h:155