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);
106 
111  virtual void SetEnabled(int);
112 
119  {this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));}
120 
125  {return reinterpret_cast<vtkBalloonRepresentation*>(this->WidgetRep);}
126 
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,NULL);}
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 protected:
184  ~vtkBalloonWidget();
185 
186  // This class implements the method called from its superclass.
187  virtual int SubclassEndHoverAction();
188  virtual int SubclassHoverAction();
189 
190  // Classes for managing balloons
191  vtkPropMap *PropMap; //PIMPL'd map of (vtkProp,vtkStdString)
192 
193  // Support for picking
195 
196  // Register internal Pickers within PickingManager
197  virtual void RegisterPickers();
198 
199  // The vtkProp that is being hovered over (which may be NULL)
201 
202 private:
203  vtkBalloonWidget(const vtkBalloonWidget&) VTK_DELETE_FUNCTION;
204  void operator=(const vtkBalloonWidget&) VTK_DELETE_FUNCTION;
205 };
206 
207 #endif
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:50
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:47
vtkBalloonRepresentation * GetBalloonRepresentation()
Return the representation as a vtkBalloonRepresentation.
virtual void SetEnabled(int)
The method for activating and deactivating this widget.
virtual void RegisterPickers()
Register internal Pickers in the Picking Manager.
vtkWidgetRepresentation * WidgetRep
void PrintSelf(ostream &os, vtkIndent indent)
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()
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...