void wxPageContainer::DoSetSelection(size_t page) { // Make sure that the selection is visible if(page < m_pagesInfoVec.GetCount()) { //! fix for tabfocus wxWindow* da_page = ((wxFlatNotebook *)m_pParent)->GetPage(page); if ( da_page!=NULL ) da_page->SetFocus(); } if( !IsTabVisible(page) ) { // Try to remove one tab from start and try again if( !CanFitToScreen(page) ) { if( m_nFrom > (int)page ) m_nFrom = (int)page; else { while( m_nFrom < (int)page ) { m_nFrom++; if( CanFitToScreen(page) ) break; } } } } else { } PushPageHistory((int)page); Refresh(); }
void wxPageContainer::DoSetSelection(size_t page) { // Make sure that the selection is visible if(page < m_pagesInfoVec.GetCount()) { //! fix for tabfocus wxWindow* da_page = ((wxFlatNotebook *)m_pParent)->GetPage(page); if ( da_page!=NULL ) da_page->SetFocus(); } if( !IsTabVisible(page) ) { FNB_LOG_MSG( wxT("Tab ") << (int)page << wxT(" is not visible")); FNB_LOG_MSG( wxT("m_nFrom=") << m_nFrom << wxT(", Selection=") << (int)page ); // Try to remove one tab from start and try again if( !CanFitToScreen(page) ) { if( m_nFrom > (int)page ) m_nFrom = (int)page; else { while( m_nFrom < (int)page ) { m_nFrom++; if( CanFitToScreen(page) ) break; } } FNB_LOG_MSG( wxT("Adjusting m_nFrom to=") << m_nFrom); } } else { FNB_LOG_MSG( wxT("Tab ") << (int)page << wxT(" is visible")); } Refresh(); }