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 =========================================================================*/
181 #ifndef vtkSliderWidget_h
182 #define vtkSliderWidget_h
183 
184 #include "vtkAbstractWidget.h"
185 #include "vtkInteractionWidgetsModule.h" // For export macro
186 
188 
189 class VTKINTERACTIONWIDGETS_EXPORT vtkSliderWidget : public vtkAbstractWidget
190 {
191 public:
195  static vtkSliderWidget* New();
196 
198 
202  void PrintSelf(ostream& os, vtkIndent indent) override;
204 
211  {
212  this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
213  }
214 
219  {
220  return reinterpret_cast<vtkSliderRepresentation*>(this->WidgetRep);
221  }
222 
224 
231  vtkSetClampMacro(AnimationMode, int, AnimateOff, Animate);
232  vtkGetMacro(AnimationMode, int);
233  void SetAnimationModeToOff() { this->SetAnimationMode(AnimateOff); }
234  void SetAnimationModeToJump() { this->SetAnimationMode(Jump); }
235  void SetAnimationModeToAnimate() { this->SetAnimationMode(Animate); }
237 
239 
243  vtkSetClampMacro(NumberOfAnimationSteps, int, 1, VTK_INT_MAX);
244  vtkGetMacro(NumberOfAnimationSteps, int);
246 
251 
252 protected:
254  ~vtkSliderWidget() override = default;
255 
256  // These are the events that are handled
260  void AnimateSlider(int selectionState);
261 
262  // Manage the state of the widget
265  {
266  Start = 0,
268  Animating
269  };
270 
274  {
277  Animate
278  };
279 
280 private:
281  vtkSliderWidget(const vtkSliderWidget&) = delete;
282  void operator=(const vtkSliderWidget&) = delete;
283 };
284 
285 #endif
vtkSliderWidget::SetAnimationModeToOff
void SetAnimationModeToOff()
Control the behavior of the slider when selecting the tube or caps.
Definition: vtkSliderWidget.h:233
VTK_INT_MAX
#define VTK_INT_MAX
Definition: vtkType.h:155
vtkSliderWidget::Sliding
@ Sliding
Definition: vtkSliderWidget.h:267
vtkSliderWidget::CreateDefaultRepresentation
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
vtkSliderWidget::AnimationMode
int AnimationMode
Definition: vtkSliderWidget.h:272
vtkSliderWidget::SetRepresentation
void SetRepresentation(vtkSliderRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
Definition: vtkSliderWidget.h:210
vtkAbstractWidget.h
vtkSliderWidget::EndSelectAction
static void EndSelectAction(vtkAbstractWidget *)
vtkWidgetRepresentation
abstract class defines interface between the widget and widget representation classes
Definition: vtkWidgetRepresentation.h:60
vtkAbstractWidget::WidgetRep
vtkWidgetRepresentation * WidgetRep
Definition: vtkAbstractWidget.h:175
vtkSliderWidget::~vtkSliderWidget
~vtkSliderWidget() override=default
vtkAbstractWidget
define the API for widget / widget representation
Definition: vtkAbstractWidget.h:66
vtkSliderWidget::Jump
@ Jump
Definition: vtkSliderWidget.h:276
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:113
vtkSliderWidget::SetAnimationModeToJump
void SetAnimationModeToJump()
Control the behavior of the slider when selecting the tube or caps.
Definition: vtkSliderWidget.h:234
vtkSliderWidget::vtkSliderWidget
vtkSliderWidget()
vtkSliderWidget::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Standard macros.
vtkSliderWidget::SetAnimationModeToAnimate
void SetAnimationModeToAnimate()
Control the behavior of the slider when selecting the tube or caps.
Definition: vtkSliderWidget.h:235
vtkSliderWidget::AnimationState
AnimationState
Definition: vtkSliderWidget.h:274
vtkSliderWidget
set a value by manipulating a slider
Definition: vtkSliderWidget.h:190
vtkSliderWidget::AnimateOff
@ AnimateOff
Definition: vtkSliderWidget.h:275
vtkSliderWidget::WidgetState
int WidgetState
Definition: vtkSliderWidget.h:263
vtkSliderWidget::NumberOfAnimationSteps
int NumberOfAnimationSteps
Definition: vtkSliderWidget.h:271
vtkSliderWidget::SelectAction
static void SelectAction(vtkAbstractWidget *)
vtkSliderWidget::_WidgetState
_WidgetState
Definition: vtkSliderWidget.h:265
vtkSliderWidget::AnimateSlider
void AnimateSlider(int selectionState)
vtkSliderWidget::MoveAction
static void MoveAction(vtkAbstractWidget *)
vtkSliderWidget::GetSliderRepresentation
vtkSliderRepresentation * GetSliderRepresentation()
Return the representation as a vtkSliderRepresentation.
Definition: vtkSliderWidget.h:218
vtkSliderRepresentation
abstract class defines the representation for a vtkSliderWidget
Definition: vtkSliderRepresentation.h:61
vtkSliderWidget::New
static vtkSliderWidget * New()
Instantiate the class.