X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2e4df4bfaf214faac6d4c7519f4aab5b8c7fd287..4fcd60c72f6b90f5063f7000ff5a80a9004055a3:/src/generic/splitter.cpp diff --git a/src/generic/splitter.cpp b/src/generic/splitter.cpp index 30f6a94f25..dc50eb3590 100644 --- a/src/generic/splitter.cpp +++ b/src/generic/splitter.cpp @@ -56,14 +56,21 @@ BEGIN_EVENT_TABLE(wxSplitterWindow, wxWindow) EVT_SPLITTER_SASH_POS_CHANGING(-1, wxSplitterWindow::OnSashPosChanged) EVT_SPLITTER_DCLICK(-1, wxSplitterWindow::OnDoubleClick) EVT_SPLITTER_UNSPLIT(-1, wxSplitterWindow::OnUnsplitEvent) + + WX_EVENT_TABLE_CONTROL_CONTAINER(wxSplitterWindow) END_EVENT_TABLE() +WX_DELEGATE_TO_CONTROL_CONTAINER(wxSplitterWindow); + bool wxSplitterWindow::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name) { + // allow TABbing from one window to the other + style |= wxTAB_TRAVERSAL; + if (!wxWindow::Create(parent, id, pos, size, style, name)) return FALSE; @@ -86,6 +93,8 @@ bool wxSplitterWindow::Create(wxWindow *parent, wxWindowID id, void wxSplitterWindow::Init() { + m_container.SetContainerWindow(this); + m_splitMode = wxSPLIT_VERTICAL; m_permitUnsplitAlways = TRUE; m_windowOne = (wxWindow *) NULL; @@ -314,7 +323,7 @@ void wxSplitterWindow::OnMouseEvent(wxMouseEvent& event) return; } } - + if (new_sash_position == m_sashPosition) return; @@ -698,7 +707,7 @@ void wxSplitterWindow::SizeWindows() if ( GetBorderSize() > 0 ) DrawBorders(dc); DrawSash(dc); - + SetNeedUpdating(FALSE); } @@ -727,7 +736,7 @@ bool wxSplitterWindow::SplitVertically(wxWindow *window1, wxWindow *window2, int if ( sashPosition > 0 ) m_sashPosition = sashPosition; else if ( sashPosition < 0 ) - m_sashPosition = w - sashPosition; + m_sashPosition = w + sashPosition; // It's negative so adding is subtracting else // default m_sashPosition = w/2; @@ -750,7 +759,7 @@ bool wxSplitterWindow::SplitHorizontally(wxWindow *window1, wxWindow *window2, i if ( sashPosition > 0 ) m_sashPosition = sashPosition; else if ( sashPosition < 0 ) - m_sashPosition = h - sashPosition; + m_sashPosition = h + sashPosition; // It's negative so adding is subtracting else // default m_sashPosition = h/2;