]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/toplvcmn.cpp
tmake update.
[wxWidgets.git] / src / common / toplvcmn.cpp
index 7a9101dbb24d3d5c2746a12ad0cb8a8d53038851..a67959b9f08d57bed7dd0dc3339c6805d4f01919 100644 (file)
@@ -45,7 +45,10 @@ END_EVENT_TABLE()
 // implementation
 // ============================================================================
 
-IMPLEMENT_DYNAMIC_CLASS(wxTopLevelWindow, wxWindow)
+// FIXME: some platforms don't have wxTopLevelWindow yet
+#ifdef wxTopLevelWindowNative
+    IMPLEMENT_DYNAMIC_CLASS(wxTopLevelWindow, wxWindow)
+#endif
 
 // ----------------------------------------------------------------------------
 // construction/destruction
@@ -55,6 +58,11 @@ wxTopLevelWindowBase::wxTopLevelWindowBase()
 {
 }
 
+wxTopLevelWindowBase::~wxTopLevelWindowBase()
+{
+    // this destructor is required for Darwin
+}
+
 bool wxTopLevelWindowBase::Destroy()
 {
     // delayed destruction: the frame will be deleted during the next idle
@@ -129,6 +137,9 @@ void wxTopLevelWindowBase::OnSize(wxSizeEvent& WXUNUSED(event))
             {
                 if ( child )
                 {
+#ifdef __WXPM__
+                    AlterChildPos();
+#endif
                     return;     // it's our second subwindow - nothing to do
                 }
 
@@ -151,7 +162,14 @@ void wxTopLevelWindowBase::OnSize(wxSizeEvent& WXUNUSED(event))
             static const int ofs = 0;
 #endif
 
+#ifdef __WXPM__
+            // OS/2 PM has to do a LOT of stuff to get things
+            // positioned right, especially if the child is a
+            // scrolled window.
+            UpdateInternalSize(child, clientW, clientH);
+#else
             child->SetSize(ofs, ofs, clientW - 2*ofs, clientH - 2*ofs);
+#endif
         }
     }
 }
@@ -169,4 +187,3 @@ bool wxTopLevelWindowBase::SendIconizeEvent(bool iconized)
 
     return GetEventHandler()->ProcessEvent(event);
 }
-