VTK  9.1.0
vtkBalloonWidget.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkBalloonWidget.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=========================================================================*/
80#ifndef vtkBalloonWidget_h
81#define vtkBalloonWidget_h
82
83#include "vtkHoverWidget.h"
84#include "vtkInteractionWidgetsModule.h" // For export macro
85
87class vtkProp;
89class vtkStdString;
90class vtkPropMap;
91class vtkImageData;
92
93class VTKINTERACTIONWIDGETS_EXPORT vtkBalloonWidget : public vtkHoverWidget
94{
95public:
100
102
106 void PrintSelf(ostream& os, vtkIndent indent) override;
108
113 void SetEnabled(int) override;
114
121 {
123 }
124
129 {
130 return reinterpret_cast<vtkBalloonRepresentation*>(this->WidgetRep);
131 }
132
137
139
144 void AddBalloon(vtkProp* prop, const char* str, vtkImageData* img);
145 void AddBalloon(vtkProp* prop, const char* str) // for wrapping
146 {
147 this->AddBalloon(prop, str, nullptr);
148 }
151
153
159 const char* GetBalloonString(vtkProp* prop);
162
164
168 void UpdateBalloonString(vtkProp* prop, const char* str);
171
176 virtual vtkProp* GetCurrentProp() { return this->CurrentProp; }
177
179
186 vtkGetObjectMacro(Picker, vtkAbstractPropPicker);
188
189 /*
190 * Register internal Pickers within PickingManager
191 */
192 void RegisterPickers() override;
193
194protected:
197
198 // This class implements the method called from its superclass.
200 int SubclassHoverAction() override;
201
202 // Classes for managing balloons
203 vtkPropMap* PropMap; // PIMPL'd map of (vtkProp,vtkStdString)
204
205 // Support for picking
207
208 // The vtkProp that is being hovered over (which may be nullptr)
210
211private:
212 vtkBalloonWidget(const vtkBalloonWidget&) = delete;
213 void operator=(const vtkBalloonWidget&) = delete;
214};
215
216#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.
vtkPropMap * PropMap
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
Definition: vtkImageData.h:57
a simple class to control print indentation
Definition: vtkIndent.h:43
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:57
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:45
abstract class defines interface between the widget and widget representation classes
@ image
Definition: vtkX3D.h:380