VTK  9.3.0
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
62#ifndef vtkBalloonWidget_h
63#define vtkBalloonWidget_h
64
65#include "vtkHoverWidget.h"
66#include "vtkInteractionWidgetsModule.h" // For export macro
67
68VTK_ABI_NAMESPACE_BEGIN
70class vtkProp;
72class vtkStdString;
73class vtkPropMap;
74class vtkImageData;
75
76class VTKINTERACTIONWIDGETS_EXPORT vtkBalloonWidget : public vtkHoverWidget
77{
78public:
83
85
89 void PrintSelf(ostream& os, vtkIndent indent) override;
91
96 void SetEnabled(int) override;
97
104 {
106 }
107
112 {
113 return reinterpret_cast<vtkBalloonRepresentation*>(this->WidgetRep);
114 }
115
120
122
127 void AddBalloon(vtkProp* prop, const char* str, vtkImageData* img);
128 void AddBalloon(vtkProp* prop, const char* str) // for wrapping
129 {
130 this->AddBalloon(prop, str, nullptr);
131 }
134
136
142 const char* GetBalloonString(vtkProp* prop);
145
147
151 void UpdateBalloonString(vtkProp* prop, const char* str);
154
159 virtual vtkProp* GetCurrentProp() { return this->CurrentProp; }
160
162
169 vtkGetObjectMacro(Picker, vtkAbstractPropPicker);
171
172 /*
173 * Register internal Pickers within PickingManager
174 */
175 void RegisterPickers() override;
176
177protected:
180
181 // This class implements the method called from its superclass.
183 int SubclassHoverAction() override;
184
185 // Classes for managing balloons
186 vtkPropMap* PropMap; // PIMPL'd map of (vtkProp,vtkStdString)
187
188 // Support for picking
190
191 // The vtkProp that is being hovered over (which may be nullptr)
193
194private:
195 vtkBalloonWidget(const vtkBalloonWidget&) = delete;
196 void operator=(const vtkBalloonWidget&) = delete;
197};
198
199VTK_ABI_NAMESPACE_END
200#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.
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.
invoke a vtkTimerEvent when hovering
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:43
Wrapper around std::string to keep symbols short.
abstract class defines interface between the widget and widget representation classes