]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/panelg.cpp
Override GetPixelSize on OS X as the base impl creates a wxScreenDC each time, which...
[wxWidgets.git] / src / generic / panelg.cpp
index 8fdf61271568a8d724fe1e10ea962543814cbab9..34c59bb52da38761e7f6dc4126ecd59fd9d9d0db 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_SYS_COLOUR_CHANGED(wxPanel::OnSysColourChanged)
-
     EVT_SIZE(wxPanel::OnSize)
 
     WX_EVENT_TABLE_CONTROL_CONTAINER(wxPanel)
@@ -104,7 +97,7 @@ END_EVENT_TABLE()
 // implementation
 // ============================================================================
 
-WX_DELEGATE_TO_CONTROL_CONTAINER(wxPanel)
+WX_DELEGATE_TO_CONTROL_CONTAINER(wxPanel, wxWindow)
 
 // ----------------------------------------------------------------------------
 // wxPanel creation
@@ -127,10 +120,10 @@ bool wxPanel::Create(wxWindow *parent, wxWindowID id,
     // so that non-solid background renders correctly under GTK+:
     SetThemeEnabled(true);
 
-#ifdef __WXMSW__
-    // panels don't have the same colour as normal windows under Windows
-    SetDefaultBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE));
-#endif // __WXMSW__
+#if defined(__WXWINCE__) && (defined(__POCKETPC__) || defined(__SMARTPHONE__))
+    // Required to get solid control backgrounds under WinCE
+    SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW));
+#endif
 
     return true;
 }
@@ -150,22 +143,12 @@ void wxPanel::InitDialog()
 // event handlers
 // ----------------------------------------------------------------------------
 
-// Responds to colour changes, and passes event on to children.
-void wxPanel::OnSysColourChanged(wxSysColourChangedEvent& event)
-{
-    SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE));
-    Refresh();
-
-    // Propagate the event to the non-top-level children
-    wxWindow::OnSysColourChanged(event);
-}
-
 void wxPanel::OnSize(wxSizeEvent& event)
 {
     if (GetAutoLayout())
         Layout();
 #if wxUSE_CONSTRAINTS
-#if defined(__WXPM__)
+#if defined(__WXPM__) && 0
     else
     {
         // Need to properly move child windows under OS/2
@@ -195,4 +178,3 @@ void wxPanel::OnSize(wxSizeEvent& event)
 
     event.Skip();
 }
-