GNU compiler included with Mac OS X 10.2 (Jaguar) as well as August Developer Tools update contain a bug concerning #pragma interface handling that can only be worked around by not using them (and they are not necessary anyways) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16884 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_
 | 
						|
 | 
						|
#if defined(__GNUG__) && !defined(__APPLE__)
 | 
						|
    #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_
 |