/** * Ensure that the CppCheck tab is visible */ void CppCheckPlugin::SetTabVisible(bool clearContent) { // Make sure that the Output pane is visible wxAuiManager *aui = m_mgr->GetDockingManager(); if (aui) { wxAuiPaneInfo &info = aui->GetPane(wxT("Output View")); if (info.IsOk() && !info.IsShown()) { info.Show(); aui->Update(); } } // Set the focus to the CppCheck tab Notebook *book = m_mgr->GetOutputPaneNotebook(); if (book->GetPageText((size_t)book->GetSelection()) != wxT("CppCheck")) { for (size_t i=0; i<book->GetPageCount(); i++) { if (book->GetPageText(i) == wxT("CppCheck")) { book->SetSelection(i); break; } } } // clear the view contents if ( clearContent ) { m_view->Clear(); m_fileCount = m_filelist.GetCount(); m_fileProcessed = 1; } }
int clMultiBook::SetSelection(size_t tabIdx) { Notebook* book; size_t bookIndex; size_t modIndex; if(GetBookByPageIndex(tabIdx, &book, bookIndex, modIndex)) { // Update the current selection bool pageChanged = (m_selection != (int)tabIdx); // Grab a pointer of the page we want to make active wxWindow* focusedPage = book->GetPage(modIndex); // And perform the actual selection change int oldSelection = book->GetSelection(); if(oldSelection != (int)modIndex) { m_selection = tabIdx; m_history->Pop(focusedPage); m_history->Push(focusedPage); return book->SetSelection(modIndex); } else { // There is no point on calling Notebook::SetSelection since it is already selected // However, in the term of 'multi book' control, we might need to generate the events ourselves here // But only if we actually modified the selection if(pageChanged) { wxBookCtrlEvent changingEvent(wxEVT_BOOK_PAGE_CHANGING); changingEvent.SetEventObject(this); changingEvent.SetOldSelection(m_selection); changingEvent.SetSelection(tabIdx); GetEventHandler()->ProcessEvent(changingEvent); if(!changingEvent.IsAllowed()) { return wxNOT_FOUND; } // User vetoed // Update the history m_history->Pop(focusedPage); m_history->Push(focusedPage); // Update the selection before we fire the event again // Or we might end up with stackoverflow... m_selection = tabIdx; wxBookCtrlEvent changedEvent(wxEVT_BOOK_PAGE_CHANGED); changedEvent.SetEventObject(this); changedEvent.SetOldSelection(m_selection); changedEvent.SetSelection(tabIdx); GetEventHandler()->ProcessEvent(changedEvent); } } } return wxNOT_FOUND; }
void Cscope::DoCscopeCommand(const wxString &command, const wxString &findWhat, const wxString &endMsg) { // We haven't yet found a valid cscope exe, so look for one wxString where; if ( !ExeLocator::Locate( GetCscopeExeName(), where ) ) { wxString msg; msg << _("I can't find 'cscope' anywhere. Please check if it's installed.") << wxT('\n') << _("Or tell me where it can be found, from the menu: 'Plugins | CScope | Settings'"); wxMessageBox( msg, _("CScope not found"), wxOK|wxCENTER|wxICON_WARNING ); return; } //try to locate the cscope database wxArrayString output; //set the focus to the cscope tab Notebook *book = m_mgr->GetOutputPaneNotebook(); //make sure that the Output pane is visible wxAuiManager *aui = m_mgr->GetDockingManager(); if (aui) { wxAuiPaneInfo &info = aui->GetPane(wxT("Output View")); if (info.IsOk() && !info.IsShown()) { info.Show(); aui->Update(); } } wxString curSel = book->GetPageText((size_t)book->GetSelection()); if (curSel != CSCOPE_NAME) { for (size_t i=0; i<(size_t)book->GetPageCount(); i++) { if (book->GetPageText(i) == CSCOPE_NAME) { book->SetSelection(i); break; } } } //create the search thread and return CscopeRequest *req = new CscopeRequest(); req->SetOwner (this ); req->SetCmd (command ); req->SetEndMsg (endMsg ); req->SetFindWhat (findWhat); req->SetWorkingDir(m_mgr->GetSolution()->GetSolutionFileName().GetPath(wxPATH_GET_VOLUME|wxPATH_GET_SEPARATOR)); CScopeThreadST::Get()->Add( req ); }
void SvnConsole::EnsureVisible() { // Ensure that the Output View is displayed wxAuiPaneInfo& pi = m_plugin->GetManager()->GetDockingManager()->GetPane("Output View"); if ( pi.IsOk() && !pi.IsShown() ) { pi.Show( true ); m_plugin->GetManager()->GetDockingManager()->Update(); } Notebook* book = m_plugin->GetManager()->GetOutputPaneNotebook(); for(size_t i=0; i<book->GetPageCount(); i++) { if(this == book->GetPage(i)) { book->SetSelection(i); break; } } }
void WorkspaceTab::OnActiveEditorChanged(wxCommandEvent& e) { e.Skip(); if(m_isLinkedToEditor) { MainBook* mainbook = clMainFrame::Get()->GetMainBook(); LEditor* editor = mainbook->GetActiveEditor(); if(editor && !editor->GetProject().IsEmpty()) { m_fileView->ExpandToPath(editor->GetProject(), editor->GetFileName()); } Notebook* book = clMainFrame::Get()->GetWorkspacePane()->GetNotebook(); if(book) { size_t index = book->GetPageIndex("wxCrafter"); if(index == (size_t)book->GetSelection()) { book->SetSelection(0); // The most likely to be wanted } } } }