summaryrefslogtreecommitdiff
path: root/src/plugins/clangrefactoring/refactoringclient.cpp
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2017-07-03 12:35:58 +0200
committerTim Jenssen <tim.jenssen@qt.io>2017-07-20 13:32:39 +0000
commita31eae4d0ad1ffd5a06cd5beff9e16473f929615 (patch)
treefa0ed3976b9c6822fe24a05346f980a5bd8f3026 /src/plugins/clangrefactoring/refactoringclient.cpp
parent8c4127ebacd0508f12db79689ef976a814729d91 (diff)
downloadqt-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.cpp62
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