]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/tooltip.h
fix memory leak; allocate the DC before SetFont() is called on the status bar
[wxWidgets.git] / include / wx / msw / tooltip.h
index c5fbe836a067fca7375205345332f963130730f4..7575d5f3b02053e9b16361a3d27ac148b6ef1610 100644 (file)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        msw/tooltip.h
+// Name:        wx/msw/tooltip.h
 // Purpose:     wxToolTip class - tooltip control
 // Author:      Vadim Zeitlin
 // Modified by:
 #ifndef _WX_MSW_TOOLTIP_H_
 #define _WX_MSW_TOOLTIP_H_
 
-class WXDLLEXPORT wxToolTip : public wxObject
+#include "wx/object.h"
+
+class WXDLLIMPEXP_FWD_CORE wxWindow;
+
+class WXDLLIMPEXP_CORE wxToolTip : public wxObject
 {
 public:
     // ctor & dtor
@@ -33,16 +37,27 @@ public:
     static void Enable(bool flag);
         // set the delay after which the tooltip appears
     static void SetDelay(long milliseconds);
+        // set the delay after which the tooltip disappears or how long the
+        // tooltip remains visible
+    static void SetAutoPop(long milliseconds);
+        // set the delay between subsequent tooltips to appear
+    static void SetReshow(long milliseconds);
+        // set maximum width for the new tooltips: -1 disables wrapping
+        // entirely, 0 restores the default behaviour
+    static void SetMaxWidth(int width);
 
     // implementation only from now on
     // -------------------------------
 
     // should be called in responde to WM_MOUSEMOVE
-    void RelayEvent(WXMSG *msg);
+    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);
+
 private:
     // the one and only one tooltip control we use - never access it directly
     // but use GetToolTipCtrl() which will create it when needed
@@ -51,6 +66,9 @@ private:
     // create the tooltip ctrl if it doesn't exist yet and return its HWND
     static WXHWND GetToolTipCtrl();
 
+    // new tooltip maximum width, defaults to min(display width, 400)
+    static int ms_maxWidth;
+
     // remove this tooltip from the tooltip control
     void Remove();
 
@@ -58,7 +76,7 @@ private:
     wxWindow *m_window;         // window we're associated with
 
     DECLARE_ABSTRACT_CLASS(wxToolTip)
-    DECLARE_NO_COPY_CLASS(wxToolTip)
+    wxDECLARE_NO_COPY_CLASS(wxToolTip);
 };
 
 #endif // _WX_MSW_TOOLTIP_H_