X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c0c133e13b36a923c65f94499554e432bc3a0daa..da8b1d4b3b535aba94d04494f5b6e2b3e47901ee:/include/wx/msw/tooltip.h diff --git a/include/wx/msw/tooltip.h b/include/wx/msw/tooltip.h index 7575d5f3b0..c720ae3dc2 100644 --- a/include/wx/msw/tooltip.h +++ b/include/wx/msw/tooltip.h @@ -13,6 +13,7 @@ #define _WX_MSW_TOOLTIP_H_ #include "wx/object.h" +#include "wx/gdicmn.h" class WXDLLIMPEXP_FWD_CORE wxWindow; @@ -23,6 +24,11 @@ public: wxToolTip(const wxString &tip); virtual ~wxToolTip(); + // ctor used by wxStatusBar to associate a tooltip to a portion of + // the status bar window: + wxToolTip(wxWindow* win, unsigned int id, + const wxString &tip, const wxRect& rc); + // accessors // tip text void SetTip(const wxString& tip); @@ -49,14 +55,18 @@ public: // implementation only from now on // ------------------------------- - // should be called in responde to WM_MOUSEMOVE + // should be called in response to WM_MOUSEMOVE static void RelayEvent(WXMSG *msg); // add a window to the tooltip control void Add(WXHWND hwnd); // remove any tooltip from the window - static void Remove(WXHWND hwnd); + static void Remove(WXHWND hwnd, unsigned int id, const wxRect& rc); + + // the rect we're associated with + void SetRect(const wxRect& rc); + const wxRect& GetRect() const { return m_rect; } private: // the one and only one tooltip control we use - never access it directly @@ -73,7 +83,10 @@ private: void Remove(); wxString m_text; // tooltip text - wxWindow *m_window; // window we're associated with + wxWindow* m_window; // window we're associated with + wxRect m_rect; // the rect of the window for which this tooltip is shown + // (or a rect with width/height == 0 to show it for the entire window) + unsigned int m_id; // the id of this tooltip (ignored when m_rect width/height is 0) DECLARE_ABSTRACT_CLASS(wxToolTip) wxDECLARE_NO_COPY_CLASS(wxToolTip);