]> git.saurik.com Git - wxWidgets.git/commitdiff
wxFrame::OnSize() slightly optimized (the behaviour is the same as before)
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 12 Jul 1998 21:55:31 +0000 (21:55 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 12 Jul 1998 21:55:31 +0000 (21:55 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@239 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/frame.cpp

index a746bf4da8ec9ad050972e5bc5d7cc3d310589da..8adcf37a443a2060ea3cdc2cd9617f5b35e18796 100644 (file)
@@ -749,47 +749,36 @@ bool wxFrame::MSWProcessMessage(WXMSG* pMsg)
 // resize to client rectangle size
 void wxFrame::OnSize(wxSizeEvent& event)
 {
-  // Search for a child which is a subwindow, not another frame.
+  // if we're using constraints - do use them
+  #if USE_CONSTRAINTS
+    if ( GetAutoLayout() ) {
+      Layout();
+      return;
+    }
+  #endif
+
+  // do we have _exactly_ one child?
   wxWindow *child = NULL;
-  // Count the number of _subwindow_ children
-  int noChildren = 0;
-  for(wxNode *node = GetChildren()->First(); node; node = node->Next())
+  for ( wxNode *node = GetChildren()->First(); node; node = node->Next() )
   {
     wxWindow *win = (wxWindow *)node->Data();
-    if (!win->IsKindOf(CLASSINFO(wxFrame)) && !win->IsKindOf(CLASSINFO(wxDialog))
-      && (win != GetStatusBar()))
+    if ( !win->IsKindOf(CLASSINFO(wxFrame))  &&
+         !win->IsKindOf(CLASSINFO(wxDialog)) && 
+         (win != GetStatusBar()) )
     {
+      if ( child )
+        return;     // it's our second subwindow - nothing to do
       child = win;
-      noChildren ++;
     }
   }
 
-  // If not one child, call the Layout function if compiled in
-  if (!child || (noChildren > 1)
-#if USE_CONSTRAINTS
-   || GetAutoLayout()
-#endif
-   )
-  {
-#if USE_CONSTRAINTS
-    if (GetAutoLayout())
-      Layout();
-#endif
-    return;
-  }
-  
-  if (child)
-  {
+  if ( child ) {
+    // we have exactly one child - set it's size to fill the whole frame
     int client_x, client_y;
 
-#if WXDEBUG > 1
-    wxDebugMsg("wxFrame::OnSize: about to set the child's size.\n");
-#endif
-
     GetClientSize(&client_x, &client_y);
     child->SetSize(0, 0, client_x, client_y);
   }
-
 }
 
 // Default activation behaviour - set the focus for the first child