void CCommEditTool::BringConsoleToFront() { CConsolePage *p = GetConsole(); Panel *pPage = p->GetParent(); if ( pPage == NULL ) { OnToggleConsole(); } else { ToolWindow *tw = dynamic_cast< ToolWindow * >( pPage->GetParent() ); if ( tw ) { if ( tw->GetActivePage() != p ) { tw->SetActivePage( p ); vgui::surface()->SetForegroundWindow( tw->GetVPanel() ); p->TextEntryRequestFocus(); } else { PropertySheet *pSheet = tw->GetPropertySheet(); int nPageCount = pSheet->GetNumPages(); int i; for ( i = 0; i < nPageCount; ++i ) { if ( p == pSheet->GetPage(i) ) break; } i = ( i + 1 ) % nPageCount; pSheet->SetActivePage( pSheet->GetPage(i) ); } } } }