VTK  9.4.20251007
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
61
62#ifndef vtkBalloonWidget_h
63#define vtkBalloonWidget_h
64
65#include "vtkHoverWidget.h"
66#include "vtkInteractionWidgetsModule.h" // For export macro
67#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
68
69VTK_ABI_NAMESPACE_BEGIN
71class vtkProp;
73class vtkStdString;
74class vtkPropMap;
75class vtkImageData;
76
77class VTKINTERACTIONWIDGETS_EXPORT VTK_MARSHALAUTO vtkBalloonWidget : public vtkHoverWidget
78{
79public:
84
86
90 void PrintSelf(ostream& os, vtkIndent indent) override;
92
97 void SetEnabled(int) override;
98
108
113 {
114 return reinterpret_cast<vtkBalloonRepresentation*>(this->WidgetRep);
115 }
116
121
123
128 void AddBalloon(vtkProp* prop, const char* str, vtkImageData* img);
129 void AddBalloon(vtkProp* prop, const char* str) // for wrapping
130 {
131 this->AddBalloon(prop, str, nullptr);
132 }
135
137
143 const char* GetBalloonString(vtkProp* prop);
146
148
152 void UpdateBalloonString(vtkProp* prop, const char* str);
155
160 virtual vtkProp* GetCurrentProp() { return this->CurrentProp; }
161
163
170 vtkGetObjectMacro(Picker, vtkAbstractPropPicker);
172
173 /*
174 * Register internal Pickers within PickingManager
175 */
176 void RegisterPickers() override;
177
178protected:
181
182 // This class implements the method called from its superclass.
184 int SubclassHoverAction() override;
185
186 // Classes for managing balloons
187 vtkPropMap* PropMap; // PIMPL'd map of (vtkProp,vtkStdString)
188
189 // Support for picking
191
192 // The vtkProp that is being hovered over (which may be nullptr)
194
195private:
196 vtkBalloonWidget(const vtkBalloonWidget&) = delete;
197 void operator=(const vtkBalloonWidget&) = delete;
198};
199
200VTK_ABI_NAMESPACE_END
201#endif
abstract API for pickers that can pick an instance of vtkProp
void SetWidgetRepresentation(vtkWidgetRepresentation *r)
vtkWidgetRepresentation * WidgetRep
represent the vtkBalloonWidget
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.
const char * GetBalloonString(vtkProp *prop)
Methods to retrieve the information associated with each vtkProp (i.e., the information that makes up...
~vtkBalloonWidget() override
void RemoveBalloon(vtkProp *prop)
Add and remove text and/or an image to be associated with a vtkProp.
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.
virtual vtkProp * GetCurrentProp()
Return the current vtkProp that is being hovered over.
vtkBalloonRepresentation * GetBalloonRepresentation()
Return the representation as a vtkBalloonRepresentation.
void UpdateBalloonString(vtkProp *prop, const char *str)
Update the balloon string or image.
int SubclassHoverAction() override
void SetRepresentation(vtkBalloonRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
vtkImageData * GetBalloonImage(vtkProp *prop)
Methods to retrieve the information associated with each vtkProp (i.e., the information that makes up...
int SubclassEndHoverAction() override
static vtkBalloonWidget * New()
Instantiate this class.
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.
topologically and geometrically regular array of data
a simple class to control print indentation
Definition vtkIndent.h:29
abstract superclass for all actors, volumes and annotations
Definition vtkProp.h:47
Wrapper around std::string to keep symbols short.
abstract class defines interface between the widget and widget representation classes
#define VTK_MARSHALAUTO