/////////////////////////////////////////////////////////////////////////////
// Name: window.h
// Purpose: wxWindowMac class
-// Author: AUTHOR
+// Author: Stefan Csomor
// Modified by:
-// Created: ??/??/98
+// Created: 1998-01-01
// RCS-ID: $Id$
-// Copyright: (c) AUTHOR
-// Licence: wxWindows licence
+// Copyright: (c) Stefan Csomor
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_WINDOW_H_
#define _WX_WINDOW_H_
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "window.h"
#endif
-#include <wx/brush.h>
+#include "wx/brush.h"
+
// ---------------------------------------------------------------------------
// forward declarations
// ---------------------------------------------------------------------------
friend class wxPaintDC;
public:
-
+
wxWindowMac()
: m_macBackgroundBrush()
, m_macVisibleRegion()
virtual void Refresh( bool eraseBackground = TRUE,
const wxRect *rect = (const wxRect *) NULL );
- virtual void Clear();
virtual bool SetCursor( const wxCursor &cursor );
virtual bool SetFont(const wxFont& font)
// Accept files for dragging
virtual void DragAcceptFiles(bool accept);
-#if WXWIN_COMPATIBILITY
- // Set/get scroll attributes
- virtual void SetScrollRange(int orient, int range, bool refresh = TRUE);
- virtual void SetScrollPage(int orient, int page, bool refresh = TRUE);
- virtual int OldGetScrollRange(int orient) const;
- virtual int GetScrollPage(int orient) const;
-
- // event handlers
- // Handle a control command
- virtual void OnCommand(wxWindowMac& win, wxCommandEvent& event);
-
- // Override to define new behaviour for default action (e.g. double
- // clicking on a listbox)
- virtual void OnDefaultAction(wxControl * WXUNUSED(initiatingItem)) { }
-#endif // WXWIN_COMPATIBILITY
-
-#if wxUSE_CARET && WXWIN_COMPATIBILITY
- // caret manipulation (old MSW only functions, see wxCaret class for the
- // new API)
- void CreateCaret(int w, int h);
- void CreateCaret(const wxBitmap *bitmap);
- void DestroyCaret();
- void ShowCaret(bool show);
- void SetCaretPos(int x, int y);
- void GetCaretPos(int *x, int *y) const;
-#endif // wxUSE_CARET
-
// Native resource loading (implemented in src/msw/nativdlg.cpp)
// FIXME: should they really be all virtual?
wxWindowMac* GetWindowChild1(wxWindowID id);
void MacRootWindowToClient( int *x , int *y ) const ;
void MacWindowToRootWindow( int *x , int *y ) const ;
void MacRootWindowToWindow( int *x , int *y ) const ;
-
+
virtual wxString MacGetToolTipString( wxPoint &where ) ;
// simple accessors
// WXHWND GetHWND() const { return m_hWnd; }
// void SetHWND(WXHWND hWnd) { m_hWnd = hWnd; }
- virtual WXWidget GetHandle() const { return (WXWidget) NULL ; }
+ virtual WXWidget GetHandle() const { return (WXWidget) NULL ; }
- bool GetUseCtl3D() const { return m_useCtl3D; }
bool GetTransparentBackground() const { return m_backgroundTransparent; }
void SetTransparent(bool t = TRUE) { m_backgroundTransparent = t; }
// event handlers
// --------------
- void OnSetFocus(wxFocusEvent& event) ;
+ void OnSetFocus(wxFocusEvent& event) ;
void OnNcPaint(wxNcPaintEvent& event);
void OnEraseBackground(wxEraseEvent& event);
- void OnIdle(wxIdleEvent& event);
+ void OnMouseEvent( wxMouseEvent &event ) ;
+
void MacOnScroll(wxScrollEvent&event ) ;
bool AcceptsFocus() const ;
public:
+ void OnInternalIdle();
+
// For implementation purposes - sometimes decorations make the client area
// smaller
virtual wxPoint GetClientAreaOrigin() const;
// MSW only: TRUE if this control is part of the main control
virtual bool ContainsHWND(WXHWND WXUNUSED(hWnd)) const { return FALSE; };
- #if WXWIN_COMPATIBILITY
- wxObject *GetChild(int number) const;
- virtual void MSWDeviceToLogical(float *x, float *y) const;
-#endif // WXWIN_COMPATIBILITY
-
// Setup background and foreground colours correctly
virtual void SetupColours();
-
-#if WXWIN_COMPATIBILITY
- void SetShowing(bool show) { (void)Show(show); }
- bool IsUserEnabled() const { return IsEnabled(); }
-#endif // WXWIN_COMPATIBILITY
-
public:
static bool MacGetWindowFromPoint( const wxPoint &point , wxWindowMac** outWin ) ;
virtual bool MacGetWindowFromPointSub( const wxPoint &point , wxWindowMac** outWin ) ;
static long MacRemoveBordersFromStyle( long style ) ;
virtual void MacSuperChangedPosition() ;
// the absolute coordinates of this item within the toplevel window may have changed
- virtual void MacUpdateDimensions() {}
+ virtual void MacUpdateDimensions() {}
// the absolute coortinates of this window's root have changed
virtual void MacTopLevelWindowChangedPosition() ;
virtual void MacSuperShown( bool show ) ;
virtual void Update() ;
// for compatibility
void MacUpdateImmediately() { Update() ; }
+ virtual bool MacSetupCursor( const wxPoint& pt ) ;
// virtual bool MacSetPortDrawingParams( const Point & localOrigin, const Rect & clipRect, WindowRef window , wxWindowMac* rootwin ) ;
// virtual void MacGetPortParams(Point* localOrigin, Rect* clipRect, WindowRef *window , wxWindowMac** rootwin ) ;
// virtual void MacGetPortClientParams(Point* localOrigin, Rect* clipRect, WindowRef *window , wxWindowMac** rootwin) ;
const wxBrush& MacGetBackgroundBrush() ;
- const wxRegion& MacGetVisibleRegion() ;
+ const wxRegion& MacGetVisibleRegion( bool respectChildrenAndSiblings = true ) ;
bool MacIsWindowScrollbar( const wxScrollBar* sb )
{ return (m_hScrollBar == sb || m_vScrollBar == sb) ; }
static wxWindowMac* s_lastMouseWindow ;
private:
protected:
-// RgnHandle m_macUpdateRgn ;
-// bool m_macEraseOnRedraw ;
wxBrush m_macBackgroundBrush ;
wxRegion m_macVisibleRegion ;
int m_x ;
void MacCreateScrollBars( long style ) ;
void MacRepositionScrollBars() ;
- // additional (MSW specific) flags
- bool m_useCtl3D:1; // Using CTL3D for this control
- bool m_backgroundTransparent:1;
- bool m_mouseInWindow:1;
- bool m_doubleClickAllowed:1;
- bool m_winCaptured:1;
-
- // the size of one page for scrolling
- int m_xThumbSize;
- int m_yThumbSize;
-
-// WXHMENU m_hMenu; // Menu, if any
+ bool m_backgroundTransparent ;
// implement the base class pure virtuals
virtual void DoClientToScreen( int *x, int *y ) const;