X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1306e7d6eca73adb57bc6e50d22108371c0241e7..80255b7eaf9427daf6fa21a3f27e4475dcc54cf8:/include/wx/msw/tooltip.h diff --git a/include/wx/msw/tooltip.h b/include/wx/msw/tooltip.h index 0ae7194df2..7575d5f3b0 100644 --- a/include/wx/msw/tooltip.h +++ b/include/wx/msw/tooltip.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: msw/tooltip.h +// Name: wx/msw/tooltip.h // Purpose: wxToolTip class - tooltip control // Author: Vadim Zeitlin // Modified by: @@ -9,7 +9,14 @@ // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// -class WXDLLEXPORT wxToolTip : public wxObject +#ifndef _WX_MSW_TOOLTIP_H_ +#define _WX_MSW_TOOLTIP_H_ + +#include "wx/object.h" + +class WXDLLIMPEXP_FWD_CORE wxWindow; + +class WXDLLIMPEXP_CORE wxToolTip : public wxObject { public: // ctor & dtor @@ -30,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 @@ -48,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(); @@ -55,6 +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_