forked from qt-creator/qt-creator
Clang: Use more generic methods in OverviewModel
Do not return Document or Symbol. Instead use Link or LineColumn directly as return values. Change-Id: I1863d7c3b4985ffe2ae5454622227075ebdc2de7 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
@@ -31,28 +31,17 @@
|
||||
#include <cplusplus/Scope.h>
|
||||
#include <cplusplus/Symbols.h>
|
||||
|
||||
#include <utils/dropsupport.h>
|
||||
#include <utils/linecolumn.h>
|
||||
#include <utils/link.h>
|
||||
|
||||
using namespace CPlusPlus;
|
||||
namespace CppTools {
|
||||
|
||||
OverviewModel::OverviewModel(QObject *parent)
|
||||
: AbstractOverviewModel(parent)
|
||||
{ }
|
||||
|
||||
OverviewModel::~OverviewModel()
|
||||
{ }
|
||||
|
||||
bool OverviewModel::hasDocument() const
|
||||
{
|
||||
return _cppDocument;
|
||||
}
|
||||
|
||||
Document::Ptr OverviewModel::document() const
|
||||
{
|
||||
return _cppDocument;
|
||||
}
|
||||
|
||||
unsigned OverviewModel::globalSymbolCount() const
|
||||
{
|
||||
unsigned count = 0;
|
||||
@@ -250,4 +239,30 @@ void OverviewModel::rebuild(Document::Ptr doc)
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
bool OverviewModel::isGenerated(const QModelIndex &sourceIndex) const
|
||||
{
|
||||
CPlusPlus::Symbol *symbol = symbolFromIndex(sourceIndex);
|
||||
return symbol && symbol->isGenerated();
|
||||
}
|
||||
|
||||
Utils::Link OverviewModel::linkFromIndex(const QModelIndex &sourceIndex) const
|
||||
{
|
||||
CPlusPlus::Symbol *symbol = symbolFromIndex(sourceIndex);
|
||||
if (!symbol)
|
||||
return {};
|
||||
|
||||
return symbol->toLink();
|
||||
}
|
||||
|
||||
Utils::LineColumn OverviewModel::lineColumnFromIndex(const QModelIndex &sourceIndex) const
|
||||
{
|
||||
Utils::LineColumn lineColumn;
|
||||
CPlusPlus::Symbol *symbol = symbolFromIndex(sourceIndex);
|
||||
if (!symbol)
|
||||
return lineColumn;
|
||||
lineColumn.line = static_cast<int>(symbol->line());
|
||||
lineColumn.column = static_cast<int>(symbol->column());
|
||||
return lineColumn;
|
||||
}
|
||||
|
||||
} // namespace CppTools
|
||||
|
||||
Reference in New Issue
Block a user