X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d4864e971beb14110e16450729bf16e733d79fff..c26dba42b75b2c19df5834417ffbe330bc375b20:/include/wx/window.h?ds=sidebyside diff --git a/include/wx/window.h b/include/wx/window.h index f91e96671a..75134e6892 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -102,8 +102,9 @@ public: // creating the window // ------------------- - // default ctor - wxWindowBase() { InitBase(); } + // default ctor, initializes everything which can be initialized before + // Create() + wxWindowBase() ; // pseudo ctor (can't be virtual, called from ctor) bool CreateBase(wxWindowBase *parent, @@ -393,6 +394,14 @@ public: virtual void SetThemeEnabled(bool enableTheme) { m_themeEnabled = enableTheme; } virtual bool GetThemeEnabled() const { return m_themeEnabled; } + // Returns true if this class should have the background colour + // changed to match the parent window's theme. For example when a + // page is added to a notebook it and it's children may need to have + // the colours adjusted depending on the current theme settings, but + // not all windows/controls can do this without looking wrong. + virtual void ApplyParentThemeBackground(const wxColour& WXUNUSED(bg)) + { /* do nothing */ } + // returns true if this window should inherit its parent colours on // creation virtual bool ShouldInheritColours() const { return false; } @@ -1026,18 +1035,15 @@ protected: int m_maxVirtualWidth; int m_maxVirtualHeight; - // common part of all ctors: it is not virtual because it is called from - // ctor - void InitBase(); - // override this to change the default (i.e. used when no style is // specified) border for the window class virtual wxBorder GetDefaultBorder() const; - // get the default size for the new window if no explicit size given - // FIXME why 20 and not 30, 10 or ...? - static int WidthDefault(int w) { return w == -1 ? 20 : w; } - static int HeightDefault(int h) { return h == -1 ? 20 : h; } + // Get the default size for the new window if no explicit size given If + // there are better default sizes then these can be changed, just as long + // as they are not too small for TLWs. + static int WidthDefault(int w) { return w == -1 ? 400 : w; } + static int HeightDefault(int h) { return h == -1 ? 250 : h; } // set the best size for the control if the default size was given: // replaces the fields of size == -1 with the best values for them and @@ -1120,9 +1126,11 @@ protected: virtual bool DoPopupMenu( wxMenu *menu, int x, int y ) = 0; #endif // wxUSE_MENUS - // Makes an adjustment to the window position (for example, a frame that has - // a toolbar that it manages itself). - virtual void AdjustForParentClientOrigin(int& x, int& y, int sizeFlags) const; + // Makes an adjustment to the window position to make it relative to the + // parents client area, e.g. if the parent is a frame with a toolbar, its + // (0, 0) is just below the toolbar + virtual void AdjustForParentClientOrigin(int& x, int& y, + int sizeFlags = 0) const; private: @@ -1148,10 +1156,6 @@ private: #define wxWindowNative wxWindowMSW #else // !wxUniv #define wxWindowMSW wxWindow - #define sm_classwxWindowMSW sm_classwxWindow - #define sm_constructorPropertiesCountwxWindowMSW sm_constructorPropertiesCountwxWindow - #define sm_constructorPropertieswxWindowMSW sm_constructorPropertieswxWindow - #define sm_constructorwxWindowMSW sm_constructorwxWindow #endif // wxUniv/!wxUniv #include "wx/msw/window.h" #elif defined(__WXMOTIF__) @@ -1161,7 +1165,6 @@ private: #define wxWindowNative wxWindowGTK #else // !wxUniv #define wxWindowGTK wxWindow - #define sm_classwxWindowGTK sm_classwxWindow #endif // wxUniv #include "wx/gtk/window.h" #elif defined(__WXX11__) @@ -1169,7 +1172,6 @@ private: #define wxWindowNative wxWindowX11 #else // !wxUniv #define wxWindowX11 wxWindow - #define sm_classwxWindowX11 sm_classwxWindow #endif // wxUniv #include "wx/x11/window.h" #elif defined(__WXMGL__) @@ -1177,7 +1179,6 @@ private: #define wxWindowNative wxWindowMGL #else // !wxUniv #define wxWindowMGL wxWindow - #define sm_classwxWindowMGL sm_classwxWindow #endif // wxUniv #include "wx/mgl/window.h" #elif defined(__WXMAC__) @@ -1185,7 +1186,6 @@ private: #define wxWindowNative wxWindowMac #else // !wxUniv #define wxWindowMac wxWindow - #define sm_classwxWindowMac sm_classwxWindow #endif // wxUniv #include "wx/mac/window.h" #elif defined(__WXCOCOA__) @@ -1193,7 +1193,6 @@ private: #define wxWindowNative wxWindowCocoa #else // !wxUniv #define wxWindowCocoa wxWindow - #define sm_classwxWindowCocoa sm_classwxWindow #endif // wxUniv #include "wx/cocoa/window.h" #elif defined(__WXPM__) @@ -1201,7 +1200,6 @@ private: #define wxWindowNative wxWindowOS2 #else // !wxUniv #define wxWindowOS2 wxWindow - #define sm_classwxWindowOS2 sm_classwxWindow #endif // wxUniv/!wxUniv #include "wx/os2/window.h" #endif