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=========================================================================*/
175#ifndef vtkSliderWidget_h
176#define vtkSliderWidget_h
177
178#include "vtkAbstractWidget.h"
179#include "vtkInteractionWidgetsModule.h" // For export macro
180
182
183class VTKINTERACTIONWIDGETS_EXPORT vtkSliderWidget : public vtkAbstractWidget
184{
185public:
190
192
196 void PrintSelf(ostream& os, vtkIndent indent) override;
198
205 {
206 this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
207 }
208
213 {
214 return reinterpret_cast<vtkSliderRepresentation*>(this->WidgetRep);
215 }
216
218
225 vtkSetClampMacro(AnimationMode, int, AnimateOff, Animate);
226 vtkGetMacro(AnimationMode, int);
227 void SetAnimationModeToOff() { this->SetAnimationMode(AnimateOff); }
228 void SetAnimationModeToJump() { this->SetAnimationMode(Jump); }
229 void SetAnimationModeToAnimate() { this->SetAnimationMode(Animate); }
231
233
237 vtkSetClampMacro(NumberOfAnimationSteps, int, 1, VTK_INT_MAX);
238 vtkGetMacro(NumberOfAnimationSteps, int);
240
245
246protected:
248 ~vtkSliderWidget() override = default;
249
250 // These are the events that are handled
254 void AnimateSlider(int selectionState);
255
256 // Manage the state of the widget
259 {
260 Start = 0,
262 Animating
263 };
264
268 {
271 Animate
272 };
273
274private:
275 vtkSliderWidget(const vtkSliderWidget&) = delete;
276 void operator=(const vtkSliderWidget&) = delete;
277};
278
279#endif
define the API for widget / widget representation
vtkWidgetRepresentation * WidgetRep
a simple class to control print indentation
Definition: vtkIndent.h:113
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_INT_MAX
Definition: vtkType.h:155