// Copyright (C) 2016 Przemyslaw Gorszkowski // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #pragma once #include #include #include namespace CppEditor::Internal { class CppIncludeHierarchyItem; class CppIncludeHierarchyModel : public Utils::TreeModel { Q_OBJECT using base_type = Utils::TreeModel; public: CppIncludeHierarchyModel(); Qt::DropActions supportedDragActions() const override; QStringList mimeTypes() const override; QMimeData *mimeData(const QModelIndexList &indexes) const override; void buildHierarchy(const Utils::FilePath &filePath); const Utils::FilePath &editorFilePath() const { return m_editorFilePath; } void setSearching(bool on); QString toString() const; #if WITH_TESTS using base_type::canFetchMore; using base_type::fetchMore; #endif private: friend class CppIncludeHierarchyItem; Utils::FilePath m_editorFilePath; QSet m_seen; bool m_searching = false; }; void openCppIncludeHierarchy(); void setupCppIncludeHierarchy(); } // CppEditor::Internal