X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a290fa5a7deebe9d96c0c0089d18e27d4bd9b624..147b8a4ab5ef1546015c9f1c40cf701d1ac4376a:/include/wx/univ/window.h?ds=sidebyside diff --git a/include/wx/univ/window.h b/include/wx/univ/window.h index 3761d2e79d..fe6a23f7bd 100644 --- a/include/wx/univ/window.h +++ b/include/wx/univ/window.h @@ -14,18 +14,21 @@ #ifndef _WX_UNIV_WINDOW_H_ #define _WX_UNIV_WINDOW_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "univwindow.h" -#endif - #include "wx/bitmap.h" // for m_bitmapBg class WXDLLEXPORT wxControlRenderer; class WXDLLEXPORT wxEventLoop; -class WXDLLEXPORT wxMenu; -class WXDLLEXPORT wxMenuBar; + +#if wxUSE_MENUS + class WXDLLEXPORT wxMenu; + class WXDLLEXPORT wxMenuBar; +#endif // wxUSE_MENUS + class WXDLLEXPORT wxRenderer; -class WXDLLEXPORT wxScrollBar; + +#if wxUSE_SCROLLBAR + class WXDLLEXPORT wxScrollBar; +#endif // wxUSE_SCROLLBAR #ifdef __WXX11__ #define wxUSE_TWO_WINDOWS 1 @@ -73,6 +76,8 @@ public: long style = 0, const wxString& name = wxPanelNameStr); + virtual ~wxWindow(); + // background pixmap support // ------------------------- @@ -108,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 @@ -129,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 // -------------------------------------------------------------------- @@ -142,23 +147,12 @@ public: // controls only virtual bool IsCanvasWindow() const { return false; } - // returns true if the control has "transparent" areas such - // as a wxStaticText and wxCheckBox and the background should - // be adapted from a parent window - virtual bool HasTransparentBackground() { return false; } - - // to be used with function above: transparent windows get - // their background from parents that return true here, - // so this is mostly for wxPanel, wxTopLevelWindow etc. - virtual bool ProvidesBackground() const { return false; } - // return true if this control can be highlighted when the mouse is over // it (the theme decides itself whether it is really highlighted or not) virtual bool CanBeHighlighted() const { return false; } // return true if we should use the colours/fonts returned by the // corresponding GetXXX() methods instead of the default ones - bool UseBgCol() const { return m_hasBgCol; } bool UseFgCol() const { return m_hasFgCol; } bool UseFont() const { return m_hasFont; } @@ -181,7 +175,7 @@ public: // erase part of the control virtual void EraseBackground(wxDC& dc, const wxRect& rect); - + // overridden base class methods // ----------------------------- @@ -200,7 +194,9 @@ 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); @@ -250,12 +246,12 @@ protected: // the renderer we use wxRenderer *m_renderer; - + // background bitmap info wxBitmap m_bitmapBg; int m_alignBgBitmap; wxStretch m_stretchBgBitmap; - + // old size wxSize m_oldSize; @@ -263,14 +259,18 @@ protected: bool m_isCurrent:1; #ifdef __WXMSW__ +public: // override MSWWindowProc() to process WM_NCHITTEST WXLRESULT MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam); #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 @@ -285,4 +285,3 @@ private: }; #endif // _WX_UNIV_WINDOW_H_ -