VTK
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 =========================================================================*/
66 #ifndef vtkSliderWidget_h
67 #define vtkSliderWidget_h
68 
69 #include "vtkInteractionWidgetsModule.h" // For export macro
70 #include "vtkAbstractWidget.h"
71 
73 
74 
75 class VTKINTERACTIONWIDGETS_EXPORT vtkSliderWidget : public vtkAbstractWidget
76 {
77 public:
81  static vtkSliderWidget *New();
82 
84 
88  void PrintSelf(ostream& os, vtkIndent indent) override;
90 
97  {this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));}
98 
103  {return reinterpret_cast<vtkSliderRepresentation*>(this->WidgetRep);}
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 
132  void CreateDefaultRepresentation() override;
133 
134 protected:
135  vtkSliderWidget();
136  ~vtkSliderWidget() override {}
137 
138  // These are the events that are handled
139  static void SelectAction(vtkAbstractWidget*);
140  static void EndSelectAction(vtkAbstractWidget*);
141  static void MoveAction(vtkAbstractWidget*);
142  void AnimateSlider(int selectionState);
143 
144  // Manage the state of the widget
147  {
148  Start=0,
150  Animating
151  };
152 
158  Animate
159  };
160 
161 
162 
163 private:
164  vtkSliderWidget(const vtkSliderWidget&) = delete;
165  void operator=(const vtkSliderWidget&) = delete;
166 };
167 
168 #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:159
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.