diff --git a/include/wx/window.h b/include/wx/window.h index 73411b2167..59e9eabda4 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -1208,16 +1208,20 @@ public: #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 // ------------- diff --git a/interface/wx/window.h b/interface/wx/window.h index b1fe0fa9e7..b7b8b22875 100644 --- a/interface/wx/window.h +++ b/interface/wx/window.h @@ -2399,8 +2399,16 @@ public: //@{ /** 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); @@ -2584,6 +2592,15 @@ public: */ 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