]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/tooltip.h
Unset the debug report preview dialog as critical window when it's hidden.
[wxWidgets.git] / include / wx / msw / tooltip.h
index e8a086798105337d8e3eedd2257849f0cedbfe20..c720ae3dc2aa4916b5fec9355ae57993f00bff53 100644 (file)
@@ -13,6 +13,7 @@
 #define _WX_MSW_TOOLTIP_H_
 
 #include "wx/object.h"
 #define _WX_MSW_TOOLTIP_H_
 
 #include "wx/object.h"
+#include "wx/gdicmn.h"
 
 class WXDLLIMPEXP_FWD_CORE wxWindow;
 
 
 class WXDLLIMPEXP_FWD_CORE wxWindow;
 
@@ -23,6 +24,11 @@ public:
     wxToolTip(const wxString &tip);
     virtual ~wxToolTip();
 
     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);
     // accessors
         // tip text
     void SetTip(const wxString& tip);
@@ -49,14 +55,18 @@ public:
     // implementation only from now on
     // -------------------------------
 
     // 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 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
 
 private:
     // the one and only one tooltip control we use - never access it directly
@@ -73,10 +83,13 @@ private:
     void Remove();
 
     wxString  m_text;           // tooltip text
     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)
 
     DECLARE_ABSTRACT_CLASS(wxToolTip)
-    DECLARE_NO_COPY_CLASS(wxToolTip)
+    wxDECLARE_NO_COPY_CLASS(wxToolTip);
 };
 
 #endif // _WX_MSW_TOOLTIP_H_
 };
 
 #endif // _WX_MSW_TOOLTIP_H_