X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b5a9b87e1620e52f1f13d2619b4677f2b365c93f..04fa04d8067d235ab45b5bc05b65f0679634b541:/src/generic/splitter.cpp diff --git a/src/generic/splitter.cpp b/src/generic/splitter.cpp index e358c875de..03abc8baa5 100644 --- a/src/generic/splitter.cpp +++ b/src/generic/splitter.cpp @@ -66,12 +66,8 @@ BEGIN_EVENT_TABLE(wxSplitterWindow, wxWindow) #if defined( __WXMSW__ ) || defined( __WXMAC__) EVT_SET_CURSOR(wxSplitterWindow::OnSetCursor) #endif // wxMSW - - WX_EVENT_TABLE_CONTROL_CONTAINER(wxSplitterWindow) END_EVENT_TABLE() -WX_DELEGATE_TO_CONTROL_CONTAINER(wxSplitterWindow, wxWindow) - static bool IsLive(wxSplitterWindow* wnd) { // with wxSP_LIVE_UPDATE style the splitter windows are always resized @@ -94,11 +90,6 @@ bool wxSplitterWindow::Create(wxWindow *parent, wxWindowID id, // allow TABbing from one window to the other style |= wxTAB_TRAVERSAL; - // we draw our border ourselves to blend the sash with it - style &= ~wxBORDER_MASK; - style |= wxBORDER_NONE; - - if ( !wxWindow::Create(parent, id, pos, size, style, name) ) return false; @@ -122,8 +113,6 @@ bool wxSplitterWindow::Create(wxWindow *parent, wxWindowID id, void wxSplitterWindow::Init() { - WX_INIT_CONTROL_CONTAINER(); - m_splitMode = wxSPLIT_VERTICAL; m_permitUnsplitAlways = true; m_windowOne = NULL; @@ -134,7 +123,6 @@ void wxSplitterWindow::Init() m_sashStart = 0; m_sashPosition = m_requestedSashPosition = 0; m_sashGravity = 0.0; - m_sashSize = -1; // -1 means use the native sash size m_lastSize = wxSize(0,0); m_checkRequestedSashPosition = false; m_minimumPaneSize = 0; @@ -194,6 +182,12 @@ void wxSplitterWindow::SetResizeCursor() void wxSplitterWindow::OnPaint(wxPaintEvent& WXUNUSED(event)) { wxPaintDC dc(this); +#ifdef __WXOSX__ + // as subpanels might have a transparent background we must erase the background + // at least on OSX, otherwise traces of the sash will remain + // test with: splitter sample->replace right window + dc.Clear(); +#endif DrawSash(dc); } @@ -490,7 +484,7 @@ bool wxSplitterWindow::SashHitTest(int x, int y, int tolerance) int wxSplitterWindow::GetSashSize() const { - return m_sashSize > -1 ? m_sashSize : wxRendererNative::Get().GetSplitterParams(this).widthSash; + return wxRendererNative::Get().GetSplitterParams(this).widthSash; } int wxSplitterWindow::GetBorderSize() const @@ -741,7 +735,7 @@ bool wxSplitterWindow::DoSplit(wxSplitMode mode, return false; wxCHECK_MSG( window1 && window2, false, - wxT("can not split with NULL window(s)") ); + wxT("cannot split with NULL window(s)") ); wxCHECK_MSG( window1->GetParent() == this && window2->GetParent() == this, false, wxT("windows in the splitter should have it as parent!") );