src/widgets/matrixeditor.cpp

changeset 206
654661eab7f3
parent 112
5760cbb32bc0
child 250
2837b549e616
equal deleted inserted replaced
205:1a4342d80de7 206:654661eab7f3
1 #include "main.h" 1 #include "basics.h"
2 #include "matrixeditor.h" 2 #include "matrixeditor.h"
3 #include "ui_matrixeditor.h" 3 #include "ui_matrixeditor.h"
4 #include "../ui/multiplyfactordialog.h" 4 #include "../ui/multiplyfactordialog.h"
5 5
6 constexpr char BUTTON_COLUMN_PROPERTY[] = "_ldforge_column"; 6 constexpr char BUTTON_COLUMN_PROPERTY[] = "_ldforge_column";
12 ui->setupUi(this); 12 ui->setupUi(this);
13 for (int column = 0; column < countof(this->spinboxes); column += 1) 13 for (int column = 0; column < countof(this->spinboxes); column += 1)
14 { 14 {
15 for (int row = 0; row < countof(this->spinboxes[0]); row += 1) 15 for (int row = 0; row < countof(this->spinboxes[0]); row += 1)
16 { 16 {
17 const QString name = "cell"_q + QString::number(column) + QString::number(row); 17 const QString name = QStringLiteral("cell%1%2").arg(column).arg(row);
18 QDoubleSpinBox** spinbox = &this->spinboxes[column][row]; 18 QDoubleSpinBox** spinbox = &this->spinboxes[column][row];
19 *spinbox = this->findChild<QDoubleSpinBox*>(name); 19 *spinbox = this->findChild<QDoubleSpinBox*>(name);
20 connect(*spinbox, qOverload<double>(&QDoubleSpinBox::valueChanged), [&]() 20 connect(*spinbox, qOverload<double>(&QDoubleSpinBox::valueChanged), [&]()
21 { 21 {
22 Q_EMIT this->valueChanged(this->value()); 22 Q_EMIT this->valueChanged(this->value());
23 }); 23 });
24 Q_ASSERT(*spinbox != nullptr); 24 Q_ASSERT(*spinbox != nullptr);
25 } 25 }
26 QAbstractButton* button = this->findChild<QAbstractButton*>("multiply"_q + QString::number(column)); 26 const QString multiplyButtonName = QStringLiteral("multiply%1").arg(column);
27 QAbstractButton* button = this->findChild<QAbstractButton*>(multiplyButtonName);
27 button->setProperty(BUTTON_COLUMN_PROPERTY, column); 28 button->setProperty(BUTTON_COLUMN_PROPERTY, column);
28 connect(button, &QAbstractButton::clicked, this, &MatrixEditor::multiplyButtonPressed); 29 connect(button, &QAbstractButton::clicked, this, &MatrixEditor::multiplyButtonPressed);
29 } 30 }
30 this->setValue(value); 31 this->setValue(value);
31 } 32 }

mercurial