diff options
author | Marco Bubke <marco.bubke@qt.io> | 2017-07-03 12:35:58 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2017-07-20 13:32:39 +0000 |
commit | a31eae4d0ad1ffd5a06cd5beff9e16473f929615 (patch) | |
tree | fa0ed3976b9c6822fe24a05346f980a5bd8f3026 /src/plugins/clangrefactoring/refactoringclient.cpp | |
parent | 8c4127ebacd0508f12db79689ef976a814729d91 (diff) | |
download | qt-creator-a31eae4d0ad1ffd5a06cd5beff9e16473f929615.tar.gz |
Clang: Add clang query pane
We now support highlighting for an example text and for the query.
Change-Id: I88c415ff871cf3e4c2d4fc83d60a8555bf0ce08a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/plugins/clangrefactoring/refactoringclient.cpp')
-rw-r--r-- | src/plugins/clangrefactoring/refactoringclient.cpp | 62 |
1 files changed, 40 insertions, 22 deletions
diff --git a/src/plugins/clangrefactoring/refactoringclient.cpp b/src/plugins/clangrefactoring/refactoringclient.cpp index 4cb954e231..e4904b53cc 100644 --- a/src/plugins/clangrefactoring/refactoringclient.cpp +++ b/src/plugins/clangrefactoring/refactoringclient.cpp @@ -25,32 +25,40 @@ #include "refactoringclient.h" +#include "clangqueryhighlighter.h" +#include "clangqueryexamplehighlighter.h" + #include <refactoringconnectionclient.h> -#include <sourcelocationsforrenamingmessage.h> -#include <sourcerangesanddiagnosticsforquerymessage.h> +#include <clangrefactoringmessages.h> namespace ClangRefactoring { void RefactoringClient::alive() { - if (connectionClient) - connectionClient->resetProcessAliveTimer(); + if (m_connectionClient) + m_connectionClient->resetProcessAliveTimer(); } void RefactoringClient::sourceLocationsForRenamingMessage( ClangBackEnd::SourceLocationsForRenamingMessage &&message) { - localRenamingCallback(message.symbolName().toQString(), + m_localRenamingCallback(message.symbolName().toQString(), message.sourceLocations(), message.textDocumentRevision()); - refactoringEngine->setUsable(true); + m_refactoringEngine->setUsable(true); } void RefactoringClient::sourceRangesAndDiagnosticsForQueryMessage( ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage &&message) { - ++resultCounter_; + m_clangQueryExampleHighlighter->setSourceRanges(message.takeSourceRanges()); + m_clangQueryHighlighter->setDiagnostics(message.diagnostics()); +} + +void RefactoringClient::sourceRangesForQueryMessage(ClangBackEnd::SourceRangesForQueryMessage &&message) +{ + ++m_resultCounter; addSearchResults(message.sourceRanges()); setResultCounterAndSendSearchIsFinishedIfFinished(); } @@ -58,50 +66,60 @@ void RefactoringClient::sourceRangesAndDiagnosticsForQueryMessage( void RefactoringClient::setLocalRenamingCallback( CppTools::RefactoringEngineInterface::RenameCallback &&localRenamingCallback) { - this->localRenamingCallback = std::move(localRenamingCallback); + m_localRenamingCallback = std::move(localRenamingCallback); } void RefactoringClient::setRefactoringEngine(RefactoringEngine *refactoringEngine) { - this->refactoringEngine = refactoringEngine; + m_refactoringEngine = refactoringEngine; } void RefactoringClient::setSearchHandle(SearchHandle *searchHandle) { - this->searchHandle_ = searchHandle; + m_searchHandle = searchHandle; } SearchHandle *RefactoringClient::searchHandle() const { - return searchHandle_; + return m_searchHandle; +} + +void RefactoringClient::setClangQueryExampleHighlighter(ClangQueryExampleHighlighter *highlighter) +{ + m_clangQueryExampleHighlighter = highlighter; +} + +void RefactoringClient::setClangQueryHighlighter(ClangQueryHighlighter *highlighter) +{ + m_clangQueryHighlighter = highlighter; } bool RefactoringClient::hasValidLocalRenamingCallback() const { - return bool(localRenamingCallback); + return bool(m_localRenamingCallback); } void RefactoringClient::setExpectedResultCount(uint count) { - expectedResultCount_ = count; - resultCounter_ = 0; - searchHandle_->setExpectedResultCount(count); + m_expectedResultCount = count; + m_resultCounter = 0; + m_searchHandle->setExpectedResultCount(count); } uint RefactoringClient::expectedResultCount() const { - return expectedResultCount_; + return m_expectedResultCount; } uint RefactoringClient::resultCounter() const { - return resultCounter_; + return m_resultCounter; } void RefactoringClient::setRefactoringConnectionClient( ClangBackEnd::RefactoringConnectionClient *connectionClient) { - this->connectionClient = connectionClient; + m_connectionClient = connectionClient; } std::unordered_map<uint, QString> RefactoringClient::convertFilePaths( @@ -135,7 +153,7 @@ void RefactoringClient::addSearchResults(const ClangBackEnd::SourceRangesContain void RefactoringClient::addSearchResult(const ClangBackEnd::SourceRangeWithTextContainer &sourceRangeWithText, std::unordered_map<uint, QString> &filePaths) { - searchHandle_->addResult(filePaths[sourceRangeWithText.fileHash()], + m_searchHandle->addResult(filePaths[sourceRangeWithText.fileHash()], sourceRangeWithText.text(), {{int(sourceRangeWithText.start().line()), int(sourceRangeWithText.start().column() - 1), @@ -147,9 +165,9 @@ void RefactoringClient::addSearchResult(const ClangBackEnd::SourceRangeWithTextC void RefactoringClient::setResultCounterAndSendSearchIsFinishedIfFinished() { - searchHandle_->setResultCounter(resultCounter_); - if (resultCounter_ == expectedResultCount_) - searchHandle_->finishSearch(); + m_searchHandle->setResultCounter(m_resultCounter); + if (m_resultCounter == m_expectedResultCount) + m_searchHandle->finishSearch(); } } // namespace ClangRefactoring |