X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6feb95a79834836e88143b15d9f424ebe79621..0b165ed6b209ea9f5ddd7bfb1813c6f0718a9a3d:/include/wx/window.h diff --git a/include/wx/window.h b/include/wx/window.h index 93818581c6..549e6a61c5 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -36,6 +36,14 @@ #include "wx/accel.h" #endif // wxUSE_ACCEL +// when building wxUniv/Foo we don't want the code for native menu use to be +// compiled in - it should only be used when building real wxFoo +#ifdef __WXUNIVERSAL__ + #define wxUSE_MENUS_NATIVE 0 +#else // __WXMSW__ + #define wxUSE_MENUS_NATIVE wxUSE_MENUS +#endif // __WXUNIVERSAL__/__WXMSW__ + // ---------------------------------------------------------------------------- // forward declarations // ---------------------------------------------------------------------------- @@ -511,6 +519,12 @@ public: // clear the window entirely virtual void Clear() = 0; + // freeze the window: don't redraw it until it is thawed + virtual void Freeze() { } + + // thaw the window: redraw it after it had been frozen + virtual void Thaw() { } + // adjust DC for drawing on this window virtual void PrepareDC( wxDC & WXUNUSED(dc) ) { } @@ -953,15 +967,19 @@ private: // include the declaration of the platform-specific class #if defined(__WXMSW__) - #if !defined(__WXUNIVERSAL__) + #ifdef __WXUNIVERSAL__ + #define wxWindowNative wxWindowMSW + #else // !wxUniv #define wxWindowMSW wxWindow #define sm_classwxWindowMSW sm_classwxWindow - #endif // wxUniv + #endif // wxUniv/!wxUniv #include "wx/msw/window.h" #elif defined(__WXMOTIF__) #include "wx/motif/window.h" #elif defined(__WXGTK__) - #if !defined(__WXUNIVERSAL__) + #ifdef __WXUNIVERSAL__ + #define wxWindowNative wxWindowGTK + #else // !wxUniv #define wxWindowGTK wxWindow #define sm_classwxWindowGTK sm_classwxWindow #endif // wxUniv @@ -969,14 +987,30 @@ private: #elif defined(__WXQT__) #include "wx/qt/window.h" #elif defined(__WXMAC__) + #ifdef __WXUNIVERSAL__ + #define wxWindowNative wxWindowMac + #else // !wxUniv + #define wxWindowMac wxWindow + #define sm_classwxWindowMac sm_classwxWindow + #endif // wxUniv #include "wx/mac/window.h" #elif defined(__WXPM__) + #ifdef __WXUNIVERSAL__ + #define wxWindowNative wxWindowOS2 + #else // !wxUniv + #define wxWindowOS2 wxWindow + #define sm_classwxWindowOS2 sm_classwxWindow + #endif // wxUniv/!wxUniv #include "wx/os2/window.h" #endif // for wxUniversal, we now derive the real wxWindow from wxWindow, // for the native ports we already have defined it above #if defined(__WXUNIVERSAL__) + #ifndef wxWindowNative + #error "wxWindowNative must be defined above!" + #endif + #include "wx/univ/window.h" #endif // wxUniv @@ -994,8 +1028,6 @@ inline wxWindow *wxWindowBase::GetGrandParent() const // global functions // ---------------------------------------------------------------------------- -WXDLLEXPORT extern wxWindow* wxGetActiveWindow(); - // Find the wxWindow at the current mouse position, also returning the mouse // position. WXDLLEXPORT extern wxWindow* wxFindWindowAtPointer(wxPoint& pt);