From 0aec77952b7c4591164d77503ce24add9d7f96e1 Mon Sep 17 00:00:00 2001 From: marioalexis Date: Tue, 8 Oct 2024 17:01:52 -0300 Subject: [PATCH] Fem: Enable expression for the mesh region task panel --- src/Mod/Fem/Gui/Resources/ui/MeshRegion.ui | 38 +++++-------------- src/Mod/Fem/femtaskpanels/task_mesh_region.py | 19 ++++++---- 2 files changed, 21 insertions(+), 36 deletions(-) diff --git a/src/Mod/Fem/Gui/Resources/ui/MeshRegion.ui b/src/Mod/Fem/Gui/Resources/ui/MeshRegion.ui index 5e646e3d03..99929c556b 100644 --- a/src/Mod/Fem/Gui/Resources/ui/MeshRegion.ui +++ b/src/Mod/Fem/Gui/Resources/ui/MeshRegion.ui @@ -39,39 +39,21 @@ - - - - 0 - 0 - - - - - 80 - 20 - - - - 0 mm + + + mm - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Qt::AlignLeft|Qt::AlignTrailing|Qt::AlignVCenter 1.000000000000000 - - 1000000000.000000000000000 - - - mm - - - 2 + + 0.000000000000000 - 0.000000000000000 + 0.0000000000000 @@ -97,9 +79,9 @@ - Gui::InputField - QLineEdit -
Gui/InputField.h
+ Gui::QuantitySpinBox + QWidget +
Gui/QuantitySpinBox.h
diff --git a/src/Mod/Fem/femtaskpanels/task_mesh_region.py b/src/Mod/Fem/femtaskpanels/task_mesh_region.py index 9dcf33ee67..d433e3704a 100644 --- a/src/Mod/Fem/femtaskpanels/task_mesh_region.py +++ b/src/Mod/Fem/femtaskpanels/task_mesh_region.py @@ -47,11 +47,11 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): super().__init__(obj) # parameter widget - self.parameterWidget = FreeCADGui.PySideUic.loadUi( + self.parameter_widget = FreeCADGui.PySideUic.loadUi( FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/MeshRegion.ui" ) QtCore.QObject.connect( - self.parameterWidget.if_elelen, + self.parameter_widget.qsb_elelen, QtCore.SIGNAL("valueChanged(Base::Quantity)"), self.elelen_changed, ) @@ -59,26 +59,29 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): # geometry selection widget # start with Solid in list! - self.selectionWidget = selection_widgets.GeometryElementsSelection( + self.selection_widget = selection_widgets.GeometryElementsSelection( obj.References, ["Solid", "Face", "Edge", "Vertex"], True, False ) # form made from param and selection widget - self.form = [self.parameterWidget, self.selectionWidget] + self.form = [self.parameter_widget, self.selection_widget] def accept(self): self.obj.CharacteristicLength = self.elelen - self.obj.References = self.selectionWidget.references - self.selectionWidget.finish_selection() + self.obj.References = self.selection_widget.references + self.selection_widget.finish_selection() return super().accept() def reject(self): - self.selectionWidget.finish_selection() + self.selection_widget.finish_selection() return super().reject() def init_parameter_widget(self): self.elelen = self.obj.CharacteristicLength - self.parameterWidget.if_elelen.setText(self.elelen.UserString) + FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_elelen).bind( + self.obj, "CharacteristicLength" + ) + self.parameter_widget.qsb_elelen.setProperty("value", self.elelen) def elelen_changed(self, base_quantity_value): self.elelen = base_quantity_value