VTK  9.3.20240327
vtkBalloonWidget.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
81 #ifndef vtkBalloonWidget_h
82 #define vtkBalloonWidget_h
83 
84 #include "vtkHoverWidget.h"
85 #include "vtkInteractionWidgetsModule.h" // For export macro
86 
87 VTK_ABI_NAMESPACE_BEGIN
89 class vtkProp;
91 class vtkStdString;
92 class vtkPropMap;
93 class vtkImageData;
94 
95 class VTKINTERACTIONWIDGETS_EXPORT vtkBalloonWidget : public vtkHoverWidget
96 {
97 public:
102 
104 
108  void PrintSelf(ostream& os, vtkIndent indent) override;
110 
115  void SetEnabled(int) override;
116 
123  {
125  }
126 
131  {
132  return reinterpret_cast<vtkBalloonRepresentation*>(this->WidgetRep);
133  }
134 
139 
141 
145  void AddBalloon(vtkProp* prop, vtkStdString* str, vtkImageData* img);
146  void AddBalloon(vtkProp* prop, const char* str, vtkImageData* img);
147  void AddBalloon(vtkProp* prop, const char* str) // for wrapping
148  {
149  this->AddBalloon(prop, str, nullptr);
150  }
151  void RemoveBalloon(vtkProp* prop);
153 
155 
161  const char* GetBalloonString(vtkProp* prop);
164 
166 
170  void UpdateBalloonString(vtkProp* prop, const char* str);
173 
178  virtual vtkProp* GetCurrentProp() { return this->CurrentProp; }
179 
181 
188  vtkGetObjectMacro(Picker, vtkAbstractPropPicker);
190 
191  /*
192  * Register internal Pickers within PickingManager
193  */
194  void RegisterPickers() override;
195 
196 protected:
198  ~vtkBalloonWidget() override;
199 
200  // This class implements the method called from its superclass.
201  int SubclassEndHoverAction() override;
202  int SubclassHoverAction() override;
203 
204  // Classes for managing balloons
205  vtkPropMap* PropMap; // PIMPL'd map of (vtkProp,vtkStdString)
206 
207  // Support for picking
209 
210  // The vtkProp that is being hovered over (which may be nullptr)
212 
213 private:
214  vtkBalloonWidget(const vtkBalloonWidget&) = delete;
215  void operator=(const vtkBalloonWidget&) = delete;
216 };
217 
218 VTK_ABI_NAMESPACE_END
219 #endif
abstract API for pickers that can pick an instance of vtkProp
void SetWidgetRepresentation(vtkWidgetRepresentation *r)
vtkWidgetRepresentation * WidgetRep
represent the vtkBalloonWidget
popup text balloons above instance of vtkProp when hovering occurs
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
void SetEnabled(int) override
The method for activating and deactivating this widget.
~vtkBalloonWidget() override
const char * GetBalloonString(vtkProp *prop)
Methods to retrieve the information associated with each vtkProp (i.e., the information that makes up...
vtkBalloonRepresentation * GetBalloonRepresentation()
Return the representation as a vtkBalloonRepresentation.
void RemoveBalloon(vtkProp *prop)
Add and remove text and/or an image to be associated with a vtkProp.
vtkPropMap * PropMap
virtual vtkProp * GetCurrentProp()
Return the current vtkProp that is being hovered over.
void RegisterPickers() override
Register internal Pickers in the Picking Manager.
void SetPicker(vtkAbstractPropPicker *)
Set/Get the object used to perform pick operations.
void UpdateBalloonImage(vtkProp *prop, vtkImageData *image)
Update the balloon string or image.
void AddBalloon(vtkProp *prop, const char *str)
Add and remove text and/or an image to be associated with a vtkProp.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for a VTK class.
void UpdateBalloonString(vtkProp *prop, const char *str)
Update the balloon string or image.
static vtkBalloonWidget * New()
Instantiate this class.
int SubclassHoverAction() override
void SetRepresentation(vtkBalloonRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
int SubclassEndHoverAction() override
void AddBalloon(vtkProp *prop, vtkStdString *str, vtkImageData *img)
Add and remove text and/or an image to be associated with a vtkProp.
vtkAbstractPropPicker * Picker
void AddBalloon(vtkProp *prop, const char *str, vtkImageData *img)
Add and remove text and/or an image to be associated with a vtkProp.
vtkImageData * GetBalloonImage(vtkProp *prop)
Methods to retrieve the information associated with each vtkProp (i.e., the information that makes up...
invoke a vtkTimerEvent when hovering
topologically and geometrically regular array of data
Definition: vtkImageData.h:155
a simple class to control print indentation
Definition: vtkIndent.h:108
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:65
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:78
abstract class defines interface between the widget and widget representation classes
@ image
Definition: vtkX3D.h:374