VTK  9.3.20240419
vtkButtonRepresentation.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
29 #ifndef vtkButtonRepresentation_h
30 #define vtkButtonRepresentation_h
31 
32 #include "vtkInteractionWidgetsModule.h" // For export macro
34 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
35 
36 VTK_ABI_NAMESPACE_BEGIN
37 class VTKINTERACTIONWIDGETS_EXPORT VTK_MARSHALAUTO vtkButtonRepresentation
39 {
40 public:
42 
46  void PrintSelf(ostream& os, vtkIndent indent) override;
48 
50 
53  vtkSetClampMacro(NumberOfStates, int, 1, VTK_INT_MAX);
55 
57 
60  vtkGetMacro(State, int);
62 
64 
70  virtual void SetState(int state);
71  virtual void NextState();
72  virtual void PreviousState();
74 
76  {
77  Outside = 0,
78  Inside
79  };
80 
82 
91  {
94  HighlightSelecting
95  };
96 
97  void Highlight(int) override;
98  vtkGetMacro(HighlightState, int);
100 
104  void ShallowCopy(vtkProp* prop) override;
105 
106 protected:
109 
110  // Values
112  int State;
114 
115 private:
117  void operator=(const vtkButtonRepresentation&) = delete;
118 };
119 
120 VTK_ABI_NAMESPACE_END
121 #endif
abstract class defines the representation for a vtkButtonWidget
void Highlight(int) override
These methods control the appearance of the button as it is being interacted with.
void ShallowCopy(vtkProp *prop) override
Satisfy some of vtkProp's API.
virtual void SetState(int state)
Manipulate the state.
HighlightStateType
These methods control the appearance of the button as it is being interacted with.
~vtkButtonRepresentation() override
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for the class.
virtual void NextState()
Manipulate the state.
virtual void PreviousState()
Manipulate the state.
a simple class to control print indentation
Definition: vtkIndent.h:108
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:66
abstract class defines interface between the widget and widget representation classes
#define VTK_INT_MAX
Definition: vtkType.h:144
#define VTK_MARSHALAUTO