X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4ae3fe39529688ffc016b2059321720d8bde7064..396f85bac581a56e4c497b83c4602aa3746bbfd3:/src/aui/auibook.cpp diff --git a/src/aui/auibook.cpp b/src/aui/auibook.cpp index 048229f35f..6ee896da22 100644 --- a/src/aui/auibook.cpp +++ b/src/aui/auibook.cpp @@ -1611,6 +1611,11 @@ void wxAuiTabContainer::Render(wxDC* raw_dc, wxWindow* wnd) return; wxMemoryDC dc; + + // use the same layout direction as the window DC uses to ensure that the + // text is rendered correctly + dc.SetLayoutDirection(raw_dc->GetLayoutDirection()); + wxBitmap bmp; size_t i; size_t page_count = m_pages.GetCount(); @@ -2576,7 +2581,19 @@ void wxAuiTabCtrl::OnChar(wxKeyEvent& event) int newPage = -1; - if (key == WXK_RIGHT) + int forwardKey, backwardKey; + if (GetLayoutDirection() == wxLayout_RightToLeft) + { + forwardKey = WXK_LEFT; + backwardKey = WXK_RIGHT; + } + else + { + forwardKey = WXK_RIGHT; + backwardKey = WXK_LEFT; + } + + if (key == forwardKey) { if (m_pages.GetCount() > 1) { @@ -2586,7 +2603,7 @@ void wxAuiTabCtrl::OnChar(wxKeyEvent& event) newPage = GetActivePage() + 1; } } - else if (key == WXK_LEFT) + else if (key == backwardKey) { if (m_pages.GetCount() > 1) { @@ -3065,7 +3082,7 @@ bool wxAuiNotebook::InsertPage(size_t page_idx, wxASSERT_MSG(page, wxT("page pointer must be non-NULL")); if (!page) return false; - + page->Reparent(this); wxAuiNotebookPage info;