VTK  9.0.1
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 =========================================================================*/
71 #ifndef vtkBalloonWidget_h
72 #define vtkBalloonWidget_h
73 
74 #include "vtkHoverWidget.h"
75 #include "vtkInteractionWidgetsModule.h" // For export macro
76 
78 class vtkProp;
80 class vtkStdString;
81 class vtkPropMap;
82 class vtkImageData;
83 
84 class VTKINTERACTIONWIDGETS_EXPORT vtkBalloonWidget : public vtkHoverWidget
85 {
86 public:
90  static vtkBalloonWidget* New();
91 
93 
97  void PrintSelf(ostream& os, vtkIndent indent) override;
99 
104  void SetEnabled(int) override;
105 
112  {
114  }
115 
120  {
121  return reinterpret_cast<vtkBalloonRepresentation*>(this->WidgetRep);
122  }
123 
127  void CreateDefaultRepresentation() override;
128 
130 
134  void AddBalloon(vtkProp* prop, vtkStdString* str, vtkImageData* img);
135  void AddBalloon(vtkProp* prop, const char* str, vtkImageData* img);
136  void AddBalloon(vtkProp* prop, const char* str) // for wrapping
137  {
138  this->AddBalloon(prop, str, nullptr);
139  }
140  void RemoveBalloon(vtkProp* prop);
142 
144 
150  const char* GetBalloonString(vtkProp* prop);
151  vtkImageData* GetBalloonImage(vtkProp* prop);
153 
155 
159  void UpdateBalloonString(vtkProp* prop, const char* str);
160  void UpdateBalloonImage(vtkProp* prop, vtkImageData* image);
162 
167  virtual vtkProp* GetCurrentProp() { return this->CurrentProp; }
168 
170 
176  void SetPicker(vtkAbstractPropPicker*);
177  vtkGetObjectMacro(Picker, vtkAbstractPropPicker);
179 
180  /*
181  * Register internal Pickers within PickingManager
182  */
183  void RegisterPickers() override;
184 
185 protected:
187  ~vtkBalloonWidget() override;
188 
189  // This class implements the method called from its superclass.
190  int SubclassEndHoverAction() override;
191  int SubclassHoverAction() override;
192 
193  // Classes for managing balloons
194  vtkPropMap* PropMap; // PIMPL'd map of (vtkProp,vtkStdString)
195 
196  // Support for picking
198 
199  // The vtkProp that is being hovered over (which may be nullptr)
201 
202 private:
203  vtkBalloonWidget(const vtkBalloonWidget&) = delete;
204  void operator=(const vtkBalloonWidget&) = delete;
205 };
206 
207 #endif
vtkHoverWidget::SetEnabled
void SetEnabled(int) override
The method for activating and deactivating this widget.
vtkBalloonWidget
popup text balloons above instance of vtkProp when hovering occurs
Definition: vtkBalloonWidget.h:84
vtkBalloonWidget::Picker
vtkAbstractPropPicker * Picker
Definition: vtkBalloonWidget.h:197
vtkX3D::image
@ image
Definition: vtkX3D.h:380
vtkHoverWidget
invoke a vtkTimerEvent when hovering
Definition: vtkHoverWidget.h:82
vtkWidgetRepresentation
abstract class defines interface between the widget and widget representation classes
Definition: vtkWidgetRepresentation.h:59
vtkAbstractWidget::WidgetRep
vtkWidgetRepresentation * WidgetRep
Definition: vtkAbstractWidget.h:175
vtkBalloonWidget::GetCurrentProp
virtual vtkProp * GetCurrentProp()
Return the current vtkProp that is being hovered over.
Definition: vtkBalloonWidget.h:167
vtkBalloonWidget::AddBalloon
void AddBalloon(vtkProp *prop, const char *str)
Definition: vtkBalloonWidget.h:136
vtkBalloonWidget::PropMap
vtkPropMap * PropMap
Definition: vtkBalloonWidget.h:194
vtkBalloonWidget::SetRepresentation
void SetRepresentation(vtkBalloonRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
Definition: vtkBalloonWidget.h:111
vtkHoverWidget::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:41
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkAbstractPropPicker
abstract API for pickers that can pick an instance of vtkProp
Definition: vtkAbstractPropPicker.h:79
vtkBalloonRepresentation
represent the vtkBalloonWidget
Definition: vtkBalloonRepresentation.h:76
vtkInteractorObserver::RegisterPickers
virtual void RegisterPickers()
Register internal Pickers in the Picking Manager.
vtkBalloonWidget::CurrentProp
vtkProp * CurrentProp
Definition: vtkBalloonWidget.h:200
vtkHoverWidget::CreateDefaultRepresentation
void CreateDefaultRepresentation() override
A default representation, of which there is none, is created.
Definition: vtkHoverWidget.h:119
vtkHoverWidget::SubclassHoverAction
virtual int SubclassHoverAction()
Definition: vtkHoverWidget.h:143
vtkHoverWidget::New
static vtkHoverWidget * New()
Instantiate this class.
vtkProp
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:53
vtkHoverWidget.h
vtkBalloonWidget::GetBalloonRepresentation
vtkBalloonRepresentation * GetBalloonRepresentation()
Return the representation as a vtkBalloonRepresentation.
Definition: vtkBalloonWidget.h:119
vtkHoverWidget::SubclassEndHoverAction
virtual int SubclassEndHoverAction()
Definition: vtkHoverWidget.h:144
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:34
vtkAbstractWidget::SetWidgetRepresentation
void SetWidgetRepresentation(vtkWidgetRepresentation *r)