diff options
author | Alessandro Portale <alessandro.portale@qt.io> | 2024-04-16 17:27:05 +0200 |
---|---|---|
committer | Alessandro Portale <alessandro.portale@qt.io> | 2024-05-02 15:25:07 +0000 |
commit | 15f83efa6a44056ccade602b0c42bcf0600141d1 (patch) | |
tree | cf0de8804986ea1d5116fd58ce06277b2590c887 /src/libs/modelinglib | |
parent | f625c2682c2bf186c56f9e8f0b92a4d24ac0da59 (diff) |
ModelEditor: Inline addrelatedelementsdialog.ui
Change-Id: I53f9ec87030c4ac41ff34f61a54dd10a866b8c33
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Jochen Becher <jochen_becher@gmx.de>
Diffstat (limited to 'src/libs/modelinglib')
5 files changed, 69 insertions, 218 deletions
diff --git a/src/libs/modelinglib/CMakeLists.txt b/src/libs/modelinglib/CMakeLists.txt index 65bd5e7140..e966b39459 100644 --- a/src/libs/modelinglib/CMakeLists.txt +++ b/src/libs/modelinglib/CMakeLists.txt @@ -133,7 +133,6 @@ add_qtc_library(Modeling qmt/model_ui/treemodel.cpp qmt/model_ui/treemodel.h qmt/model_ui/treemodelmanager.cpp qmt/model_ui/treemodelmanager.h qmt/model_widgets_ui/addrelatedelementsdialog.h qmt/model_widgets_ui/addrelatedelementsdialog.cpp - qmt/model_widgets_ui/addrelatedelementsdialog.ui qmt/model_widgets_ui/classmembersedit.cpp qmt/model_widgets_ui/classmembersedit.h qmt/model_widgets_ui/modeltreefilter.h qmt/model_widgets_ui/modeltreefilter.cpp qmt/model_widgets_ui/modeltreeview.cpp qmt/model_widgets_ui/modeltreeview.h diff --git a/src/libs/modelinglib/modelinglib.qbs b/src/libs/modelinglib/modelinglib.qbs index 250fd5cfc0..9929bf33c0 100644 --- a/src/libs/modelinglib/modelinglib.qbs +++ b/src/libs/modelinglib/modelinglib.qbs @@ -251,7 +251,6 @@ QtcLibrary { "model_ui/treemodelmanager.h", "model_widgets_ui/addrelatedelementsdialog.h", "model_widgets_ui/addrelatedelementsdialog.cpp", - "model_widgets_ui/addrelatedelementsdialog.ui", "model_widgets_ui/classmembersedit.cpp", "model_widgets_ui/classmembersedit.h", "model_widgets_ui/modeltreefilter.cpp", diff --git a/src/libs/modelinglib/qmt/model_widgets_ui/addrelatedelementsdialog.cpp b/src/libs/modelinglib/qmt/model_widgets_ui/addrelatedelementsdialog.cpp index 35bfeda6c7..40499e2839 100644 --- a/src/libs/modelinglib/qmt/model_widgets_ui/addrelatedelementsdialog.cpp +++ b/src/libs/modelinglib/qmt/model_widgets_ui/addrelatedelementsdialog.cpp @@ -2,7 +2,6 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #include "addrelatedelementsdialog.h" -#include "ui_addrelatedelementsdialog.h" #include <qmt/tasks/diagramscenecontroller.h> #include <qmt/diagram_controller/dselection.h> @@ -15,8 +14,14 @@ #include <qmt/model_controller/modelcontroller.h> #include <qmt/model_controller/mvoidvisitor.h> -#include <QStringListModel> +#include "../../modelinglibtr.h" + +#include <utils/layoutbuilder.h> +#include <QComboBox> +#include <QDialogButtonBox> +#include <QLabel> +#include <QStringListModel> namespace qmt { @@ -270,26 +275,69 @@ public: QStringListModel m_elementTypeModel; QStringListModel m_elementStereotypesModel; Filter m_filter; + + QComboBox *RelationTypeCombobox; + QComboBox *DirectionCombobox; + QComboBox *StereotypesCombobox; + QComboBox *ElementStereotypesCombobox; + QComboBox *ElementTypeComboBox; + QLabel *NumberOfMatchingElementsValue; + QDialogButtonBox *buttonBox; }; AddRelatedElementsDialog::AddRelatedElementsDialog(QWidget *parent) : QDialog(parent), - ui(new Ui::AddRelatedElementsDialog), d(new Private) { - ui->setupUi(this); - connect(ui->RelationTypeCombobox, &QComboBox::currentIndexChanged, this, &AddRelatedElementsDialog::updateNumberOfElements); - connect(ui->DirectionCombobox, &QComboBox::currentIndexChanged, this, &AddRelatedElementsDialog::updateNumberOfElements); - connect(ui->StereotypesCombobox, &QComboBox::currentTextChanged, this, &AddRelatedElementsDialog::updateNumberOfElements); - connect(ui->ElementTypeComboBox, &QComboBox::currentIndexChanged, this, &AddRelatedElementsDialog::updateNumberOfElements); - connect(ui->ElementStereotypesCombobox, &QComboBox::currentTextChanged, this, &AddRelatedElementsDialog::updateNumberOfElements); + setMinimumWidth(500); + + d->RelationTypeCombobox = new QComboBox; + d->DirectionCombobox = new QComboBox; + d->StereotypesCombobox = new QComboBox; + d->StereotypesCombobox->setEditable(true); + d->ElementTypeComboBox = new QComboBox; + d->ElementStereotypesCombobox = new QComboBox; + d->ElementStereotypesCombobox->setEditable(true); + d->NumberOfMatchingElementsValue = new QLabel; + d->buttonBox = new QDialogButtonBox(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); + + using namespace Layouting; + Column { + Group { + title(Tr::tr("Relation Attributes")), + Form { + Tr::tr("Type"), d->RelationTypeCombobox, br, + Tr::tr("Direction"), d->DirectionCombobox, br, + Tr::tr("Stereotypes"), d->StereotypesCombobox, br, + }, + }, + Group { + title(Tr::tr("Other Element Attributes")), + Form { + Tr::tr("Type"), d->ElementTypeComboBox, br, + Tr::tr("Stereotypes"), d->ElementStereotypesCombobox, br, + }, + }, + Row { + Tr::tr("Number of matching elements: "), d->NumberOfMatchingElementsValue, st, + }, + st, + d->buttonBox, + }.attachTo(this); + + connect(d->RelationTypeCombobox, &QComboBox::currentIndexChanged, this, &AddRelatedElementsDialog::updateNumberOfElements); + connect(d->DirectionCombobox, &QComboBox::currentIndexChanged, this, &AddRelatedElementsDialog::updateNumberOfElements); + connect(d->StereotypesCombobox, &QComboBox::currentTextChanged, this, &AddRelatedElementsDialog::updateNumberOfElements); + connect(d->ElementTypeComboBox, &QComboBox::currentIndexChanged, this, &AddRelatedElementsDialog::updateNumberOfElements); + connect(d->ElementStereotypesCombobox, &QComboBox::currentTextChanged, this, &AddRelatedElementsDialog::updateNumberOfElements); + connect(d->buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept); + connect(d->buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject); connect(this, &QDialog::accepted, this, &AddRelatedElementsDialog::onAccepted); } AddRelatedElementsDialog::~AddRelatedElementsDialog() { delete d; - delete ui; } void AddRelatedElementsDialog::setDiagramSceneController(qmt::DiagramSceneController *diagramSceneController) @@ -303,19 +351,19 @@ void AddRelatedElementsDialog::setElements(const qmt::DSelection &selection, qmt d->m_diagramUid = diagram->uid(); QStringList relationTypes = {"Any", "Dependency", "Association", "Inheritance"}; d->m_relationTypeModel.setStringList(relationTypes); - ui->RelationTypeCombobox->setModel(&d->m_relationTypeModel); + d->RelationTypeCombobox->setModel(&d->m_relationTypeModel); QStringList relationDirections = {"Any", "Outgoing (->)", "Incoming (<-)", "Bidirectional (<->)"}; d->m_relationDirectionModel.setStringList(relationDirections); - ui->DirectionCombobox->setModel(&d->m_relationDirectionModel); + d->DirectionCombobox->setModel(&d->m_relationDirectionModel); QStringList relationStereotypes = { }; d->m_relationStereotypesModel.setStringList(relationStereotypes); - ui->StereotypesCombobox->setModel(&d->m_relationStereotypesModel); + d->StereotypesCombobox->setModel(&d->m_relationStereotypesModel); QStringList elementTypes = {"Any", "Package", "Component", "Class", "Diagram", "Item"}; d->m_elementTypeModel.setStringList(elementTypes); - ui->ElementTypeComboBox->setModel(&d->m_elementTypeModel); + d->ElementTypeComboBox->setModel(&d->m_elementTypeModel); QStringList elementStereotypes = { }; d->m_elementStereotypesModel.setStringList(elementStereotypes); - ui->ElementStereotypesCombobox->setModel(&d->m_elementStereotypesModel); + d->ElementStereotypesCombobox->setModel(&d->m_elementStereotypesModel); updateNumberOfElements(); } @@ -335,11 +383,11 @@ void AddRelatedElementsDialog::onAccepted() void AddRelatedElementsDialog::updateFilter() { - d->m_filter.setRelationType((RelationType) ui->RelationTypeCombobox->currentIndex()); - d->m_filter.setRelationDirection((RelationDirection) ui->DirectionCombobox->currentIndex()); - d->m_filter.setRelationStereotypes(ui->StereotypesCombobox->currentText().split(',', Qt::SkipEmptyParts)); - d->m_filter.setElementType((ElementType) ui->ElementTypeComboBox->currentIndex()); - d->m_filter.setElementStereotypes(ui->ElementStereotypesCombobox->currentText().split(',', Qt::SkipEmptyParts)); + d->m_filter.setRelationType((RelationType) d->RelationTypeCombobox->currentIndex()); + d->m_filter.setRelationDirection((RelationDirection) d->DirectionCombobox->currentIndex()); + d->m_filter.setRelationStereotypes(d->StereotypesCombobox->currentText().split(',', Qt::SkipEmptyParts)); + d->m_filter.setElementType((ElementType) d->ElementTypeComboBox->currentIndex()); + d->m_filter.setElementStereotypes(d->ElementStereotypesCombobox->currentText().split(',', Qt::SkipEmptyParts)); } bool AddRelatedElementsDialog::filter(qmt::DObject *dobject, qmt::MObject *mobject, qmt::MRelation *relation) @@ -366,7 +414,7 @@ void AddRelatedElementsDialog::updateNumberOfElements() qmt::MDiagram *diagram = d->m_diagramSceneController->modelController()->findElement<qmt::MDiagram>(d->m_diagramUid); if (diagram) { updateFilter(); - ui->NumberOfMatchingElementsValue->setText(QString::number(d->m_diagramSceneController->countRelatedElements( + d->NumberOfMatchingElementsValue->setText(QString::number(d->m_diagramSceneController->countRelatedElements( d->m_selection, diagram, [this](qmt::DObject *dobject, qmt::MObject *mobject, qmt::MRelation *relation) -> bool { diff --git a/src/libs/modelinglib/qmt/model_widgets_ui/addrelatedelementsdialog.h b/src/libs/modelinglib/qmt/model_widgets_ui/addrelatedelementsdialog.h index 1c7edb1d57..e0fefa1c6c 100644 --- a/src/libs/modelinglib/qmt/model_widgets_ui/addrelatedelementsdialog.h +++ b/src/libs/modelinglib/qmt/model_widgets_ui/addrelatedelementsdialog.h @@ -17,10 +17,6 @@ class MRelation; class DiagramSceneController; } -namespace Ui { -class AddRelatedElementsDialog; -} - namespace qmt { class QMT_EXPORT AddRelatedElementsDialog : public QDialog @@ -41,7 +37,6 @@ private: bool filter(qmt::DObject *dobject, qmt::MObject *mobject, qmt::MRelation *relation); void updateNumberOfElements(); - Ui::AddRelatedElementsDialog *ui = nullptr; Private *d = nullptr; }; diff --git a/src/libs/modelinglib/qmt/model_widgets_ui/addrelatedelementsdialog.ui b/src/libs/modelinglib/qmt/model_widgets_ui/addrelatedelementsdialog.ui deleted file mode 100644 index 0dc2cf04ca..0000000000 --- a/src/libs/modelinglib/qmt/model_widgets_ui/addrelatedelementsdialog.ui +++ /dev/null @@ -1,190 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>AddRelatedElementsDialog</class> - <widget class="QDialog" name="AddRelatedElementsDialog"> - <property name="sizePolicy"> - <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>500</width> - <height>0</height> - </size> - </property> - <property name="windowTitle"> - <string>Dialog</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout_3"> - <item> - <widget class="QGroupBox" name="relationBox"> - <property name="title"> - <string>Relation Attributes</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <layout class="QFormLayout" name="formLayout"> - <item row="0" column="0"> - <widget class="QLabel" name="RelationTypeLabel"> - <property name="text"> - <string>Type</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QComboBox" name="RelationTypeCombobox"/> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="DirectionLabel"> - <property name="text"> - <string>Direction</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QComboBox" name="DirectionCombobox"/> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="StereotypesLabel"> - <property name="text"> - <string>Stereotypes</string> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QComboBox" name="StereotypesCombobox"> - <property name="editable"> - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="elementBox"> - <property name="title"> - <string>Other Element Attributes</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <layout class="QFormLayout" name="formLayout_2"> - <item row="1" column="0"> - <widget class="QLabel" name="ElementTypeLabel"> - <property name="text"> - <string>Type</string> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="ElementStereotypesLabel"> - <property name="text"> - <string>Stereotypes</string> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QComboBox" name="ElementStereotypesCombobox"> - <property name="editable"> - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QComboBox" name="ElementTypeComboBox"> - <property name="editable"> - <bool>false</bool> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - </item> - <item> - <layout class="QFormLayout" name="formLayout_3"> - <item row="0" column="0"> - <widget class="QLabel" name="NumberOfMatchingElementsLabel"> - <property name="text"> - <string>Number of matching elements: </string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QLabel" name="NumberOfMatchingElementsValue"> - <property name="text"> - <string>0</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::MinimumExpanding</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>0</width> - <height>0</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QDialogButtonBox" name="buttonBox"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons"> - <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> - </property> - </widget> - </item> - </layout> - </widget> - <resources/> - <connections> - <connection> - <sender>buttonBox</sender> - <signal>accepted()</signal> - <receiver>AddRelatedElementsDialog</receiver> - <slot>accept()</slot> - <hints> - <hint type="sourcelabel"> - <x>248</x> - <y>254</y> - </hint> - <hint type="destinationlabel"> - <x>157</x> - <y>274</y> - </hint> - </hints> - </connection> - <connection> - <sender>buttonBox</sender> - <signal>rejected()</signal> - <receiver>AddRelatedElementsDialog</receiver> - <slot>reject()</slot> - <hints> - <hint type="sourcelabel"> - <x>316</x> - <y>260</y> - </hint> - <hint type="destinationlabel"> - <x>286</x> - <y>274</y> - </hint> - </hints> - </connection> - </connections> -</ui> |