///////////////////////////////////////////////////////////////////////////////
-// 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
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
// 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();
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_