void PluginManager::FindAndSelect(const wxString& pattern, const wxString& name, int pos) { LEditor* editor = clMainFrame::Get()->GetMainBook()->GetActiveEditor(); if(editor) { editor->FindAndSelectV(pattern, name, pos, NavMgr::Get()); editor->SetActive(); } }
void ClangDriver::DoGotoDefinition(ClangThreadReply* reply) { CHECK_CLANG_ENABLED(); LEditor* editor = clMainFrame::Get()->GetMainBook()->OpenFile(reply->filename, wxEmptyString, reply->line); if(editor) { int pos = editor->PositionFromLine(reply->line - 1); editor->FindAndSelectV(reply->filterWord, reply->filterWord, pos, NULL); } }
bool CodeCompletionManager::DoCtagsGotoDecl(LEditor* editor) { TagEntryPtr tag = editor->GetContext()->GetTagAtCaret(true, false); if (tag) { LEditor *editor = clMainFrame::Get()->GetMainBook()->OpenFile(tag->GetFile(), wxEmptyString, tag->GetLine()-1); if(!editor) { return false; } // Use the async funtion here. Synchronously usually works but, if the file wasn't loaded, sometimes the EnsureVisible code is called too early and fails editor->FindAndSelectV(tag->GetPattern(), tag->GetName()); return true; } return false; }