diff options
author | hjk <hjk@qt.io> | 2023-01-10 10:01:29 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2023-01-11 17:19:46 +0000 |
commit | 85d067af916346d50da515d6f636b29b5dd4dc6c (patch) | |
tree | 1dd839956bcec0780a918ba10e132579eb32674b /src/plugins | |
parent | 1e10161bf20914ec7474e2d3a3fb044996816a37 (diff) | |
download | qt-creator-85d067af916346d50da515d6f636b29b5dd4dc6c.tar.gz |
CppEditor: Inline cppcodemodelinspectordialog.ui
The last one in the plugin.
Change-Id: I86d5ff6e0a3a6bb55342f780e85f6544ad50f90b
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/cppeditor/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppcodemodelinspectordialog.cpp | 304 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppcodemodelinspectordialog.h | 31 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppcodemodelinspectordialog.ui | 380 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppeditor.qbs | 1 |
5 files changed, 250 insertions, 468 deletions
diff --git a/src/plugins/cppeditor/CMakeLists.txt b/src/plugins/cppeditor/CMakeLists.txt index 4305f92b63..b3db8c4d1d 100644 --- a/src/plugins/cppeditor/CMakeLists.txt +++ b/src/plugins/cppeditor/CMakeLists.txt @@ -20,7 +20,7 @@ add_qtc_plugin(CppEditor cppcanonicalsymbol.cpp cppcanonicalsymbol.h cppchecksymbols.cpp cppchecksymbols.h cppcodeformatter.cpp cppcodeformatter.h - cppcodemodelinspectordialog.cpp cppcodemodelinspectordialog.h cppcodemodelinspectordialog.ui + cppcodemodelinspectordialog.cpp cppcodemodelinspectordialog.h cppcodemodelinspectordumper.cpp cppcodemodelinspectordumper.h cppcodemodelsettings.cpp cppcodemodelsettings.h cppcodemodelsettingspage.cpp cppcodemodelsettingspage.h diff --git a/src/plugins/cppeditor/cppcodemodelinspectordialog.cpp b/src/plugins/cppeditor/cppcodemodelinspectordialog.cpp index fb06a8ba60..79092b2983 100644 --- a/src/plugins/cppeditor/cppcodemodelinspectordialog.cpp +++ b/src/plugins/cppeditor/cppcodemodelinspectordialog.cpp @@ -2,7 +2,6 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #include "cppcodemodelinspectordialog.h" -#include "ui_cppcodemodelinspectordialog.h" #include "baseeditordocumentprocessor.h" #include "cppcodemodelinspectordumper.h" @@ -20,14 +19,26 @@ #include <cplusplus/CppDocument.h> #include <cplusplus/Overview.h> #include <cplusplus/Token.h> -#include <utils/qtcassert.h> + #include <utils/fancylineedit.h> +#include <utils/layoutbuilder.h> +#include <utils/qtcassert.h> #include <QAbstractTableModel> +#include <QApplication> +#include <QCheckBox> +#include <QComboBox> +#include <QDialog> +#include <QHBoxLayout> +#include <QHeaderView> #include <QLabel> #include <QLineEdit> +#include <QPlainTextEdit> #include <QPushButton> #include <QSortFilterProxyModel> +#include <QSplitter> +#include <QTabWidget> +#include <QTreeView> #include <algorithm> #include <numeric> @@ -50,7 +61,7 @@ TextEditor::BaseTextEditor *currentEditor() return qobject_cast<TextEditor::BaseTextEditor*>(Core::EditorManager::currentEditor()); } -Utils::FilePath fileInCurrentEditor() +FilePath fileInCurrentEditor() { if (TextEditor::BaseTextEditor *editor = currentEditor()) return editor->document()->filePath(); @@ -64,7 +75,8 @@ QSizePolicy sizePolicyWithStretchFactor(int stretchFactor) return policy; } -class DepthFinder : public SymbolVisitor { +class DepthFinder : public SymbolVisitor +{ public: int operator()(const Document::Ptr &document, Symbol *symbol) { @@ -105,8 +117,7 @@ private: } // anonymous namespace -namespace CppEditor { -namespace Internal { +namespace CppEditor::Internal { // --- FilterableView ----------------------------------------------------------------------------- @@ -153,6 +164,7 @@ FilterableView::FilterableView(QWidget *parent) auto mainLayout = new QVBoxLayout(); mainLayout->addWidget(view); mainLayout->addLayout(filterBarLayout); + mainLayout->setContentsMargins(0, 0, 0, 0); setLayout(mainLayout); } @@ -192,7 +204,8 @@ class ProjectFilesModel : public QAbstractListModel { Q_OBJECT public: - ProjectFilesModel(QObject *parent); + ProjectFilesModel(QObject *parent) : QAbstractListModel(parent) {} + void configure(const ProjectFiles &files); void clear(); @@ -207,10 +220,6 @@ private: ProjectFiles m_files; }; -ProjectFilesModel::ProjectFilesModel(QObject *parent) : QAbstractListModel(parent) -{ -} - void ProjectFilesModel::configure(const ProjectFiles &files) { emit layoutAboutToBeChanged(); @@ -1306,7 +1315,6 @@ public: CppCodeModelInspectorDialog::CppCodeModelInspectorDialog(QWidget *parent) : QDialog(parent) - , m_ui(new Ui::CppCodeModelInspectorDialog) , m_snapshotInfos(new QList<SnapshotInfo>()) , m_snapshotView(new FilterableView(this)) , m_snapshotModel(new SnapshotModel(this)) @@ -1327,48 +1335,188 @@ CppCodeModelInspectorDialog::CppCodeModelInspectorDialog(QWidget *parent) , m_workingCopyModel(new WorkingCopyModel(this)) , m_proxyWorkingCopyModel(new QSortFilterProxyModel(this)) { - m_ui->setupUi(this); - m_ui->snapshotSelectorAndViewLayout->addWidget(m_snapshotView); - m_ui->projectPartsSplitter->insertWidget(0, m_projectPartsView); - m_ui->workingCopySplitter->insertWidget(0, m_workingCopyView); + resize(818, 756); + setWindowTitle(QString::fromUtf8("C++ Code Model Inspector")); + + m_partGeneralView = new QTreeView; + m_partGeneralView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + + m_partGeneralCompilerFlagsEdit = new QPlainTextEdit; + + auto projectFilesView = new QTreeView; + + m_partToolchainDefinesEdit = new QPlainTextEdit; + m_partToolchainDefinesEdit->setReadOnly(true); + + m_partProjectDefinesEdit = new QPlainTextEdit; + m_partProjectDefinesEdit->setReadOnly(true); + + auto projectHeaderPathsView = new QTreeView; + + m_partPrecompiledHeadersEdit = new QPlainTextEdit; + m_partPrecompiledHeadersEdit->setReadOnly(true); + + m_snapshotSelector = new QComboBox; + QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Fixed); + sizePolicy1.setHorizontalStretch(100); + sizePolicy1.setVerticalStretch(0); + m_snapshotSelector->setSizePolicy(sizePolicy1); + + m_docGeneralView = new QTreeView; + m_docGeneralView->setAlternatingRowColors(true); + m_docGeneralView->setTextElideMode(Qt::ElideMiddle); + + m_docIncludesView = new QTreeView; + m_docIncludesView->setAlternatingRowColors(true); + m_docIncludesView->setTextElideMode(Qt::ElideMiddle); + + m_docDiagnosticMessagesView = new QTreeView; + m_docDiagnosticMessagesView->setAlternatingRowColors(true); + m_docDiagnosticMessagesView->setTextElideMode(Qt::ElideMiddle); + + m_docDefinedMacrosView = new QTreeView; + m_docDefinedMacrosView->setAlternatingRowColors(true); + m_docDefinedMacrosView->setTextElideMode(Qt::ElideMiddle); + + m_docPreprocessedSourceEdit = new QPlainTextEdit; + m_docPreprocessedSourceEdit->setReadOnly(true); + + m_docSymbolsView = new QTreeView; + m_docSymbolsView->setAlternatingRowColors(true); + m_docSymbolsView->setTextElideMode(Qt::ElideMiddle); + + m_docTokensView = new QTreeView; + m_docTokensView->setAlternatingRowColors(true); + m_docTokensView->setTextElideMode(Qt::ElideMiddle); + + m_workingCopySourceEdit = new QPlainTextEdit; + m_workingCopySourceEdit->setReadOnly(true); + m_workingCopySourceEdit->setTextInteractionFlags(Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse); + + m_selectEditorRelevantEntriesAfterRefreshCheckBox = new QCheckBox; + m_selectEditorRelevantEntriesAfterRefreshCheckBox->setText("Select &editor relevant entries after refresh"); + m_selectEditorRelevantEntriesAfterRefreshCheckBox->setChecked(true); + + auto refreshButton = new QPushButton("&Refresh"); + auto closeButton = new QPushButton("Close"); setAttribute(Qt::WA_DeleteOnClose); connect(Core::ICore::instance(), &Core::ICore::coreAboutToClose, this, &QWidget::close); - m_ui->partGeneralView->setSizePolicy(sizePolicyWithStretchFactor(2)); - m_ui->partGeneralCompilerFlagsEdit->setSizePolicy(sizePolicyWithStretchFactor(1)); + m_partGeneralView->setSizePolicy(sizePolicyWithStretchFactor(2)); + m_partGeneralCompilerFlagsEdit->setSizePolicy(sizePolicyWithStretchFactor(1)); m_proxySnapshotModel->setSourceModel(m_snapshotModel); m_proxySnapshotModel->setFilterKeyColumn(SnapshotModel::FilePathColumn); m_snapshotView->setModel(m_proxySnapshotModel); - m_ui->docGeneralView->setModel(m_docGenericInfoModel); - m_ui->docIncludesView->setModel(m_docIncludesModel); - m_ui->docDiagnosticMessagesView->setModel(m_docDiagnosticMessagesModel); - m_ui->docDefinedMacrosView->setModel(m_docMacrosModel); - m_ui->docSymbolsView->setModel(m_docSymbolsModel); - m_ui->docTokensView->setModel(m_docTokensModel); + m_docGeneralView->setModel(m_docGenericInfoModel); + m_docIncludesView->setModel(m_docIncludesModel); + m_docDiagnosticMessagesView->setModel(m_docDiagnosticMessagesModel); + m_docDefinedMacrosView->setModel(m_docMacrosModel); + m_docSymbolsView->setModel(m_docSymbolsModel); + m_docTokensView->setModel(m_docTokensModel); m_proxyProjectPartsModel->setSourceModel(m_projectPartsModel); m_proxyProjectPartsModel->setFilterKeyColumn(ProjectPartsModel::PartFilePathColumn); m_projectPartsView->setModel(m_proxyProjectPartsModel); - m_ui->partGeneralView->setModel(m_partGenericInfoModel); - m_ui->projectFilesView->setModel(m_projectFilesModel); - m_ui->projectHeaderPathsView->setModel(m_projectHeaderPathsModel); + m_partGeneralView->setModel(m_partGenericInfoModel); + projectFilesView->setModel(m_projectFilesModel); + projectHeaderPathsView->setModel(m_projectHeaderPathsModel); m_proxyWorkingCopyModel->setSourceModel(m_workingCopyModel); m_proxyWorkingCopyModel->setFilterKeyColumn(WorkingCopyModel::FilePathColumn); m_workingCopyView->setModel(m_proxyWorkingCopyModel); + using namespace Layouting; + m_projectPartTab = qobject_cast<QTabWidget*>(TabWidget{ + Tab("&General", + Row { + m_partGeneralView, + Column { + tr("Compiler Flags"), + m_partGeneralCompilerFlagsEdit, + }, + } + ), + Tab("Project &Files", Column { projectFilesView }), + Tab("&Defines", + Column { + Group { + title("Toolchain Defines"), + Column { m_partToolchainDefinesEdit }, + }, + Group { + title("Project Defines"), + Column { m_partProjectDefinesEdit }, + } + } + ), + Tab("&Header Paths", Column{ projectHeaderPathsView }), + Tab("Pre&compiled Headers", Column{ m_partPrecompiledHeadersEdit }), + }.widget); + QTC_CHECK(m_projectPartTab); + + m_docTab = qobject_cast<QTabWidget*>(TabWidget{ + Tab("&General", Column { m_docGeneralView }), + Tab("&Includes", Column { m_docIncludesView }), + Tab("&Diagnostic Messages", Column { m_docDiagnosticMessagesView }), + Tab("(Un)Defined &Macros", Column { m_docDefinedMacrosView }), + Tab("P&reprocessed Source", Column { m_docPreprocessedSourceEdit }), + Tab("&Symbols", Column { m_docSymbolsView }), + Tab("&Tokens", Column { m_docTokensView }), + }.widget); + QTC_CHECK(m_docTab); + + Column { + TabWidget { + Tab ("&Project Parts", + Column { + Splitter { + m_projectPartsView, + m_projectPartTab, + }, + } + ), + Tab ("&Snapshots and Documents", + Column { + Splitter { + Column { + Form { QString("Sn&apshot:"), m_snapshotSelector }, + m_snapshotView, + }.emerge(Utils::Layouting::WithoutMargins), + m_docTab, + }, + } + ), + Tab ("&Working Copy", + Column { + Splitter { + m_workingCopyView, + m_workingCopySourceEdit, + }, + } + ), + }, + Row { + refreshButton, + m_selectEditorRelevantEntriesAfterRefreshCheckBox, + st, + closeButton, + } + }.attachTo(this); + + m_projectPartTab->setCurrentIndex(3); + connect(m_snapshotView->selectionModel(), &QItemSelectionModel::currentRowChanged, this, &CppCodeModelInspectorDialog::onDocumentSelected); connect(m_snapshotView, &FilterableView::filterChanged, this, &CppCodeModelInspectorDialog::onSnapshotFilterChanged); - connect(m_ui->snapshotSelector, &QComboBox::currentIndexChanged, + connect(m_snapshotSelector, &QComboBox::currentIndexChanged, this, &CppCodeModelInspectorDialog::onSnapshotSelected); - connect(m_ui->docSymbolsView, &QTreeView::expanded, + connect(m_docSymbolsView, &QTreeView::expanded, this, &CppCodeModelInspectorDialog::onSymbolsViewExpandedOrCollapsed); - connect(m_ui->docSymbolsView, &QTreeView::collapsed, + connect(m_docSymbolsView, &QTreeView::collapsed, this, &CppCodeModelInspectorDialog::onSymbolsViewExpandedOrCollapsed); connect(m_projectPartsView->selectionModel(), @@ -1383,8 +1531,8 @@ CppCodeModelInspectorDialog::CppCodeModelInspectorDialog(QWidget *parent) connect(m_workingCopyView, &FilterableView::filterChanged, this, &CppCodeModelInspectorDialog::onWorkingCopyFilterChanged); - connect(m_ui->refreshButton, &QAbstractButton::clicked, this, &CppCodeModelInspectorDialog::onRefreshRequested); - connect(m_ui->closeButton, &QAbstractButton::clicked, this, &QWidget::close); + connect(refreshButton, &QAbstractButton::clicked, this, &CppCodeModelInspectorDialog::onRefreshRequested); + connect(closeButton, &QAbstractButton::clicked, this, &QWidget::close); refresh(); } @@ -1392,7 +1540,6 @@ CppCodeModelInspectorDialog::CppCodeModelInspectorDialog(QWidget *parent) CppCodeModelInspectorDialog::~CppCodeModelInspectorDialog() { delete m_snapshotInfos; - delete m_ui; } void CppCodeModelInspectorDialog::onRefreshRequested() @@ -1437,7 +1584,7 @@ void CppCodeModelInspectorDialog::onDocumentSelected(const QModelIndex ¤t, SnapshotModel::FilePathColumn); const FilePath filePath = FilePath::fromUserInput( m_proxySnapshotModel->data(index, Qt::DisplayRole).toString()); - const SnapshotInfo info = m_snapshotInfos->at(m_ui->snapshotSelector->currentIndex()); + const SnapshotInfo info = m_snapshotInfos->at(m_snapshotSelector->currentIndex()); updateDocumentData(info.snapshot.document(filePath)); } else { clearDocumentData(); @@ -1446,7 +1593,7 @@ void CppCodeModelInspectorDialog::onDocumentSelected(const QModelIndex ¤t, void CppCodeModelInspectorDialog::onSymbolsViewExpandedOrCollapsed(const QModelIndex &) { - resizeColumns<SymbolsModel>(m_ui->docSymbolsView); + resizeColumns<SymbolsModel>(m_docSymbolsView); } void CppCodeModelInspectorDialog::onProjectPartFilterChanged(const QString &pattern) @@ -1482,10 +1629,10 @@ void CppCodeModelInspectorDialog::onWorkingCopyDocumentSelected(const QModelInde if (index.isValid()) { const QString source = QString::fromUtf8(m_workingCopyModel->data(index, Qt::UserRole).toByteArray()); - m_ui->workingCopySourceEdit->setPlainText(source); + m_workingCopySourceEdit->setPlainText(source); } } else { - m_ui->workingCopySourceEdit->clear(); + m_workingCopySourceEdit->clear(); } } @@ -1493,13 +1640,13 @@ void CppCodeModelInspectorDialog::refresh() { CppModelManager *cmmi = CppModelManager::instance(); - const int oldSnapshotIndex = m_ui->snapshotSelector->currentIndex(); + const int oldSnapshotIndex = m_snapshotSelector->currentIndex(); const bool selectEditorRelevant - = m_ui->selectEditorRelevantEntriesAfterRefreshCheckBox->isChecked(); + = m_selectEditorRelevantEntriesAfterRefreshCheckBox->isChecked(); // Snapshots and Documents m_snapshotInfos->clear(); - m_ui->snapshotSelector->clear(); + m_snapshotSelector->clear(); const Snapshot globalSnapshot = cmmi->snapshot(); CppCodeModelInspector::Dumper dumper(globalSnapshot); @@ -1508,7 +1655,7 @@ void CppCodeModelInspectorDialog::refresh() m_snapshotInfos->append(SnapshotInfo(globalSnapshot, SnapshotInfo::GlobalSnapshot)); const QString globalSnapshotTitle = QString::fromLatin1("Global/Indexing Snapshot (%1 Documents)").arg(globalSnapshot.size()); - m_ui->snapshotSelector->addItem(globalSnapshotTitle); + m_snapshotSelector->addItem(globalSnapshotTitle); dumper.dumpSnapshot(globalSnapshot, globalSnapshotTitle, /*isGlobalSnapshot=*/ true); TextEditor::BaseTextEditor *editor = currentEditor(); @@ -1523,7 +1670,7 @@ void CppCodeModelInspectorDialog::refresh() = QString::fromLatin1("Current Editor's Snapshot (%1 Documents)") .arg(editorSnapshot.size()); dumper.dumpSnapshot(editorSnapshot, editorSnapshotTitle); - m_ui->snapshotSelector->addItem(editorSnapshotTitle); + m_snapshotSelector->addItem(editorSnapshotTitle); } auto cppEditorWidget = qobject_cast<CppEditorWidget *>(editor->editorWidget()); if (cppEditorWidget) { @@ -1533,7 +1680,7 @@ void CppCodeModelInspectorDialog::refresh() // Add semantic info snapshot snapshot = semanticInfo.snapshot; m_snapshotInfos->append(SnapshotInfo(snapshot, SnapshotInfo::EditorSnapshot)); - m_ui->snapshotSelector->addItem( + m_snapshotSelector->addItem( QString::fromLatin1("Current Editor's Semantic Info Snapshot (%1 Documents)") .arg(snapshot.size())); @@ -1546,7 +1693,7 @@ void CppCodeModelInspectorDialog::refresh() = QString::fromLatin1("Current Editor's Pseudo Snapshot with Semantic Info Document (%1 Documents)") .arg(snapshot.size()); dumper.dumpSnapshot(snapshot, snapshotTitle); - m_ui->snapshotSelector->addItem(snapshotTitle); + m_snapshotSelector->addItem(snapshotTitle); } } @@ -1562,7 +1709,7 @@ void CppCodeModelInspectorDialog::refresh() } else if (oldSnapshotIndex < m_snapshotInfos->size()) { snapshotIndex = oldSnapshotIndex; } - m_ui->snapshotSelector->setCurrentIndex(snapshotIndex); + m_snapshotSelector->setCurrentIndex(snapshotIndex); onSnapshotSelected(snapshotIndex); // Project Parts @@ -1636,20 +1783,20 @@ void CppCodeModelInspectorDialog::clearDocumentData() { m_docGenericInfoModel->clear(); - m_ui->docTab->setTabText(DocumentIncludesTab, docTabName(DocumentIncludesTab)); + m_docTab->setTabText(DocumentIncludesTab, docTabName(DocumentIncludesTab)); m_docIncludesModel->clear(); - m_ui->docTab->setTabText(DocumentDiagnosticsTab, docTabName(DocumentDiagnosticsTab)); + m_docTab->setTabText(DocumentDiagnosticsTab, docTabName(DocumentDiagnosticsTab)); m_docDiagnosticMessagesModel->clear(); - m_ui->docTab->setTabText(DocumentDefinedMacrosTab, docTabName(DocumentDefinedMacrosTab)); + m_docTab->setTabText(DocumentDefinedMacrosTab, docTabName(DocumentDefinedMacrosTab)); m_docMacrosModel->clear(); - m_ui->docPreprocessedSourceEdit->clear(); + m_docPreprocessedSourceEdit->clear(); m_docSymbolsModel->clear(); - m_ui->docTab->setTabText(DocumentTokensTab, docTabName(DocumentTokensTab)); + m_docTab->setTabText(DocumentTokensTab, docTabName(DocumentTokensTab)); m_docTokensModel->clear(); } @@ -1669,37 +1816,37 @@ void CppCodeModelInspectorDialog::updateDocumentData(const Document::Ptr &docume {QString::fromLatin1("Project Parts"), CMI::Utils::partsForFile(document->filePath())} }; m_docGenericInfoModel->configure(table); - resizeColumns<KeyValueModel>(m_ui->docGeneralView); + resizeColumns<KeyValueModel>(m_docGeneralView); // Includes m_docIncludesModel->configure(document->resolvedIncludes() + document->unresolvedIncludes()); - resizeColumns<IncludesModel>(m_ui->docIncludesView); - m_ui->docTab->setTabText(DocumentIncludesTab, + resizeColumns<IncludesModel>(m_docIncludesView); + m_docTab->setTabText(DocumentIncludesTab, docTabName(DocumentIncludesTab, m_docIncludesModel->rowCount())); // Diagnostic Messages m_docDiagnosticMessagesModel->configure(document->diagnosticMessages()); - resizeColumns<DiagnosticMessagesModel>(m_ui->docDiagnosticMessagesView); - m_ui->docTab->setTabText(DocumentDiagnosticsTab, + resizeColumns<DiagnosticMessagesModel>(m_docDiagnosticMessagesView); + m_docTab->setTabText(DocumentDiagnosticsTab, docTabName(DocumentDiagnosticsTab, m_docDiagnosticMessagesModel->rowCount())); // Macros m_docMacrosModel->configure(document->definedMacros()); - resizeColumns<MacrosModel>(m_ui->docDefinedMacrosView); - m_ui->docTab->setTabText(DocumentDefinedMacrosTab, + resizeColumns<MacrosModel>(m_docDefinedMacrosView); + m_docTab->setTabText(DocumentDefinedMacrosTab, docTabName(DocumentDefinedMacrosTab, m_docMacrosModel->rowCount())); // Source - m_ui->docPreprocessedSourceEdit->setPlainText(QString::fromUtf8(document->utf8Source())); + m_docPreprocessedSourceEdit->setPlainText(QString::fromUtf8(document->utf8Source())); // Symbols m_docSymbolsModel->configure(document); - resizeColumns<SymbolsModel>(m_ui->docSymbolsView); + resizeColumns<SymbolsModel>(m_docSymbolsView); // Tokens m_docTokensModel->configure(document->translationUnit()); - resizeColumns<TokensModel>(m_ui->docTokensView); - m_ui->docTab->setTabText(DocumentTokensTab, + resizeColumns<TokensModel>(m_docTokensView); + m_docTab->setTabText(DocumentTokensTab, docTabName(DocumentTokensTab, m_docTokensModel->rowCount())); } @@ -1732,17 +1879,17 @@ void CppCodeModelInspectorDialog::clearProjectPartData() m_projectFilesModel->clear(); m_projectHeaderPathsModel->clear(); - m_ui->projectPartTab->setTabText(ProjectPartFilesTab, partTabName(ProjectPartFilesTab)); + m_projectPartTab->setTabText(ProjectPartFilesTab, partTabName(ProjectPartFilesTab)); - m_ui->partToolchainDefinesEdit->clear(); - m_ui->partProjectDefinesEdit->clear(); - m_ui->projectPartTab->setTabText(ProjectPartDefinesTab, partTabName(ProjectPartDefinesTab)); + m_partToolchainDefinesEdit->clear(); + m_partProjectDefinesEdit->clear(); + m_projectPartTab->setTabText(ProjectPartDefinesTab, partTabName(ProjectPartDefinesTab)); - m_ui->projectPartTab->setTabText(ProjectPartHeaderPathsTab, + m_projectPartTab->setTabText(ProjectPartHeaderPathsTab, partTabName(ProjectPartHeaderPathsTab)); - m_ui->partPrecompiledHeadersEdit->clear(); - m_ui->projectPartTab->setTabText(ProjectPartPrecompiledHeadersTab, + m_partPrecompiledHeadersEdit->clear(); + m_projectPartTab->setTabText(ProjectPartPrecompiledHeadersTab, partTabName(ProjectPartPrecompiledHeadersTab)); } @@ -1798,32 +1945,32 @@ void CppCodeModelInspectorDialog::updateProjectPartData(const ProjectPart::Const if (!part->projectConfigFile.isEmpty()) table.prepend({QString::fromLatin1("Project Config File"), part->projectConfigFile}); m_partGenericInfoModel->configure(table); - resizeColumns<KeyValueModel>(m_ui->partGeneralView); + resizeColumns<KeyValueModel>(m_partGeneralView); // Compiler Flags - m_ui->partGeneralCompilerFlagsEdit->setPlainText(part->compilerFlags.join("\n")); + m_partGeneralCompilerFlagsEdit->setPlainText(part->compilerFlags.join("\n")); // Project Files m_projectFilesModel->configure(part->files); - m_ui->projectPartTab->setTabText(ProjectPartFilesTab, + m_projectPartTab->setTabText(ProjectPartFilesTab, partTabName(ProjectPartFilesTab, part->files.size())); int numberOfDefines = defineCount(part->toolChainMacros) + defineCount(part->projectMacros); - m_ui->partToolchainDefinesEdit->setPlainText(QString::fromUtf8(ProjectExplorer::Macro::toByteArray(part->toolChainMacros))); - m_ui->partProjectDefinesEdit->setPlainText(QString::fromUtf8(ProjectExplorer::Macro::toByteArray(part->projectMacros))); - m_ui->projectPartTab->setTabText(ProjectPartDefinesTab, + m_partToolchainDefinesEdit->setPlainText(QString::fromUtf8(ProjectExplorer::Macro::toByteArray(part->toolChainMacros))); + m_partProjectDefinesEdit->setPlainText(QString::fromUtf8(ProjectExplorer::Macro::toByteArray(part->projectMacros))); + m_projectPartTab->setTabText(ProjectPartDefinesTab, partTabName(ProjectPartDefinesTab, numberOfDefines)); // Header Paths m_projectHeaderPathsModel->configure(part->headerPaths); - m_ui->projectPartTab->setTabText(ProjectPartHeaderPathsTab, + m_projectPartTab->setTabText(ProjectPartHeaderPathsTab, partTabName(ProjectPartHeaderPathsTab, part->headerPaths.size())); // Precompiled Headers - m_ui->partPrecompiledHeadersEdit->setPlainText( + m_partPrecompiledHeadersEdit->setPlainText( CMI::Utils::pathListToString(part->precompiledHeaders)); - m_ui->projectPartTab->setTabText(ProjectPartPrecompiledHeadersTab, + m_projectPartTab->setTabText(ProjectPartPrecompiledHeadersTab, partTabName(ProjectPartPrecompiledHeadersTab, part->precompiledHeaders.size())); } @@ -1840,7 +1987,6 @@ bool CppCodeModelInspectorDialog::event(QEvent *e) return QDialog::event(e); } -} // namespace Internal -} // namespace CppEditor +} // CppEditor::Internal #include "cppcodemodelinspectordialog.moc" diff --git a/src/plugins/cppeditor/cppcodemodelinspectordialog.h b/src/plugins/cppeditor/cppcodemodelinspectordialog.h index cc52040aa1..c4d4e2164d 100644 --- a/src/plugins/cppeditor/cppcodemodelinspectordialog.h +++ b/src/plugins/cppeditor/cppcodemodelinspectordialog.h @@ -11,13 +11,15 @@ #include <QList> QT_BEGIN_NAMESPACE -class QSortFilterProxyModel; +class QCheckBox; +class QComboBox; class QModelIndex; -namespace Ui { class CppCodeModelInspectorDialog; } +class QPlainTextEdit; +class QSortFilterProxyModel; +class QTabWidget; QT_END_NAMESPACE -namespace CppEditor { -namespace Internal { +namespace CppEditor::Internal { class FilterableView; class SnapshotInfo; @@ -71,7 +73,23 @@ private: bool event(QEvent *e) override; private: - QT_PREPEND_NAMESPACE(Ui)::CppCodeModelInspectorDialog *m_ui; + QTabWidget *m_projectPartTab; + QPlainTextEdit *m_partGeneralCompilerFlagsEdit; + QPlainTextEdit *m_partToolchainDefinesEdit; + QPlainTextEdit *m_partProjectDefinesEdit; + QPlainTextEdit *m_partPrecompiledHeadersEdit; + QComboBox *m_snapshotSelector; + QTabWidget *m_docTab; + QTreeView *m_docGeneralView; + QTreeView *m_docIncludesView; + QTreeView *m_docDiagnosticMessagesView; + QTreeView *m_docDefinedMacrosView; + QPlainTextEdit *m_docPreprocessedSourceEdit; + QTreeView *m_docSymbolsView; + QPlainTextEdit *m_workingCopySourceEdit; + QCheckBox *m_selectEditorRelevantEntriesAfterRefreshCheckBox; + QTreeView *m_partGeneralView; + QTreeView *m_docTokensView; // Snapshots and Documents QList<SnapshotInfo> *m_snapshotInfos; @@ -99,5 +117,4 @@ private: QSortFilterProxyModel *m_proxyWorkingCopyModel; }; -} // namespace Internal -} // namespace CppEditor +} // CppEditor::Internal diff --git a/src/plugins/cppeditor/cppcodemodelinspectordialog.ui b/src/plugins/cppeditor/cppcodemodelinspectordialog.ui deleted file mode 100644 index 6f914aa4c8..0000000000 --- a/src/plugins/cppeditor/cppcodemodelinspectordialog.ui +++ /dev/null @@ -1,380 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>CppCodeModelInspectorDialog</class> - <widget class="QDialog" name="CppCodeModelInspectorDialog"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>818</width> - <height>756</height> - </rect> - </property> - <property name="windowTitle"> - <string notr="true">C++ Code Model Inspector</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <widget class="QTabWidget" name="tabWidget"> - <property name="currentIndex"> - <number>0</number> - </property> - <widget class="QWidget" name="tab_2"> - <attribute name="title"> - <string notr="true">&Project Parts</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_12"> - <item> - <widget class="QSplitter" name="projectPartsSplitter"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <widget class="QTabWidget" name="projectPartTab"> - <property name="currentIndex"> - <number>3</number> - </property> - <widget class="QWidget" name="tab_17"> - <attribute name="title"> - <string notr="true">&General</string> - </attribute> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <item> - <widget class="QTreeView" name="partGeneralView"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - </item> - <item> - <layout class="QVBoxLayout" name="verticalLayout_9"> - <item> - <widget class="QLabel" name="label"> - <property name="text"> - <string>Compiler Flags</string> - </property> - </widget> - </item> - <item> - <widget class="QPlainTextEdit" name="partGeneralCompilerFlagsEdit"/> - </item> - </layout> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab_13"> - <attribute name="title"> - <string notr="true">Project &Files</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_14"> - <item> - <widget class="QTreeView" name="projectFilesView"/> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab_14"> - <attribute name="title"> - <string notr="true">&Defines</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_19"> - <item> - <widget class="QGroupBox" name="groupBox"> - <property name="title"> - <string notr="true">Toolchain Defines</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout_13"> - <item> - <widget class="QPlainTextEdit" name="partToolchainDefinesEdit"> - <property name="readOnly"> - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="groupBox_2"> - <property name="title"> - <string notr="true">Project Defines</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout_15"> - <item> - <widget class="QPlainTextEdit" name="partProjectDefinesEdit"> - <property name="readOnly"> - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab_15"> - <attribute name="title"> - <string notr="true">&Header Paths</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_16"> - <item> - <widget class="QTreeView" name="projectHeaderPathsView"/> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab_16"> - <attribute name="title"> - <string notr="true">Pre&compiled Headers</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_18"> - <item> - <widget class="QPlainTextEdit" name="partPrecompiledHeadersEdit"> - <property name="readOnly"> - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </widget> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab"> - <attribute name="title"> - <string notr="true">&Snapshots and Documents</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_5"> - <item> - <widget class="QSplitter" name="splitter"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <widget class="QWidget" name="layoutWidget"> - <layout class="QVBoxLayout" name="snapshotSelectorAndViewLayout"> - <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QLabel" name="snapshotSelectorLabel"> - <property name="text"> - <string notr="true">Sn&apshot:</string> - </property> - <property name="buddy"> - <cstring>snapshotSelector</cstring> - </property> - </widget> - </item> - <item> - <widget class="QComboBox" name="snapshotSelector"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>100</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - <widget class="QTabWidget" name="docTab"> - <property name="currentIndex"> - <number>0</number> - </property> - <widget class="QWidget" name="tab_8"> - <attribute name="title"> - <string notr="true">&General</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <widget class="QTreeView" name="docGeneralView"> - <property name="alternatingRowColors"> - <bool>true</bool> - </property> - <property name="textElideMode"> - <enum>Qt::ElideMiddle</enum> - </property> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab_7"> - <attribute name="title"> - <string notr="true">&Includes</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_3"> - <item> - <widget class="QTreeView" name="docIncludesView"> - <property name="alternatingRowColors"> - <bool>true</bool> - </property> - <property name="textElideMode"> - <enum>Qt::ElideMiddle</enum> - </property> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab_6"> - <attribute name="title"> - <string notr="true">&Diagnostic Messages</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_6"> - <item> - <widget class="QTreeView" name="docDiagnosticMessagesView"> - <property name="alternatingRowColors"> - <bool>true</bool> - </property> - <property name="textElideMode"> - <enum>Qt::ElideMiddle</enum> - </property> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab_4"> - <attribute name="title"> - <string notr="true">(Un)Defined &Macros</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_7"> - <item> - <widget class="QTreeView" name="docDefinedMacrosView"> - <property name="alternatingRowColors"> - <bool>true</bool> - </property> - <property name="textElideMode"> - <enum>Qt::ElideMiddle</enum> - </property> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab_5"> - <attribute name="title"> - <string notr="true">P&reprocessed Source</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_4"> - <item> - <widget class="QPlainTextEdit" name="docPreprocessedSourceEdit"> - <property name="readOnly"> - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab_9"> - <attribute name="title"> - <string notr="true">&Symbols</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_8"> - <item> - <widget class="QTreeView" name="docSymbolsView"> - <property name="alternatingRowColors"> - <bool>true</bool> - </property> - <property name="textElideMode"> - <enum>Qt::ElideMiddle</enum> - </property> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab_10"> - <attribute name="title"> - <string notr="true">&Tokens</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_10"> - <item> - <widget class="QTreeView" name="docTokensView"> - <property name="alternatingRowColors"> - <bool>true</bool> - </property> - <property name="textElideMode"> - <enum>Qt::ElideMiddle</enum> - </property> - </widget> - </item> - </layout> - </widget> - </widget> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="tab_3"> - <attribute name="title"> - <string notr="true">&Working Copy</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout_11"> - <item> - <widget class="QSplitter" name="workingCopySplitter"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="childrenCollapsible"> - <bool>true</bool> - </property> - <widget class="QPlainTextEdit" name="workingCopySourceEdit"> - <property name="readOnly"> - <bool>true</bool> - </property> - <property name="textInteractionFlags"> - <set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set> - </property> - </widget> - </widget> - </item> - </layout> - </widget> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_3"> - <item> - <widget class="QPushButton" name="refreshButton"> - <property name="text"> - <string notr="true">&Refresh</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="selectEditorRelevantEntriesAfterRefreshCheckBox"> - <property name="text"> - <string notr="true">Select &editor relevant entries after refresh</string> - </property> - <property name="checked"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QPushButton" name="closeButton"> - <property name="text"> - <string notr="true">Close</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - <resources/> - <connections/> -</ui> diff --git a/src/plugins/cppeditor/cppeditor.qbs b/src/plugins/cppeditor/cppeditor.qbs index 1bee6c6b2e..cb7b145078 100644 --- a/src/plugins/cppeditor/cppeditor.qbs +++ b/src/plugins/cppeditor/cppeditor.qbs @@ -61,7 +61,6 @@ QtcPlugin { "cppcodeformatter.h", "cppcodemodelinspectordialog.cpp", "cppcodemodelinspectordialog.h", - "cppcodemodelinspectordialog.ui", "cppcodemodelinspectordumper.cpp", "cppcodemodelinspectordumper.h", "cppcodemodelsettings.cpp", |