X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ef329166292a66f2f7b3c43d8a02da818321bd4d..a6b2078ddd87eac78f0818f7063290bdf4b50bcb:/src/aui/auibook.cpp diff --git a/src/aui/auibook.cpp b/src/aui/auibook.cpp index fe3b52e7b2..990c0b9bff 100644 --- a/src/aui/auibook.cpp +++ b/src/aui/auibook.cpp @@ -34,7 +34,7 @@ #include "wx/renderer.h" #ifdef __WXMAC__ -#include "wx/mac/carbon/private.h" +#include "wx/osx/carbon/private.h" #endif #include "wx/arrimpl.cpp" @@ -2581,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) { @@ -2591,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) { @@ -2700,16 +2712,23 @@ public: for (i = 0; i < page_count; ++i) { + int height = m_rect.height - m_tab_ctrl_height; + if ( height < 0 ) + { + // avoid passing negative height to wxWindow::SetSize(), this + // results in assert failures/GTK+ warnings + height = 0; + } + wxAuiNotebookPage& page = pages.Item(i); if (m_tabs->GetFlags() & wxAUI_NB_BOTTOM) { - page.window->SetSize(m_rect.x, m_rect.y, - m_rect.width, m_rect.height - m_tab_ctrl_height); + page.window->SetSize(m_rect.x, m_rect.y, m_rect.width, height); } else //TODO: if (GetFlags() & wxAUI_NB_TOP) { page.window->SetSize(m_rect.x, m_rect.y + m_tab_ctrl_height, - m_rect.width, m_rect.height - m_tab_ctrl_height); + m_rect.width, height); } // TODO: else if (GetFlags() & wxAUI_NB_LEFT){} // TODO: else if (GetFlags() & wxAUI_NB_RIGHT){} @@ -3070,7 +3089,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;