diff options
Diffstat (limited to 'src/plugins/autotest/testtreemodel.h')
-rw-r--r-- | src/plugins/autotest/testtreemodel.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/plugins/autotest/testtreemodel.h b/src/plugins/autotest/testtreemodel.h index 895d71bbac..af3501c484 100644 --- a/src/plugins/autotest/testtreemodel.h +++ b/src/plugins/autotest/testtreemodel.h @@ -36,6 +36,7 @@ namespace Autotest { namespace Internal { +class AutotestPluginPrivate; class TestCodeParser; } // namespace Internal @@ -45,6 +46,10 @@ using TestParseResultPtr = QSharedPointer<TestParseResult>; class AUTOTESTSHARED_EXPORT TestTreeModel : public Utils::TreeModel<> { Q_OBJECT + + friend class Internal::AutotestPluginPrivate; // For ctor. + explicit TestTreeModel(Internal::TestCodeParser *parser); + public: static TestTreeModel* instance(); ~TestTreeModel() override; @@ -59,8 +64,9 @@ public: QList<TestConfiguration *> getTestsForFile(const Utils::FilePath &fileName) const; QList<TestTreeItem *> testItemsByName(const QString &testName); void synchronizeTestFrameworks(); - void rebuild(const QList<Core::Id> &frameworkIds); + void rebuild(const QList<Utils::Id> &frameworkIds); + void updateCheckStateCache(); #ifdef WITH_TESTS int autoTestsCount() const; int namedQuickTestsCount() const; @@ -89,17 +95,17 @@ private: void onParseResultReady(const TestParseResultPtr result); void handleParseResult(const TestParseResult *result, TestTreeItem *rootNode); void removeAllTestItems(); - void removeTestRootNodes(); void removeFiles(const QStringList &files); bool sweepChildren(TestTreeItem *item); void insertItemInParent(TestTreeItem *item, TestTreeItem *root, bool groupingEnabled); void revalidateCheckState(TestTreeItem *item); - explicit TestTreeModel(QObject *parent = nullptr); void setupParsingConnections(); void filterAndInsert(TestTreeItem *item, TestTreeItem *root, bool groupingEnabled); QList<TestTreeItem *> testItemsByName(TestTreeItem *root, const QString &testName); Internal::TestCodeParser *m_parser = nullptr; + QHash<QString, Qt::CheckState> m_checkStateCache; + QHash<QString, int> m_itemUseCache; }; namespace Internal { |