]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/wincmn.cpp
Improved selection mode handling in wxGrid::SelectBlock
[wxWidgets.git] / src / common / wincmn.cpp
index 1cbe67838f11b12ab5ead1be7011fa3dd4068c9f..bd49ebf5dd893aa8cfbd76ffd9556ea7d3e78ab3 100644 (file)
@@ -123,12 +123,12 @@ void wxWindowBase::InitBase()
     // m_foregroundColour = *wxBLACK;  // TODO take this from sys settings too?
     m_foregroundColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOWTEXT);
 
-#if !defined(__WXMAC__) && !defined(__WXGTK__)
+    // GRG, changed Mar/2000
+#if 0 // !defined(__WXMAC__) && !defined(__WXGTK__)
     m_font = *wxSWISS_FONT;         //      and this?
 #else
     m_font = settings.GetSystemFont(wxSYS_DEFAULT_GUI_FONT);
 #endif
-
     // no style bits
     m_exStyle =
     m_windowStyle = 0;
@@ -176,15 +176,6 @@ bool wxWindowBase::CreateBase(wxWindowBase *parent,
     m_windowId = id == -1 ? NewControlId() : id;
 
     SetName(name);
-
-    // if the parent window has wxWS_EX_VALIDATE_RECURSIVELY set, we want to
-    // have it too - like this it's possible to set it only in the top level
-    // dialog/frame and all children will inherit it by defult
-    if ( parent && (parent->GetWindowStyle() & wxWS_EX_VALIDATE_RECURSIVELY) )
-    {
-        style |= wxWS_EX_VALIDATE_RECURSIVELY;
-    }
-
     SetWindowStyleFlag(style);
     SetParent(parent);
 
@@ -192,6 +183,14 @@ bool wxWindowBase::CreateBase(wxWindowBase *parent,
     SetValidator(validator);
 #endif // wxUSE_VALIDATORS
 
+    // if the parent window has wxWS_EX_VALIDATE_RECURSIVELY set, we want to
+    // have it too - like this it's possible to set it only in the top level
+    // dialog/frame and all children will inherit it by defult
+    if ( parent && (parent->GetExtraStyle() & wxWS_EX_VALIDATE_RECURSIVELY) )
+    {
+        SetExtraStyle(wxWS_EX_VALIDATE_RECURSIVELY);
+    }
+
     return TRUE;
 }
 
@@ -404,6 +403,14 @@ wxSize wxWindowBase::DoGetBestSize() const
 
             int wx, wy, ww, wh;
             win->GetPosition(&wx, &wy);
+
+            // if the window hadn't been positioned yet, assume that it is in
+            // the origin
+            if ( wx == -1 )
+                wx = 0;
+            if ( wy == -1 )
+                wy = 0;
+
             win->GetSize(&ww, &wh);
             if ( wx + ww > maxX )
                 maxX = wx + ww;