#if wxUSE_TOOLTIPS
// the easiest way to set a tooltip for a window is to use this method
void SetToolTip( const wxString &tip );
- // attach a tooltip to the window
+ // attach a tooltip to the window, pointer can be NULL to remove
+ // existing tooltip
void SetToolTip( wxToolTip *tip ) { DoSetToolTip(tip); }
+ // more readable synonym for SetToolTip(NULL)
+ void UnsetToolTip() { SetToolTip(NULL); }
// get the associated tooltip or NULL if none
wxToolTip* GetToolTip() const { return m_tooltip; }
- wxString GetToolTipText() const ;
-#else
+ wxString GetToolTipText() const;
+#else // !wxUSE_TOOLTIPS
// make it much easier to compile apps in an environment
// that doesn't support tooltips, such as PocketPC
- inline void SetToolTip( const wxString & WXUNUSED(tip) ) {}
-#endif // wxUSE_TOOLTIPS
+ void SetToolTip(const wxString & WXUNUSED(tip)) { }
+ void UnsetToolTip() { }
+#endif // wxUSE_TOOLTIPS/!wxUSE_TOOLTIPS
// drag and drop
// -------------
//@{
/**
Attach a tooltip to the window.
- See also: GetToolTip(),
- wxToolTip
+
+ wxToolTip pointer can be @NULL in the overload taking the pointer,
+ meaning to unset any existing tooltips, however UnsetToolTip() provides
+ a more readable alternative to this operation.
+
+ Notice that these methods are always available, even if wxWidgets was
+ compiled with @c wxUSE_TOOLTIPS set to 0, but don't do anything in this
+ case.
+
+ @see GetToolTip(), wxToolTip
*/
void SetToolTip(const wxString& tip);
void SetToolTip(wxToolTip* tip);
*/
static void UnreserveControlId(wxWindowID id, int count = 1);
+ /**
+ Unset any existing tooltip.
+
+ @since 2.9.0
+
+ @see SetToolTip()
+ */
+ void UnsetToolTip();
+
/**
Calling this method immediately repaints the invalidated area of the window and
all of its children recursively while this would usually only happen when the