VTK  9.0.20201019
vtkCenteredSliderWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCenteredSliderWidget.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 =========================================================================*/
77 #ifndef vtkCenteredSliderWidget_h
78 #define vtkCenteredSliderWidget_h
79 
80 #include "vtkAbstractWidget.h"
81 #include "vtkInteractionWidgetsModule.h" // For export macro
82 
84 
85 class VTKINTERACTIONWIDGETS_EXPORT vtkCenteredSliderWidget : public vtkAbstractWidget
86 {
87 public:
91  static vtkCenteredSliderWidget* New();
92 
94 
98  void PrintSelf(ostream& os, vtkIndent indent) override;
100 
107  {
108  this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));
109  }
110 
115  {
116  return reinterpret_cast<vtkSliderRepresentation*>(this->WidgetRep);
117  }
118 
122  void CreateDefaultRepresentation() override;
123 
127  double GetValue() { return this->Value; }
128 
129 protected:
131  ~vtkCenteredSliderWidget() override = default;
132 
133  // These are the events that are handled
134  static void SelectAction(vtkAbstractWidget*);
135  static void EndSelectAction(vtkAbstractWidget*);
136  static void MoveAction(vtkAbstractWidget*);
137  static void TimerAction(vtkAbstractWidget*);
138 
139  // Manage the state of the widget
142  {
143  Start = 0,
144  Sliding
145  };
146 
147  int TimerId;
149  double StartTime;
150  double Value;
151 
152 private:
154  void operator=(const vtkCenteredSliderWidget&) = delete;
155 };
156 
157 #endif
vtkCenteredSliderWidget::StartTime
double StartTime
Definition: vtkCenteredSliderWidget.h:149
vtkCenteredSliderWidget
set a value by manipulating a slider
Definition: vtkCenteredSliderWidget.h:85
vtkCenteredSliderWidget::Value
double Value
Definition: vtkCenteredSliderWidget.h:150
vtkCenteredSliderWidget::_WidgetState
_WidgetState
Definition: vtkCenteredSliderWidget.h:141
vtkAbstractWidget::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkAbstractWidget.h
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkCenteredSliderWidget::GetValue
double GetValue()
Get the value fo this widget.
Definition: vtkCenteredSliderWidget.h:127
vtkCenteredSliderWidget::TimerDuration
int TimerDuration
Definition: vtkCenteredSliderWidget.h:148
vtkCenteredSliderWidget::SetRepresentation
void SetRepresentation(vtkSliderRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
Definition: vtkCenteredSliderWidget.h:106
vtkAbstractWidget
define the API for widget / widget representation
Definition: vtkAbstractWidget.h:65
vtkAbstractWidget::CreateDefaultRepresentation
virtual void CreateDefaultRepresentation()=0
Create the default widget representation if one is not set.
vtkCenteredSliderWidget::GetSliderRepresentation
vtkSliderRepresentation * GetSliderRepresentation()
Return the representation as a vtkSliderRepresentation.
Definition: vtkCenteredSliderWidget.h:114
vtkCenteredSliderWidget::TimerId
int TimerId
Definition: vtkCenteredSliderWidget.h:147
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkCenteredSliderWidget::WidgetState
int WidgetState
Definition: vtkCenteredSliderWidget.h:140
vtkSliderRepresentation
abstract class defines the representation for a vtkSliderWidget
Definition: vtkSliderRepresentation.h:44