diff options
Diffstat (limited to 'src/plugins/cpptools/cppoverviewmodel.cpp')
-rw-r--r-- | src/plugins/cpptools/cppoverviewmodel.cpp | 41 |
1 files changed, 28 insertions, 13 deletions
diff --git a/src/plugins/cpptools/cppoverviewmodel.cpp b/src/plugins/cpptools/cppoverviewmodel.cpp index 7fe118f68c..1cf10b4b9f 100644 --- a/src/plugins/cpptools/cppoverviewmodel.cpp +++ b/src/plugins/cpptools/cppoverviewmodel.cpp @@ -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 |