aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/modelinglib
diff options
context:
space:
mode:
authorAlessandro Portale <alessandro.portale@qt.io>2024-04-16 17:27:05 +0200
committerAlessandro Portale <alessandro.portale@qt.io>2024-05-02 15:25:07 +0000
commit15f83efa6a44056ccade602b0c42bcf0600141d1 (patch)
treecf0de8804986ea1d5116fd58ce06277b2590c887 /src/libs/modelinglib
parentf625c2682c2bf186c56f9e8f0b92a4d24ac0da59 (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')
-rw-r--r--src/libs/modelinglib/CMakeLists.txt1
-rw-r--r--src/libs/modelinglib/modelinglib.qbs1
-rw-r--r--src/libs/modelinglib/qmt/model_widgets_ui/addrelatedelementsdialog.cpp90
-rw-r--r--src/libs/modelinglib/qmt/model_widgets_ui/addrelatedelementsdialog.h5
-rw-r--r--src/libs/modelinglib/qmt/model_widgets_ui/addrelatedelementsdialog.ui190
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>