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
66#ifndef vtkSliderWidget_h
67#define vtkSliderWidget_h
68
69#include "vtkAbstractWidget.h"
70#include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_2_0
71#include "vtkInteractionWidgetsModule.h" // For export macro
72#include "vtkLegacy.h" // for VTK_LEGACY_REMOVE
73
74VTK_ABI_NAMESPACE_BEGIN
76
77class VTKINTERACTIONWIDGETS_EXPORT vtkSliderWidget : public vtkAbstractWidget
78{
79public:
84
86
90 void PrintSelf(ostream& os, vtkIndent indent) override;
92
99 {
100 this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
101 }
102
107 {
108 return reinterpret_cast<vtkSliderRepresentation*>(this->WidgetRep);
109 }
110
112
119 vtkSetClampMacro(AnimationMode, int, AnimateOff, Animate);
120 vtkGetMacro(AnimationMode, int);
121 void SetAnimationModeToOff() { this->SetAnimationMode(AnimateOff); }
122 void SetAnimationModeToJump() { this->SetAnimationMode(Jump); }
123 void SetAnimationModeToAnimate() { this->SetAnimationMode(Animate); }
125
127
131 vtkSetClampMacro(NumberOfAnimationSteps, int, 1, VTK_INT_MAX);
132 vtkGetMacro(NumberOfAnimationSteps, int);
134
139
140protected:
142 ~vtkSliderWidget() override = default;
143
144 // These are the events that are handled
148 void AnimateSlider(int selectionState);
149
150 // Manage the state of the widget
153 {
154 Start = 0,
156 Animating
157 };
158#if !defined(VTK_LEGACY_REMOVE)
159 VTK_DEPRECATED_IN_9_2_0("because leading underscore is reserved")
161#endif
162
166 {
169 Animate
170 };
171
172private:
173 vtkSliderWidget(const vtkSliderWidget&) = delete;
174 void operator=(const vtkSliderWidget&) = delete;
175};
176
177VTK_ABI_NAMESPACE_END
178#endif
define the API for widget / widget representation
vtkWidgetRepresentation * WidgetRep
a simple class to control print indentation
Definition vtkIndent.h:38
abstract class defines the representation for a vtkSliderWidget
set a value by manipulating a slider
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.
vtkSliderRepresentation * GetSliderRepresentation()
Return the representation as a vtkSliderRepresentation.
~vtkSliderWidget() override=default
static void SelectAction(vtkAbstractWidget *)
static void EndSelectAction(vtkAbstractWidget *)
void PrintSelf(ostream &os, vtkIndent indent) override
Standard macros.
static vtkSliderWidget * New()
Instantiate the class.
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