VTK
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 =========================================================================*/
77 #ifndef vtkBalloonWidget_h
78 #define vtkBalloonWidget_h
79 
80 #include "vtkInteractionWidgetsModule.h" // For export macro
81 #include "vtkHoverWidget.h"
82 
84 class vtkProp;
86 class vtkStdString;
87 class vtkPropMap;
88 class vtkImageData;
89 
90 
91 class VTKINTERACTIONWIDGETS_EXPORT vtkBalloonWidget : public vtkHoverWidget
92 {
93 public:
97  static vtkBalloonWidget *New();
98 
100 
104  void PrintSelf(ostream& os, vtkIndent indent) override;
106 
111  void SetEnabled(int) override;
112 
119  {this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));}
120 
125  {return reinterpret_cast<vtkBalloonRepresentation*>(this->WidgetRep);}
126 
130  void CreateDefaultRepresentation() override;
131 
133 
137  void AddBalloon(vtkProp *prop, vtkStdString *str, vtkImageData *img);
138  void AddBalloon(vtkProp *prop, const char *str, vtkImageData *img);
139  void AddBalloon(vtkProp *prop, const char *str) //for wrapping
140  {this->AddBalloon(prop,str,nullptr);}
141  void RemoveBalloon(vtkProp *prop);
143 
145 
151  const char *GetBalloonString(vtkProp *prop);
152  vtkImageData *GetBalloonImage(vtkProp *prop);
154 
156 
160  void UpdateBalloonString(vtkProp *prop, const char *str);
161  void UpdateBalloonImage(vtkProp *prop, vtkImageData *image);
163 
169  {return this->CurrentProp;}
170 
172 
178  void SetPicker(vtkAbstractPropPicker*);
179  vtkGetObjectMacro(Picker,vtkAbstractPropPicker);
181 
182  /*
183  * Register internal Pickers within PickingManager
184  */
185  void RegisterPickers() override;
186 
187 protected:
189  ~vtkBalloonWidget() override;
190 
191  // This class implements the method called from its superclass.
192  int SubclassEndHoverAction() override;
193  int SubclassHoverAction() override;
194 
195  // Classes for managing balloons
196  vtkPropMap *PropMap; //PIMPL'd map of (vtkProp,vtkStdString)
197 
198  // Support for picking
200 
201  // The vtkProp that is being hovered over (which may be nullptr)
203 
204 private:
205  vtkBalloonWidget(const vtkBalloonWidget&) = delete;
206  void operator=(const vtkBalloonWidget&) = delete;
207 };
208 
209 #endif
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:52
void SetEnabled(int) override
The method for activating and deactivating this widget.
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:40
vtkBalloonRepresentation * GetBalloonRepresentation()
Return the representation as a vtkBalloonRepresentation.
virtual void RegisterPickers()
Register internal Pickers in the Picking Manager.
vtkWidgetRepresentation * WidgetRep
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for a VTK class.
a simple class to control print indentation
Definition: vtkIndent.h:39
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
void CreateDefaultRepresentation() override
A default representation, of which there is none, is created.
virtual int SubclassHoverAction()
popup text balloons above instance of vtkProp when hovering occurs
represent the vtkBalloonWidget
virtual int SubclassEndHoverAction()
abstract API for pickers that can pick an instance of vtkProp
vtkAbstractPropPicker * Picker
virtual vtkProp * GetCurrentProp()
Return the current vtkProp that is being hovered over.
invoke a vtkTimerEvent when hovering
void SetWidgetRepresentation(vtkWidgetRepresentation *r)
void AddBalloon(vtkProp *prop, const char *str)
Add and remove text and/or an image to be associated with a vtkProp.
vtkPropMap * PropMap
static vtkHoverWidget * New()
Instantiate this class.
void SetRepresentation(vtkBalloonRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene...