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 
183 class VTKINTERACTIONWIDGETS_EXPORT vtkSliderWidget : public vtkAbstractWidget
184 {
185 public:
189  static vtkSliderWidget* New();
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 
246 protected:
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 
274 private:
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
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