#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
// 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;
void wxSplitterWindow::Init()
{
- WX_INIT_CONTROL_CONTAINER();
-
m_splitMode = wxSPLIT_VERTICAL;
m_permitUnsplitAlways = true;
m_windowOne = NULL;
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;
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);
}
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
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!") );