//===================================================================================== bool Frame::TogglePanel( const wxString& panelTitle ) { wxAuiPaneInfo* foundPaneInfo = nullptr; if( IsPanelInUse( panelTitle, &foundPaneInfo ) ) { Panel* panel = ( Panel* )foundPaneInfo->window; auiManager->DetachPane( panel ); panel->Destroy(); auiManager->Update(); } else { Panel* panel = nullptr; if( panelTitle == "Canvas Panel" ) panel = new CanvasPanel(); else if( panelTitle == "Score Panel" ) panel = new ScorePanel(); else if( panelTitle == "Winner Panel" ) panel = new WinnerPanel(); else if( panelTitle == "Chat Panel" ) panel = new ChatPanel(); if( panel ) { panel->Create( this ); panel->CreateControls(); wxAuiPaneInfo paneInfo; panel->SetupPaneInfo( paneInfo ); paneInfo.CloseButton( true ); paneInfo.Caption( panelTitle ).Name( panelTitle ); paneInfo.Dockable().Show(); paneInfo.DestroyOnClose(); auiManager->AddPane( panel, paneInfo ); auiManager->Update(); } } return true; }