From 260ac4130dd1ce9710b9fa1b42bb4e358ad6e668 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 1 Apr 2023 19:11:08 +0200 Subject: [PATCH] FEM: fix -Wclazy-connect-by-name --- src/Mod/Fem/Gui/TaskPostBoxes.cpp | 219 ++++++++++++++++++++++++------ src/Mod/Fem/Gui/TaskPostBoxes.h | 76 ++++++----- 2 files changed, 217 insertions(+), 78 deletions(-) diff --git a/src/Mod/Fem/Gui/TaskPostBoxes.cpp b/src/Mod/Fem/Gui/TaskPostBoxes.cpp index 621e8b324b..e5cb3b3cbe 100644 --- a/src/Mod/Fem/Gui/TaskPostBoxes.cpp +++ b/src/Mod/Fem/Gui/TaskPostBoxes.cpp @@ -403,7 +403,7 @@ TaskPostDisplay::TaskPostDisplay(Gui::ViewProviderDocumentObject* view, QWidget* // we need a separate container widget to add all controls to proxy = new QWidget(this); ui->setupUi(proxy); - QMetaObject::connectSlotsByName(this); + setupConnections(); this->groupLayout()->addWidget(proxy); @@ -422,32 +422,46 @@ TaskPostDisplay::TaskPostDisplay(Gui::ViewProviderDocumentObject* view, QWidget* } TaskPostDisplay::~TaskPostDisplay() -{} +{ + +} + +void TaskPostDisplay::setupConnections() +{ + connect(ui->Representation, qOverload(&QComboBox::activated), + this, &TaskPostDisplay::onRepresentationActivated); + connect(ui->Field, qOverload(&QComboBox::activated), + this, &TaskPostDisplay::onFieldActivated); + connect(ui->VectorMode, qOverload(&QComboBox::activated), + this, &TaskPostDisplay::onVectorModeActivated); + connect(ui->Transparency, &QSlider::valueChanged, + this, &TaskPostDisplay::onTransparencyValueChanged); +} void TaskPostDisplay::slotAddedFunction() { updateEnumerationList(getTypedView()->Field, ui->Field); } -void TaskPostDisplay::on_Representation_activated(int i) +void TaskPostDisplay::onRepresentationActivated(int i) { getTypedView()->DisplayMode.setValue(i); updateEnumerationList(getTypedView()->Field, ui->Field); updateEnumerationList(getTypedView()->VectorMode, ui->VectorMode); } -void TaskPostDisplay::on_Field_activated(int i) +void TaskPostDisplay::onFieldActivated(int i) { getTypedView()->Field.setValue(i); updateEnumerationList(getTypedView()->VectorMode, ui->VectorMode); } -void TaskPostDisplay::on_VectorMode_activated(int i) +void TaskPostDisplay::onVectorModeActivated(int i) { getTypedView()->VectorMode.setValue(i); } -void TaskPostDisplay::on_Transparency_valueChanged(int i) { +void TaskPostDisplay::onTransparencyValueChanged(int i) { getTypedView()->Transparency.setValue(i); ui->Transparency->setToolTip(QString::number(i) + QString::fromLatin1(" %")); @@ -501,7 +515,7 @@ TaskPostDataAlongLine::TaskPostDataAlongLine(ViewProviderDocumentObject* view, Q proxy = new QWidget(this); ui->setupUi(proxy); - QMetaObject::connectSlotsByName(this); + setupConnectionsStep1(); this->groupLayout()->addWidget(proxy); QSize size = ui->point1X->sizeForText(QStringLiteral("000000000000")); @@ -546,6 +560,44 @@ TaskPostDataAlongLine::TaskPostDataAlongLine(ViewProviderDocumentObject* view, Q int res = static_cast(getObject())->Resolution.getValue(); ui->resolution->setValue(res); + setupConnectionsStep2(); + + //update all fields + updateEnumerationList(getTypedView()->DisplayMode, + ui->Representation); + updateEnumerationList(getTypedView()->Field, ui->Field); + updateEnumerationList(getTypedView()->VectorMode, ui->VectorMode); +} + +TaskPostDataAlongLine::~TaskPostDataAlongLine() +{} + +void TaskPostDataAlongLine::setupConnectionsStep1() +{ + connect(ui->SelectPoints, + &QPushButton::clicked, + this, + &TaskPostDataAlongLine::onSelectPointsClicked); + connect(ui->CreatePlot, + &QPushButton::clicked, + this, + &TaskPostDataAlongLine::onCreatePlotClicked); + connect(ui->Representation, + qOverload(&QComboBox::activated), + this, + &TaskPostDataAlongLine::onRepresentationActivated); + connect(ui->Field, + qOverload(&QComboBox::activated), + this, + &TaskPostDataAlongLine::onFieldActivated); + connect(ui->VectorMode, + qOverload(&QComboBox::activated), + this, + &TaskPostDataAlongLine::onVectorModeActivated); +} + +void TaskPostDataAlongLine::setupConnectionsStep2() +{ connect(ui->point1X, qOverload(&Gui::QuantitySpinBox::valueChanged), this, @@ -574,17 +626,8 @@ TaskPostDataAlongLine::TaskPostDataAlongLine(ViewProviderDocumentObject* view, Q qOverload(&QSpinBox::valueChanged), this, &TaskPostDataAlongLine::resolutionChanged); - - //update all fields - updateEnumerationList(getTypedView()->DisplayMode, - ui->Representation); - updateEnumerationList(getTypedView()->Field, ui->Field); - updateEnumerationList(getTypedView()->VectorMode, ui->VectorMode); } -TaskPostDataAlongLine::~TaskPostDataAlongLine() -{} - void TaskPostDataAlongLine::applyPythonCode() {} @@ -610,7 +653,7 @@ static const char* cursor_triangle[] = {"32 32 3 1", " + ++++++++ + ", " ++ ++ ++ ++ "}; -void TaskPostDataAlongLine::on_SelectPoints_clicked() +void TaskPostDataAlongLine::onSelectPointsClicked() { Gui::Command::doCommand(Gui::Command::Doc, ObjectVisible().c_str()); Gui::Document* doc = Gui::Application::Instance->getDocument(getDocument()); @@ -642,7 +685,7 @@ std::string TaskPostDataAlongLine::ObjectVisible() apart.ViewObject.Visibility = True\n"; } -void TaskPostDataAlongLine::on_CreatePlot_clicked() +void TaskPostDataAlongLine::onCreatePlotClicked() { App::DocumentObjectT objT(getObject()); std::string ObjName = objT.getObjectPython(); @@ -776,14 +819,14 @@ void TaskPostDataAlongLine::pointCallback(void* ud, SoEventCallback* n) } } -void TaskPostDataAlongLine::on_Representation_activated(int i) +void TaskPostDataAlongLine::onRepresentationActivated(int i) { getTypedView()->DisplayMode.setValue(i); updateEnumerationList(getTypedView()->Field, ui->Field); updateEnumerationList(getTypedView()->VectorMode, ui->VectorMode); } -void TaskPostDataAlongLine::on_Field_activated(int i) +void TaskPostDataAlongLine::onFieldActivated(int i) { getTypedView()->Field.setValue(i); std::string FieldName = ui->Field->currentText().toStdString(); @@ -791,7 +834,7 @@ void TaskPostDataAlongLine::on_Field_activated(int i) updateEnumerationList(getTypedView()->VectorMode, ui->VectorMode); } -void TaskPostDataAlongLine::on_VectorMode_activated(int i) +void TaskPostDataAlongLine::onVectorModeActivated(int i) { getTypedView()->VectorMode.setValue(i); } @@ -832,8 +875,8 @@ TaskPostDataAtPoint::TaskPostDataAtPoint(ViewProviderDocumentObject* view, QWidg //we load the views widget proxy = new QWidget(this); ui->setupUi(proxy); + setupConnections(); - QMetaObject::connectSlotsByName(this); this->groupLayout()->addWidget(proxy); QSize size = ui->centerX->sizeForText(QStringLiteral("000000000000")); @@ -892,6 +935,18 @@ TaskPostDataAtPoint::~TaskPostDataAtPoint() doc->recompute(); } +void TaskPostDataAtPoint::setupConnections() +{ + connect(ui->SelectPoint, + &QPushButton::clicked, + this, + &TaskPostDataAtPoint::onSelectPointClicked); + connect(ui->Field, + qOverload(&QComboBox::activated), + this, + &TaskPostDataAtPoint::onFieldActivated); +} + void TaskPostDataAtPoint::applyPythonCode() {} @@ -917,7 +972,7 @@ static const char* cursor_star[] = {"32 17 3 1", " + ++++++++ + ", " ++ ++ ++ ++ "}; -void TaskPostDataAtPoint::on_SelectPoint_clicked() +void TaskPostDataAtPoint::onSelectPointClicked() { Gui::Command::doCommand(Gui::Command::Doc, ObjectVisible().c_str()); Gui::Document* doc = Gui::Application::Instance->getDocument(getDocument()); @@ -982,7 +1037,7 @@ void TaskPostDataAtPoint::centerChanged(double) getObject()->recomputeFeature(); // show the data dialog by calling on_Field_activated with the field that is currently set auto currentField = getTypedView()->Field.getValue(); - on_Field_activated(currentField); + onFieldActivated(currentField); } catch (const Base::Exception& e) { e.ReportException(); @@ -1025,7 +1080,7 @@ void TaskPostDataAtPoint::pointCallback(void* ud, SoEventCallback* n) } } -void TaskPostDataAtPoint::on_Field_activated(int i) +void TaskPostDataAtPoint::onFieldActivated(int i) { getTypedView()->Field.setValue(i); std::string FieldName = ui->Field->currentText().toStdString(); @@ -1190,7 +1245,7 @@ TaskPostClip::TaskPostClip(ViewProviderDocumentObject* view, App::PropertyLink* //we load the views widget proxy = new QWidget(this); ui->setupUi(proxy); - QMetaObject::connectSlotsByName(this); + setupConnections(); this->groupLayout()->addWidget(proxy); //the layout for the container widget @@ -1217,6 +1272,26 @@ TaskPostClip::TaskPostClip(ViewProviderDocumentObject* view, App::PropertyLink* TaskPostClip::~TaskPostClip() {} +void TaskPostClip::setupConnections() +{ + connect(ui->CreateButton, + &QToolButton::triggered, + this, + &TaskPostClip::onCreateButtonTriggered); + connect(ui->FunctionBox, + qOverload(&QComboBox::currentIndexChanged), + this, + &TaskPostClip::onFunctionBoxCurrentIndexChanged); + connect(ui->InsideOut, + &QCheckBox::toggled, + this, + &TaskPostClip::onInsideOutToggled); + connect(ui->CutCells, + &QCheckBox::toggled, + this, + &TaskPostClip::onCutCellsToggled); +} + void TaskPostClip::applyPythonCode() {} @@ -1248,7 +1323,7 @@ void TaskPostClip::collectImplicitFunctions() } } -void TaskPostClip::on_CreateButton_triggered(QAction*) +void TaskPostClip::onCreateButtonTriggered(QAction*) { int numFuncs = ui->FunctionBox->count(); int currentItem = ui->FunctionBox->currentIndex(); @@ -1267,7 +1342,7 @@ void TaskPostClip::on_CreateButton_triggered(QAction*) recompute(); } -void TaskPostClip::on_FunctionBox_currentIndexChanged(int idx) +void TaskPostClip::onFunctionBoxCurrentIndexChanged(int idx) { //set the correct property std::vector pipelines; @@ -1306,13 +1381,13 @@ void TaskPostClip::on_FunctionBox_currentIndexChanged(int idx) recompute(); } -void TaskPostClip::on_CutCells_toggled(bool val) +void TaskPostClip::onCutCellsToggled(bool val) { static_cast(getObject())->CutCells.setValue(val); recompute(); } -void TaskPostClip::on_InsideOut_toggled(bool val) +void TaskPostClip::onInsideOutToggled(bool val) { static_cast(getObject())->InsideOut.setValue(val); recompute(); @@ -1465,7 +1540,7 @@ TaskPostCut::TaskPostCut(ViewProviderDocumentObject* view, App::PropertyLink* fu //we load the views widget proxy = new QWidget(this); ui->setupUi(proxy); - QMetaObject::connectSlotsByName(this); + setupConnections(); this->groupLayout()->addWidget(proxy); //the layout for the container widget @@ -1486,6 +1561,18 @@ TaskPostCut::TaskPostCut(ViewProviderDocumentObject* view, App::PropertyLink* fu TaskPostCut::~TaskPostCut() {} +void TaskPostCut::setupConnections() +{ + connect(ui->CreateButton, + &QToolButton::triggered, + this, + &TaskPostCut::onCreateButtonTriggered); + connect(ui->FunctionBox, + qOverload(&QComboBox::currentIndexChanged), + this, + &TaskPostCut::onFunctionBoxCurrentIndexChanged); +} + void TaskPostCut::applyPythonCode() {} @@ -1518,7 +1605,7 @@ void TaskPostCut::collectImplicitFunctions() } } -void TaskPostCut::on_CreateButton_triggered(QAction*) +void TaskPostCut::onCreateButtonTriggered(QAction*) { int numFuncs = ui->FunctionBox->count(); int currentItem = ui->FunctionBox->currentIndex(); @@ -1537,7 +1624,7 @@ void TaskPostCut::on_CreateButton_triggered(QAction*) recompute(); } -void TaskPostCut::on_FunctionBox_currentIndexChanged(int idx) +void TaskPostCut::onFunctionBoxCurrentIndexChanged(int idx) { //set the correct property std::vector pipelines; @@ -1590,7 +1677,7 @@ TaskPostScalarClip::TaskPostScalarClip(ViewProviderDocumentObject* view, QWidget //we load the views widget proxy = new QWidget(this); ui->setupUi(proxy); - QMetaObject::connectSlotsByName(this); + setupConnections(); this->groupLayout()->addWidget(proxy); //load the default values @@ -1625,10 +1712,30 @@ TaskPostScalarClip::TaskPostScalarClip(ViewProviderDocumentObject* view, QWidget TaskPostScalarClip::~TaskPostScalarClip() {} +void TaskPostScalarClip::setupConnections() +{ + connect(ui->Slider, + &QSlider::valueChanged, + this, + &TaskPostScalarClip::onSliderValueChanged); + connect(ui->Value, + qOverload(&QDoubleSpinBox::valueChanged), + this, + &TaskPostScalarClip::onValueValueChanged); + connect(ui->Scalar, + qOverload(&QComboBox::currentIndexChanged), + this, + &TaskPostScalarClip::onScalarCurrentIndexChanged); + connect(ui->InsideOut, + &QCheckBox::toggled, + this, + &TaskPostScalarClip::onInsideOutToggled); +} + void TaskPostScalarClip::applyPythonCode() {} -void TaskPostScalarClip::on_Scalar_currentIndexChanged(int idx) +void TaskPostScalarClip::onScalarCurrentIndexChanged(int idx) { static_cast(getObject())->Scalars.setValue(idx); recompute(); @@ -1655,7 +1762,7 @@ void TaskPostScalarClip::on_Scalar_currentIndexChanged(int idx) ui->Slider->blockSignals(false); } -void TaskPostScalarClip::on_Slider_valueChanged(int v) +void TaskPostScalarClip::onSliderValueChanged(int v) { App::PropertyFloatConstraint& value = static_cast(getObject())->Value; @@ -1671,7 +1778,7 @@ void TaskPostScalarClip::on_Slider_valueChanged(int v) ui->Value->blockSignals(false); } -void TaskPostScalarClip::on_Value_valueChanged(double v) +void TaskPostScalarClip::onValueValueChanged(double v) { App::PropertyFloatConstraint& value = static_cast(getObject())->Value; @@ -1687,7 +1794,7 @@ void TaskPostScalarClip::on_Value_valueChanged(double v) ui->Slider->blockSignals(false); } -void TaskPostScalarClip::on_InsideOut_toggled(bool val) +void TaskPostScalarClip::onInsideOutToggled(bool val) { static_cast(getObject())->InsideOut.setValue(val); recompute(); @@ -1706,7 +1813,7 @@ TaskPostWarpVector::TaskPostWarpVector(ViewProviderDocumentObject* view, QWidget // we load the views widget proxy = new QWidget(this); ui->setupUi(proxy); - QMetaObject::connectSlotsByName(this); + setupConnections(); this->groupLayout()->addWidget(proxy); // load the default values for warp display @@ -1747,10 +1854,34 @@ TaskPostWarpVector::TaskPostWarpVector(ViewProviderDocumentObject* view, QWidget TaskPostWarpVector::~TaskPostWarpVector() {} +void TaskPostWarpVector::setupConnections() +{ + connect(ui->Slider, + &QSlider::valueChanged, + this, + &TaskPostWarpVector::onSliderValueChanged); + connect(ui->Value, + qOverload(&QDoubleSpinBox::valueChanged), + this, + &TaskPostWarpVector::onValueValueChanged); + connect(ui->Max, + qOverload(&QDoubleSpinBox::valueChanged), + this, + &TaskPostWarpVector::onMaxValueChanged); + connect(ui->Min, + qOverload(&QDoubleSpinBox::valueChanged), + this, + &TaskPostWarpVector::onMinValueChanged); + connect(ui->Vector, + qOverload(&QComboBox::currentIndexChanged), + this, + &TaskPostWarpVector::onVectorCurrentIndexChanged); +} + void TaskPostWarpVector::applyPythonCode() {} -void TaskPostWarpVector::on_Vector_currentIndexChanged(int idx) +void TaskPostWarpVector::onVectorCurrentIndexChanged(int idx) { // combobox to choose the result to warp @@ -1758,7 +1889,7 @@ void TaskPostWarpVector::on_Vector_currentIndexChanged(int idx) recompute(); } -void TaskPostWarpVector::on_Slider_valueChanged(int slider_value) +void TaskPostWarpVector::onSliderValueChanged(int slider_value) { // slider changed, change warp factor and sync spinbox @@ -1779,7 +1910,7 @@ void TaskPostWarpVector::on_Slider_valueChanged(int slider_value) Base::Console().Log("Change: warp_factor, slider_value: %f, %i: \n", warp_factor, slider_value); } -void TaskPostWarpVector::on_Value_valueChanged(double warp_factor) +void TaskPostWarpVector::onValueValueChanged(double warp_factor) { // spinbox changed, change warp factor and sync slider @@ -1798,7 +1929,7 @@ void TaskPostWarpVector::on_Value_valueChanged(double warp_factor) Base::Console().Log("Change: warp_factor, slider_value: %f, %i: \n", warp_factor, slider_value); } -void TaskPostWarpVector::on_Max_valueChanged(double) +void TaskPostWarpVector::onMaxValueChanged(double) { // TODO max should be greater than min, see a few lines later on problem on input characters ui->Slider->blockSignals(true); @@ -1836,7 +1967,7 @@ void TaskPostWarpVector::on_Max_valueChanged(double) */ } -void TaskPostWarpVector::on_Min_valueChanged(double) +void TaskPostWarpVector::onMinValueChanged(double) { // TODO min should be smaller than max // TODO if warp factor is smaller than min, warp factor should be min, don't forget to sync diff --git a/src/Mod/Fem/Gui/TaskPostBoxes.h b/src/Mod/Fem/Gui/TaskPostBoxes.h index d046975a77..8ab3fc0b17 100644 --- a/src/Mod/Fem/Gui/TaskPostBoxes.h +++ b/src/Mod/Fem/Gui/TaskPostBoxes.h @@ -238,11 +238,12 @@ public: void applyPythonCode() override; bool isGuiTaskOnly() override {return true;} -private Q_SLOTS: - void on_Representation_activated(int i); - void on_Field_activated(int i); - void on_VectorMode_activated(int i); - void on_Transparency_valueChanged(int i); +private: + void setupConnections(); + void onRepresentationActivated(int i); + void onFieldActivated(int i); + void onVectorModeActivated(int i); + void onTransparencyValueChanged(int i); void slotAddedFunction(); private: @@ -284,12 +285,14 @@ public: void applyPythonCode() override; static void pointCallback(void* ud, SoEventCallback* n); -private Q_SLOTS: - void on_SelectPoints_clicked(); - void on_CreatePlot_clicked(); - void on_Representation_activated(int i); - void on_Field_activated(int i); - void on_VectorMode_activated(int i); +private: + void setupConnectionsStep1(); + void setupConnectionsStep2(); + void onSelectPointsClicked(); + void onCreatePlotClicked(); + void onRepresentationActivated(int i); + void onFieldActivated(int i); + void onVectorModeActivated(int i); void point2Changed(double); void point1Changed(double); void resolutionChanged(int val); @@ -316,9 +319,10 @@ public: void applyPythonCode() override; static void pointCallback(void* ud, SoEventCallback* n); -private Q_SLOTS: - void on_SelectPoint_clicked(); - void on_Field_activated(int i); +private: + void setupConnections(); + void onSelectPointClicked(); + void onFieldActivated(int i); void centerChanged(double); void onChange(double x, double y, double z); @@ -344,11 +348,12 @@ public: void applyPythonCode() override; -private Q_SLOTS: - void on_CreateButton_triggered(QAction*); - void on_FunctionBox_currentIndexChanged(int idx); - void on_InsideOut_toggled(bool val); - void on_CutCells_toggled(bool val); +private: + void setupConnections(); + void onCreateButtonTriggered(QAction*); + void onFunctionBoxCurrentIndexChanged(int idx); + void onInsideOutToggled(bool val); + void onCutCellsToggled(bool val); Q_SIGNALS: void emitAddedFunction(); @@ -375,7 +380,7 @@ public: void applyPythonCode() override; -private Q_SLOTS: +private: void onFieldsChanged(int idx); void onVectorModeChanged(int idx); void onNumberOfContoursChanged(int number); @@ -402,9 +407,10 @@ public: void applyPythonCode() override; -private Q_SLOTS: - void on_CreateButton_triggered(QAction*); - void on_FunctionBox_currentIndexChanged(int idx); +private: + void setupConnections(); + void onCreateButtonTriggered(QAction*); + void onFunctionBoxCurrentIndexChanged(int idx); Q_SIGNALS: void emitAddedFunction(); @@ -431,11 +437,12 @@ public: void applyPythonCode() override; -private Q_SLOTS: - void on_Slider_valueChanged(int v); - void on_Value_valueChanged(double v); - void on_Scalar_currentIndexChanged(int idx); - void on_InsideOut_toggled(bool val); +private: + void setupConnections(); + void onSliderValueChanged(int v); + void onValueValueChanged(double v); + void onScalarCurrentIndexChanged(int idx); + void onInsideOutToggled(bool val); private: QWidget* proxy; @@ -455,12 +462,13 @@ public: void applyPythonCode() override; -private Q_SLOTS: - void on_Slider_valueChanged(int v); - void on_Value_valueChanged(double v); - void on_Max_valueChanged(double); - void on_Min_valueChanged(double); - void on_Vector_currentIndexChanged(int idx); +private: + void setupConnections(); + void onSliderValueChanged(int v); + void onValueValueChanged(double v); + void onMaxValueChanged(double); + void onMinValueChanged(double); + void onVectorCurrentIndexChanged(int idx); private: QWidget* proxy;