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:
Ivan Donchevskii
2018-02-08 13:31:22 +01:00
parent c6d4308ccd
commit 8389aa144a
7 changed files with 86 additions and 78 deletions

View File

@@ -32,9 +32,11 @@
#include <QAbstractItemModel>
#include <QSharedPointer>
namespace CPlusPlus {
class Document;
class Symbol;
namespace CPlusPlus { class Document; }
namespace Utils {
class LineColumn;
struct Link;
}
namespace CppTools {
@@ -49,17 +51,7 @@ public:
LineNumberRole
};
AbstractOverviewModel(QObject *parent = nullptr) : QAbstractItemModel(parent) {}
virtual QSharedPointer<CPlusPlus::Document> document() const
{
return {};
}
virtual CPlusPlus::Symbol *symbolFromIndex(const QModelIndex &) const
{
return {};
}
AbstractOverviewModel() : QAbstractItemModel(nullptr) {}
virtual void rebuild(QSharedPointer<CPlusPlus::Document>) {}
@@ -95,6 +87,10 @@ public:
}
return mimeData;
}
virtual bool isGenerated(const QModelIndex &) const { return false; }
virtual Utils::Link linkFromIndex(const QModelIndex &) const = 0;
virtual Utils::LineColumn lineColumnFromIndex(const QModelIndex &) const = 0;
};
} // namespace CppTools