]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/collpaneg.cpp
Replaced moved wxVScrolledWindow HitTest methods fixing bug 1841939 (wxVListBox and...
[wxWidgets.git] / src / generic / collpaneg.cpp
index 1e2a14880faf4c2b8902bd9c6618c1b18e88dde4..40dd98609afb32cf3f04431758c147647ce1650c 100644 (file)
@@ -26,6 +26,7 @@
     #include "wx/toplevel.h"
     #include "wx/button.h"
     #include "wx/sizer.h"
+    #include "wx/panel.h"
 #endif // !WX_PRECOMP
 
 #include "wx/statline.h"
@@ -38,7 +39,7 @@
 // implementation
 // ============================================================================
 
-const wxChar wxGenericCollapsiblePaneNameStr[] = wxT("genericCollapsiblePane");
+const wxChar wxCollapsiblePaneNameStr[] = wxT("collapsiblePane");
 
 //-----------------------------------------------------------------------------
 // wxGenericCollapsiblePane
@@ -85,13 +86,15 @@ bool wxGenericCollapsiblePane::Create(wxWindow *parent,
     m_sz->Add(m_pStaticLine, 1, wxALIGN_CENTER|wxLEFT|wxRIGHT, GetBorder());
 #endif
 
-#ifdef __WXWINCE__
+    // FIXME: at least under wxCE and wxGTK1 the background is black if we don't do
+    //        this, no idea why...
+#if defined(__WXWINCE__) || defined(__WXGTK__)
     SetBackgroundColour(parent->GetBackgroundColour());
 #endif
 
     // do not set sz as our sizers since we handle the pane window without using sizers
-    m_pPane = new wxWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
-                           wxNO_BORDER);
+    m_pPane = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
+                          wxTAB_TRAVERSAL|wxNO_BORDER);
 
     // start as collapsed:
     m_pPane->Hide();
@@ -181,11 +184,11 @@ void wxGenericCollapsiblePane::OnStateChange(const wxSize& sz)
                 if (top->GetSizer())
                 {
                     // we have just set the size hints...
-                    wxSize sz = top->GetSizer()->CalcMin();
+                    wxSize szClient = top->GetSizer()->CalcMin();
 
                     // use SetClientSize() and not SetSize() otherwise the size for
                     // e.g. a wxFrame with a menubar wouldn't be correctly set
-                    top->SetClientSize(sz);
+                    top->SetClientSize(szClient);
                 }
                 else
                     top->Layout();
@@ -256,8 +259,6 @@ int wxGenericCollapsiblePane::GetBorder() const
 {
 #if defined( __WXMAC__ )
     return 6;
-#elif defined(__WXGTK20__)
-    return 3;
 #elif defined(__WXMSW__)
     wxASSERT(m_pButton);
     return m_pButton->ConvertDialogToPixels(wxSize(2, 0)).x;