- m_pStatLine = new wxStaticLine(this, wxID_ANY);
- m_pPane = new wxWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNO_BORDER);
+ m_pStaticLine = new wxStaticLine(this, wxID_ANY);
+#ifdef __WXMAC__
+ // on Mac we put the static libe above the button
+ m_sz = new wxBoxSizer(wxVERTICAL);
+ m_sz->Add(m_pStaticLine, 0, wxALL|wxGROW, GetBorder());
+ m_sz->Add(m_pButton, 0, wxLEFT|wxRIGHT|wxBOTTOM, GetBorder());
+#else
+ // on other platforms we put the static line and the button horizontally
+ m_sz = new wxBoxSizer(wxHORIZONTAL);
+ m_sz->Add(m_pButton, 0, wxLEFT|wxTOP|wxBOTTOM, GetBorder());
+ m_sz->Add(m_pStaticLine, 1, wxALIGN_CENTER|wxLEFT|wxRIGHT, GetBorder());
+#endif
+
+ // 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__) && !defined(__WXGTK20__))
+ SetBackgroundColour(parent->GetBackgroundColour());
+#endif
+
+ // do not set sz as our sizers since we handle the pane window without using sizers
+ m_pPane = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
+ wxTAB_TRAVERSAL|wxNO_BORDER);