| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- ///////////////////////////////////////////////////////////////////////////////
- // Name: wx/tipwin.h
- // Purpose: wxTipWindow is a window like the one typically used for
- // showing the tooltips
- // Author: Vadim Zeitlin
- // Modified by:
- // Created: 10.09.00
- // Copyright: (c) 2000 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
- // Licence: wxWindows licence
- ///////////////////////////////////////////////////////////////////////////////
- #ifndef _WX_TIPWIN_H_
- #define _WX_TIPWIN_H_
- #if wxUSE_TIPWINDOW
- #if wxUSE_POPUPWIN
- #include "wx/popupwin.h"
- #define wxTipWindowBase wxPopupTransientWindow
- #else
- #include "wx/frame.h"
- #define wxTipWindowBase wxFrame
- #endif
- #include "wx/arrstr.h"
- class WXDLLIMPEXP_FWD_CORE wxTipWindowView;
- // ----------------------------------------------------------------------------
- // wxTipWindow
- // ----------------------------------------------------------------------------
- class WXDLLIMPEXP_CORE wxTipWindow : public wxTipWindowBase
- {
- public:
- // the mandatory ctor parameters are: the parent window and the text to
- // show
- //
- // optionally you may also specify the length at which the lines are going
- // to be broken in rows (100 pixels by default)
- //
- // windowPtr and rectBound are just passed to SetTipWindowPtr() and
- // SetBoundingRect() - see below
- wxTipWindow(wxWindow *parent,
- const wxString& text,
- wxCoord maxLength = 100,
- wxTipWindow** windowPtr = NULL,
- wxRect *rectBound = NULL);
- virtual ~wxTipWindow();
- // If windowPtr is not NULL the given address will be NULLed when the
- // window has closed
- void SetTipWindowPtr(wxTipWindow** windowPtr) { m_windowPtr = windowPtr; }
- // If rectBound is not NULL, the window will disappear automatically when
- // the mouse leave the specified rect: note that rectBound should be in the
- // screen coordinates!
- void SetBoundingRect(const wxRect& rectBound);
- // Hide and destroy the window
- void Close();
- protected:
- // called by wxTipWindowView only
- bool CheckMouseInBounds(const wxPoint& pos);
- // event handlers
- void OnMouseClick(wxMouseEvent& event);
- #if !wxUSE_POPUPWIN
- void OnActivate(wxActivateEvent& event);
- void OnKillFocus(wxFocusEvent& event);
- #else // wxUSE_POPUPWIN
- virtual void OnDismiss();
- #endif // wxUSE_POPUPWIN/!wxUSE_POPUPWIN
- private:
- wxArrayString m_textLines;
- wxCoord m_heightLine;
- wxTipWindowView *m_view;
- wxTipWindow** m_windowPtr;
- wxRect m_rectBound;
- DECLARE_EVENT_TABLE()
- friend class wxTipWindowView;
- wxDECLARE_NO_COPY_CLASS(wxTipWindow);
- };
- #endif // wxUSE_TIPWINDOW
- #endif // _WX_TIPWIN_H_
|