X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e9efd3f5bd29bc4d702a4f938b32dd9168f5043d..3b49331b7441e091fc5997b830801d76a1243f28:/include/wx/univ/window.h diff --git a/include/wx/univ/window.h b/include/wx/univ/window.h index 8e32e29618..bb8e81d7c6 100644 --- a/include/wx/univ/window.h +++ b/include/wx/univ/window.h @@ -16,12 +16,19 @@ #include "wx/bitmap.h" // for m_bitmapBg -class WXDLLEXPORT wxControlRenderer; -class WXDLLEXPORT wxEventLoop; -class WXDLLEXPORT wxMenu; -class WXDLLEXPORT wxMenuBar; -class WXDLLEXPORT wxRenderer; -class WXDLLEXPORT wxScrollBar; +class WXDLLIMPEXP_FWD_CORE wxControlRenderer; +class WXDLLIMPEXP_FWD_CORE wxEventLoop; + +#if wxUSE_MENUS + class WXDLLIMPEXP_FWD_CORE wxMenu; + class WXDLLIMPEXP_FWD_CORE wxMenuBar; +#endif // wxUSE_MENUS + +class WXDLLIMPEXP_FWD_CORE wxRenderer; + +#if wxUSE_SCROLLBAR + class WXDLLIMPEXP_FWD_CORE wxScrollBar; +#endif // wxUSE_SCROLLBAR #ifdef __WXX11__ #define wxUSE_TWO_WINDOWS 1 @@ -106,8 +113,6 @@ public: // NB: all menu related functions are implemented in menu.cpp #if wxUSE_MENUS - virtual bool DoPopupMenu(wxMenu *menu, int x, int y); - // this is wxUniv-specific private method to be used only by wxMenu void DismissPopupMenu(); #endif // wxUSE_MENUS @@ -127,11 +132,13 @@ public: // set the "highlighted" flag and return true if it changed virtual bool SetCurrent(bool doit = true); +#if wxUSE_SCROLLBAR // get the scrollbar (may be NULL) for the given orientation wxScrollBar *GetScrollbar(int orient) const { return orient & wxVERTICAL ? m_scrollbarVert : m_scrollbarHorz; } +#endif // wxUSE_SCROLLBAR // methods used by wxColourScheme to choose the colours for this window // -------------------------------------------------------------------- @@ -183,11 +190,23 @@ public: // should we use the standard control colours or not? virtual bool ShouldInheritColours() const { return false; } + virtual bool IsClientAreaChild(const wxWindow *child) const + { +#if wxUSE_SCROLLBAR + if ( child == (wxWindow*)m_scrollbarHorz || + child == (wxWindow*)m_scrollbarVert ) + return false; +#endif + return wxWindowNative::IsClientAreaChild(child); + } + protected: // common part of all ctors void Init(); - // overridden base class virtuals +#if wxUSE_MENUS + virtual bool DoPopupMenu(wxMenu *menu, int x, int y); +#endif // wxUSE_MENUS // we deal with the scrollbars in these functions virtual void DoSetClientSize(int width, int height); @@ -256,9 +275,12 @@ public: #endif // __WXMSW__ private: + +#if wxUSE_SCROLLBAR // the window scrollbars wxScrollBar *m_scrollbarHorz, *m_scrollbarVert; +#endif // wxUSE_SCROLLBAR #if wxUSE_MENUS // the current modal event loop for the popup menu we show or NULL