VTK  9.0.1
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 =========================================================================*/
75 #ifndef vtkSliderWidget_h
76 #define vtkSliderWidget_h
77 
78 #include "vtkAbstractWidget.h"
79 #include "vtkInteractionWidgetsModule.h" // For export macro
80 
82 
83 class VTKINTERACTIONWIDGETS_EXPORT vtkSliderWidget : public vtkAbstractWidget
84 {
85 public:
89  static vtkSliderWidget* New();
90 
92 
96  void PrintSelf(ostream& os, vtkIndent indent) override;
98 
105  {
106  this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
107  }
108 
113  {
114  return reinterpret_cast<vtkSliderRepresentation*>(this->WidgetRep);
115  }
116 
118 
125  vtkSetClampMacro(AnimationMode, int, AnimateOff, Animate);
126  vtkGetMacro(AnimationMode, int);
127  void SetAnimationModeToOff() { this->SetAnimationMode(AnimateOff); }
128  void SetAnimationModeToJump() { this->SetAnimationMode(Jump); }
129  void SetAnimationModeToAnimate() { this->SetAnimationMode(Animate); }
131 
133 
137  vtkSetClampMacro(NumberOfAnimationSteps, int, 1, VTK_INT_MAX);
138  vtkGetMacro(NumberOfAnimationSteps, int);
140 
144  void CreateDefaultRepresentation() override;
145 
146 protected:
147  vtkSliderWidget();
148  ~vtkSliderWidget() override {}
149 
150  // These are the events that are handled
151  static void SelectAction(vtkAbstractWidget*);
152  static void EndSelectAction(vtkAbstractWidget*);
153  static void MoveAction(vtkAbstractWidget*);
154  void AnimateSlider(int selectionState);
155 
156  // Manage the state of the widget
159  {
160  Start = 0,
162  Animating
163  };
164 
168  {
171  Animate
172  };
173 
174 private:
175  vtkSliderWidget(const vtkSliderWidget&) = delete;
176  void operator=(const vtkSliderWidget&) = delete;
177 };
178 
179 #endif
vtkSliderRepresentation * GetSliderRepresentation()
Return the representation as a vtkSliderRepresentation.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard macros implementing standard VTK methods.
#define VTK_INT_MAX
Definition: vtkType.h:155
void SetRepresentation(vtkSliderRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
virtual void CreateDefaultRepresentation()=0
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.
a simple class to control print indentation
Definition: vtkIndent.h:33
void SetAnimationModeToAnimate()
Control the behavior of the slider when selecting the tube or caps.
~vtkSliderWidget() override
abstract class defines the representation for a vtkSliderWidget
set a value by manipulating a slider
define the API for widget / widget representation
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.