00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00076 #ifndef __vtkBalloonWidget_h
00077 #define __vtkBalloonWidget_h
00078
00079 #include "vtkHoverWidget.h"
00080
00081 class vtkBalloonRepresentation;
00082 class vtkProp;
00083 class vtkAbstractPropPicker;
00084 class vtkStdString;
00085 class vtkPropMap;
00086 class vtkImageData;
00087
00088
00089 class VTK_WIDGETS_EXPORT vtkBalloonWidget : public vtkHoverWidget
00090 {
00091 public:
00093 static vtkBalloonWidget *New();
00094
00096
00097 vtkTypeMacro(vtkBalloonWidget,vtkHoverWidget);
00098 void PrintSelf(ostream& os, vtkIndent indent);
00100
00104 virtual void SetEnabled(int);
00105
00107
00110 void SetRepresentation(vtkBalloonRepresentation *r)
00111 {this->Superclass::SetWidgetRepresentation(reinterpret_cast<vtkWidgetRepresentation*>(r));}
00113
00115
00116 vtkBalloonRepresentation *GetBalloonRepresentation()
00117 {return reinterpret_cast<vtkBalloonRepresentation*>(this->WidgetRep);}
00119
00121 void CreateDefaultRepresentation();
00122
00124
00126 void AddBalloon(vtkProp *prop, vtkStdString *str, vtkImageData *img);
00127 void AddBalloon(vtkProp *prop, const char *str, vtkImageData *img);
00128 void AddBalloon(vtkProp *prop, const char *str)
00129 {this->AddBalloon(prop,str,NULL);}
00130 void RemoveBalloon(vtkProp *prop);
00132
00134
00138 const char *GetBalloonString(vtkProp *prop);
00139 vtkImageData *GetBalloonImage(vtkProp *prop);
00141
00143
00145 void UpdateBalloonString(vtkProp *prop, const char *str);
00146 void UpdateBalloonImage(vtkProp *prop, vtkImageData *image);
00148
00150
00152 virtual vtkProp *GetCurrentProp()
00153 {return this->CurrentProp;}
00155
00157
00161 void SetPicker(vtkAbstractPropPicker*);
00162 vtkGetObjectMacro(Picker,vtkAbstractPropPicker);
00164
00165 protected:
00166 vtkBalloonWidget();
00167 ~vtkBalloonWidget();
00168
00169
00170 virtual int SubclassEndHoverAction();
00171 virtual int SubclassHoverAction();
00172
00173
00174 vtkPropMap *PropMap;
00175
00176
00177 vtkAbstractPropPicker *Picker;
00178
00179
00180 vtkProp *CurrentProp;
00181
00182 private:
00183 vtkBalloonWidget(const vtkBalloonWidget&);
00184 void operator=(const vtkBalloonWidget&);
00185 };
00186
00187 #endif