aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppeditor/cpptypehierarchy.h
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2023-09-01 17:29:09 +0200
committerhjk <hjk@qt.io>2023-09-04 09:36:16 +0000
commitfbd243e82e6f743a969556baa2fb8f77bd5dbf9e (patch)
tree8fa69559cd4b4ddcde8786068c8518eec2879d70 /src/plugins/cppeditor/cpptypehierarchy.h
parent68cdbd9cd0fa8156ff97a59437e0ff221cbdbc32 (diff)
CppEditor: Hide part of CppTypeHierarchy implementation
Change-Id: I5635f320e7d746702e6e86bd5f4e8cc749c804f5 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/cppeditor/cpptypehierarchy.h')
-rw-r--r--src/plugins/cppeditor/cpptypehierarchy.h89
1 files changed, 2 insertions, 87 deletions
diff --git a/src/plugins/cppeditor/cpptypehierarchy.h b/src/plugins/cppeditor/cpptypehierarchy.h
index 4e78224222..37eaec2a78 100644
--- a/src/plugins/cppeditor/cpptypehierarchy.h
+++ b/src/plugins/cppeditor/cpptypehierarchy.h
@@ -4,100 +4,15 @@
#pragma once
#include <coreplugin/inavigationwidgetfactory.h>
-#include <utils/futuresynchronizer.h>
-#include <QFuture>
-#include <QFutureWatcher>
-#include <QList>
-#include <QSharedPointer>
-#include <QStackedWidget>
-#include <QStandardItemModel>
-#include <QString>
-#include <QWidget>
-
-QT_BEGIN_NAMESPACE
-class QLabel;
-class QModelIndex;
-class QStackedLayout;
-class QStandardItem;
-QT_END_NAMESPACE
-
-namespace TextEditor { class TextEditorLinkLabel; }
-
-namespace Utils {
-class AnnotatedItemDelegate;
-class NavigationTreeView;
-class ProgressIndicator;
-}
-
-namespace CppEditor {
-class CppEditorWidget;
-
-namespace Internal {
-class CppClass;
-class CppElement;
-
-class CppTypeHierarchyModel : public QStandardItemModel
-{
- Q_OBJECT
-
-public:
- CppTypeHierarchyModel(QObject *parent);
-
- Qt::DropActions supportedDragActions() const override;
- QStringList mimeTypes() const override;
- QMimeData *mimeData(const QModelIndexList &indexes) const override;
-};
-
-class CppTypeHierarchyWidget : public QWidget
-{
- Q_OBJECT
-public:
- CppTypeHierarchyWidget();
-
- void perform();
-
-private slots:
- void displayHierarchy();
-
-private:
- typedef QList<CppClass> CppClass::*HierarchyMember;
- void performFromExpression(const QString &expression, const Utils::FilePath &filePath);
- QStandardItem *buildHierarchy(const CppClass &cppClass, QStandardItem *parent,
- bool isRoot, HierarchyMember member);
- void showNoTypeHierarchyLabel();
- void showTypeHierarchy();
- void showProgress();
- void hideProgress();
- void clearTypeHierarchy();
- void onItemActivated(const QModelIndex &index);
- void onItemDoubleClicked(const QModelIndex &index);
-
- CppEditorWidget *m_cppEditor = nullptr;
- Utils::NavigationTreeView *m_treeView = nullptr;
- QWidget *m_hierarchyWidget = nullptr;
- QStackedLayout *m_stackLayout = nullptr;
- QStandardItemModel *m_model = nullptr;
- Utils::AnnotatedItemDelegate *m_delegate = nullptr;
- TextEditor::TextEditorLinkLabel *m_inspectedClass = nullptr;
- QLabel *m_infoLabel = nullptr;
- QFuture<QSharedPointer<CppElement>> m_future;
- QFutureWatcher<void> m_futureWatcher;
- Utils::FutureSynchronizer m_synchronizer;
- Utils::ProgressIndicator *m_progressIndicator = nullptr;
- QString m_oldClass;
- bool m_showOldClass = false;
-};
+namespace CppEditor::Internal {
class CppTypeHierarchyFactory : public Core::INavigationWidgetFactory
{
- Q_OBJECT
-
public:
CppTypeHierarchyFactory();
Core::NavigationView createWidget() override;
};
-} // namespace Internal
-} // namespace CppEditor
+} // CppEditor::Internal