git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			100 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| ///////////////////////////////////////////////////////////////////////////////
 | |
| // 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
 | |
| // RCS-ID:      $Id$
 | |
| // Copyright:   (c) 2000 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
 | |
| // Licence:     wxWindows license
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _WX_TIPWIN_H_
 | |
| #define _WX_TIPWIN_H_
 | |
| 
 | |
| #ifdef __GNUG__
 | |
|     #pragma interface "tipwin.h"
 | |
| #endif
 | |
| 
 | |
| #if wxUSE_TIPWINDOW
 | |
| 
 | |
| #if wxUSE_POPUPWIN
 | |
|     #include "wx/popupwin.h"
 | |
| 
 | |
|     #define wxTipWindowBase wxPopupTransientWindow
 | |
| #else
 | |
|     #include "wx/frame.h"
 | |
| 
 | |
|     #define wxTipWindowBase wxFrame
 | |
| #endif
 | |
| 
 | |
| class WXDLLEXPORT wxTipWindowView;
 | |
| 
 | |
| // ----------------------------------------------------------------------------
 | |
| // wxTipWindow
 | |
| // ----------------------------------------------------------------------------
 | |
| 
 | |
| class WXDLLEXPORT 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;
 | |
| };
 | |
| 
 | |
| #endif // wxUSE_TIPWINDOW
 | |
| 
 | |
| #endif // _WX_TIPWIN_H_
 |