]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/window.h
Decided that not doing methods for keyboard commands was not worth the
[wxWidgets.git] / include / wx / window.h
index f91e96671af7bd064224a6f83246fdddfdbd0f13..75134e6892232c35f514f9938cbba8ad898dd780 100644 (file)
@@ -102,8 +102,9 @@ public:
     // creating the window
     // -------------------
 
     // 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,
 
         // 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; }
 
     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; }
         // 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;
 
     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;
 
     // 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
 
     // 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
 
     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:
 
 
 private:
@@ -1148,10 +1156,6 @@ private:
         #define wxWindowNative wxWindowMSW
     #else // !wxUniv
         #define wxWindowMSW wxWindow
         #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__)
     #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 wxWindowNative wxWindowGTK
     #else // !wxUniv
         #define wxWindowGTK wxWindow
-        #define sm_classwxWindowGTK sm_classwxWindow
     #endif // wxUniv
     #include "wx/gtk/window.h"
 #elif defined(__WXX11__)
     #endif // wxUniv
     #include "wx/gtk/window.h"
 #elif defined(__WXX11__)
@@ -1169,7 +1172,6 @@ private:
         #define wxWindowNative wxWindowX11
     #else // !wxUniv
         #define wxWindowX11 wxWindow
         #define wxWindowNative wxWindowX11
     #else // !wxUniv
         #define wxWindowX11 wxWindow
-        #define sm_classwxWindowX11 sm_classwxWindow
     #endif // wxUniv
     #include "wx/x11/window.h"
 #elif defined(__WXMGL__)
     #endif // wxUniv
     #include "wx/x11/window.h"
 #elif defined(__WXMGL__)
@@ -1177,7 +1179,6 @@ private:
         #define wxWindowNative wxWindowMGL
     #else // !wxUniv
         #define wxWindowMGL wxWindow
         #define wxWindowNative wxWindowMGL
     #else // !wxUniv
         #define wxWindowMGL wxWindow
-        #define sm_classwxWindowMGL sm_classwxWindow
     #endif // wxUniv
     #include "wx/mgl/window.h"
 #elif defined(__WXMAC__)
     #endif // wxUniv
     #include "wx/mgl/window.h"
 #elif defined(__WXMAC__)
@@ -1185,7 +1186,6 @@ private:
         #define wxWindowNative wxWindowMac
     #else // !wxUniv
         #define wxWindowMac wxWindow
         #define wxWindowNative wxWindowMac
     #else // !wxUniv
         #define wxWindowMac wxWindow
-        #define sm_classwxWindowMac sm_classwxWindow
     #endif // wxUniv
     #include "wx/mac/window.h"
 #elif defined(__WXCOCOA__)
     #endif // wxUniv
     #include "wx/mac/window.h"
 #elif defined(__WXCOCOA__)
@@ -1193,7 +1193,6 @@ private:
         #define wxWindowNative wxWindowCocoa
     #else // !wxUniv
         #define wxWindowCocoa wxWindow
         #define wxWindowNative wxWindowCocoa
     #else // !wxUniv
         #define wxWindowCocoa wxWindow
-        #define sm_classwxWindowCocoa sm_classwxWindow
     #endif // wxUniv
     #include "wx/cocoa/window.h"
 #elif defined(__WXPM__)
     #endif // wxUniv
     #include "wx/cocoa/window.h"
 #elif defined(__WXPM__)
@@ -1201,7 +1200,6 @@ private:
         #define wxWindowNative wxWindowOS2
     #else // !wxUniv
         #define wxWindowOS2 wxWindow
         #define wxWindowNative wxWindowOS2
     #else // !wxUniv
         #define wxWindowOS2 wxWindow
-        #define sm_classwxWindowOS2 sm_classwxWindow
     #endif // wxUniv/!wxUniv
     #include "wx/os2/window.h"
 #endif
     #endif // wxUniv/!wxUniv
     #include "wx/os2/window.h"
 #endif