]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xh_sizer.cpp
no real changes, just use more readable helper wxTextEntry methods (patch 1910165 )
[wxWidgets.git] / src / xrc / xh_sizer.cpp
index 9ff053c5b28425d675f869d6c036b57d84f336be..f5e2dcc46616ba1825cf0c0f6fe36b0c96b4818c 100644 (file)
@@ -27,6 +27,7 @@
     #include "wx/frame.h"
     #include "wx/dialog.h"
     #include "wx/button.h"
+    #include "wx/scrolwin.h"
 #endif
 
 #include "wx/gbsizer.h"
@@ -77,6 +78,7 @@ wxSizerXmlHandler::wxSizerXmlHandler()
     XRC_ADD_STYLE(wxALIGN_CENTRE_VERTICAL);
 
     XRC_ADD_STYLE(wxFIXED_MINSIZE);
+    XRC_ADD_STYLE(wxRESERVE_SPACE_EVEN_IF_HIDDEN);
 }
 
 
@@ -236,11 +238,22 @@ wxObject* wxSizerXmlHandler::Handle_sizer()
         wxXmlNode *nd = m_node;
         m_node = parentNode;
         if (GetSize() == wxDefaultSize)
-            sizer->Fit(m_parentAsWindow);
+        {
+            if ( wxDynamicCast(m_parentAsWindow, wxScrolledWindow) != NULL )
+            {
+                sizer->FitInside(m_parentAsWindow);
+            }
+            else
+            {
+                sizer->Fit(m_parentAsWindow);
+            }
+        }
         m_node = nd;
 
-        if (m_parentAsWindow->GetWindowStyle() & (wxMAXIMIZE_BOX | wxRESIZE_BORDER))
+        if (m_parentAsWindow->IsTopLevel())
+        {
             sizer->SetSizeHints(m_parentAsWindow);
+        }
     }
 
     return sizer;