]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/window.cpp
File for notes about publicity, incl. newsgroups for announcements.
[wxWidgets.git] / src / os2 / window.cpp
index 951bf17e8c797136775a92746d48cb37ba26aca9..6382bbee261d87bdb45bef13d119c555f5b2c025 100644 (file)
@@ -27,6 +27,8 @@
     #include "wx/app.h"
     #include "wx/panel.h"
     #include "wx/layout.h"
+    #include "wx/checkbox.h"
+    #include "wx/combobox.h"
     #include "wx/dialog.h"
     #include "wx/frame.h"
     #include "wx/listbox.h"
@@ -34,6 +36,7 @@
     #include "wx/msgdlg.h"
     #include "wx/scrolwin.h"
     #include "wx/radiobox.h"
+    #include "wx/radiobut.h"
     #include "wx/slider.h"
     #include "wx/statbox.h"
     #include "wx/statusbr.h"
@@ -2841,8 +2844,9 @@ MRESULT wxWindowOS2::OS2WindowProc(
                 }
                 else
                 {
-                    bProcessed = OS2OnMeasureItem(nIdCtrl,
-                                                 (WXMEASUREITEMSTRUCT *)lParam);
+                    return MRFROMLONG(OS2OnMeasureItem( nIdCtrl
+                                                       ,(WXMEASUREITEMSTRUCT *)lParam
+                                                      ));
                 }
 
                 if ( bProcessed )
@@ -3807,7 +3811,7 @@ bool wxWindowOS2::OS2OnDrawItem(
     return FALSE;
 } // end of wxWindowOS2::OS2OnDrawItem
 
-bool wxWindowOS2::OS2OnMeasureItem(
+long wxWindowOS2::OS2OnMeasureItem(
   int                               lId
 , WXMEASUREITEMSTRUCT*              pItemStruct
 )
@@ -3833,13 +3837,16 @@ bool wxWindowOS2::OS2OnMeasureItem(
                                          ,&nHeight
                                         ))
             {
+                MRESULT             mRc;
+
                 pMeasureStruct->rclItem.xRight  = nWidth;
                 pMeasureStruct->rclItem.xLeft   = 0L;
                 pMeasureStruct->rclItem.yTop    = nHeight;
                 pMeasureStruct->rclItem.yBottom = 0L;
-                return TRUE;
+                mRc = MRFROM2SHORT(nHeight, nWidth);
+                return LONGFROMMR(mRc);
             }
-            return FALSE;
+            return 0L;
         }
     }
     wxWindow*                      pItem = FindItem(lId);
@@ -4589,7 +4596,10 @@ void wxWindowOS2::MoveChildren(
   int                               nDiff
 )
 {
-    if (GetAutoLayout())
+    //
+    // We want to handle top levels ourself, manually
+    //
+    if (!IsTopLevel() && GetAutoLayout())
     {
         Layout();
     }