VTK  9.3.0
vtkSliderWidget.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
60 #ifndef vtkSliderWidget_h
61 #define vtkSliderWidget_h
62 
63 #include "vtkAbstractWidget.h"
64 #include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_2_0
65 #include "vtkInteractionWidgetsModule.h" // For export macro
66 #include "vtkLegacy.h" // for VTK_LEGACY_REMOVE
67 
68 VTK_ABI_NAMESPACE_BEGIN
70 
71 class VTKINTERACTIONWIDGETS_EXPORT vtkSliderWidget : public vtkAbstractWidget
72 {
73 public:
77  static vtkSliderWidget* New();
78 
80 
84  void PrintSelf(ostream& os, vtkIndent indent) override;
86 
93  {
94  this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
95  }
96 
101  {
102  return reinterpret_cast<vtkSliderRepresentation*>(this->WidgetRep);
103  }
104 
106 
113  vtkSetClampMacro(AnimationMode, int, AnimateOff, Animate);
114  vtkGetMacro(AnimationMode, int);
115  void SetAnimationModeToOff() { this->SetAnimationMode(AnimateOff); }
116  void SetAnimationModeToJump() { this->SetAnimationMode(Jump); }
117  void SetAnimationModeToAnimate() { this->SetAnimationMode(Animate); }
119 
121 
125  vtkSetClampMacro(NumberOfAnimationSteps, int, 1, VTK_INT_MAX);
126  vtkGetMacro(NumberOfAnimationSteps, int);
128 
133 
134 protected:
136  ~vtkSliderWidget() override = default;
137 
138  // These are the events that are handled
142  void AnimateSlider(int selectionState);
143 
144  // Manage the state of the widget
147  {
148  Start = 0,
150  Animating
151  };
152 #if !defined(VTK_LEGACY_REMOVE)
153  VTK_DEPRECATED_IN_9_2_0("because leading underscore is reserved")
155 #endif
156 
160  {
163  Animate
164  };
165 
166 private:
167  vtkSliderWidget(const vtkSliderWidget&) = delete;
168  void operator=(const vtkSliderWidget&) = delete;
169 };
170 
171 VTK_ABI_NAMESPACE_END
172 #endif
define the API for widget / widget representation
vtkWidgetRepresentation * WidgetRep
a simple class to control print indentation
Definition: vtkIndent.h:29
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:144