]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/panelg.cpp
Account for largest item in wxGenericListCtrl::GetBestSize().
[wxWidgets.git] / src / generic / panelg.cpp
index 7a31bd9ab58f363afa14a3aa6d63d4700156908e..ee4a901a06c105d6d431934a31a54f54a9d5f70b 100644 (file)
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "panelg.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
     #include "wx/colour.h"
     #include "wx/settings.h"
     #include "wx/log.h"
+    #include "wx/panel.h"
+    #include "wx/containr.h"
 #endif
 
-#include "wx/containr.h"
-#include "wx/panel.h"
-
 // ----------------------------------------------------------------------------
 // wxWin macros
 // ----------------------------------------------------------------------------
@@ -93,8 +88,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxPanel, wxWindow)
 #endif
 
 BEGIN_EVENT_TABLE(wxPanel, wxWindow)
-    EVT_SIZE(wxPanel::OnSize)
-
     WX_EVENT_TABLE_CONTROL_CONTAINER(wxPanel)
 END_EVENT_TABLE()
 
@@ -102,7 +95,7 @@ END_EVENT_TABLE()
 // implementation
 // ============================================================================
 
-WX_DELEGATE_TO_CONTROL_CONTAINER(wxPanel)
+WX_DELEGATE_TO_CONTROL_CONTAINER(wxPanel, wxWindow)
 
 // ----------------------------------------------------------------------------
 // wxPanel creation
@@ -110,7 +103,11 @@ WX_DELEGATE_TO_CONTROL_CONTAINER(wxPanel)
 
 void wxPanel::Init()
 {
-    m_container.SetContainerWindow(this);
+    WX_INIT_CONTROL_CONTAINER();
+
+#ifdef __WXMSW__
+    m_isTransparent = false;
+#endif // __WXMSW__
 }
 
 bool wxPanel::Create(wxWindow *parent, wxWindowID id,
@@ -125,7 +122,7 @@ bool wxPanel::Create(wxWindow *parent, wxWindowID id,
     // so that non-solid background renders correctly under GTK+:
     SetThemeEnabled(true);
 
-#ifdef __WXWINCE__
+#if defined(__WXWINCE__) && (defined(__POCKETPC__) || defined(__SMARTPHONE__))
     // Required to get solid control backgrounds under WinCE
     SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW));
 #endif
@@ -144,43 +141,3 @@ void wxPanel::InitDialog()
     GetEventHandler()->ProcessEvent(event);
 }
 
-// ----------------------------------------------------------------------------
-// event handlers
-// ----------------------------------------------------------------------------
-
-void wxPanel::OnSize(wxSizeEvent& event)
-{
-    if (GetAutoLayout())
-        Layout();
-#if wxUSE_CONSTRAINTS
-#if defined(__WXPM__)
-    else
-    {
-        // Need to properly move child windows under OS/2
-
-        PSWP                        pWinSwp = GetSwp();
-
-        if (pWinSwp->cx == 0 && pWinSwp->cy == 0 && pWinSwp->fl == 0)
-        {
-            // Uninitialized
-
-            ::WinQueryWindowPos(GetHWND(), pWinSwp);
-        }
-        else
-        {
-            SWP                     vSwp;
-            int                     nYDiff;
-
-            ::WinQueryWindowPos(GetHWND(), &vSwp);
-            nYDiff = pWinSwp->cy - vSwp.cy;
-            MoveChildren(nYDiff);
-            pWinSwp->cx = vSwp.cx;
-            pWinSwp->cy = vSwp.cy;
-        }
-    }
-#endif
-#endif // wxUSE_CONSTRAINTS
-
-    event.Skip();
-}
-