From cb7b90fb883aee7710eac9980eec6725cdba37d9 Mon Sep 17 00:00:00 2001 From: marioalexis Date: Tue, 8 Oct 2024 16:55:58 -0300 Subject: [PATCH] Fem: Enable expression for the element geometry 2D task panel --- .../Fem/Gui/Resources/ui/ElementGeometry2D.ui | 49 ++++++------------- .../femtaskpanels/task_element_geometry2D.py | 19 ++++--- 2 files changed, 25 insertions(+), 43 deletions(-) diff --git a/src/Mod/Fem/Gui/Resources/ui/ElementGeometry2D.ui b/src/Mod/Fem/Gui/Resources/ui/ElementGeometry2D.ui index ff1f0ac438..ff687edf8a 100644 --- a/src/Mod/Fem/Gui/Resources/ui/ElementGeometry2D.ui +++ b/src/Mod/Fem/Gui/Resources/ui/ElementGeometry2D.ui @@ -31,50 +31,29 @@ QFormLayout::AllNonFixedFieldsGrow - - - - - 0 - 0 - - - - - 80 - 20 - - - - Qt::LeftToRight - + + - 0 mm + Thickness: + + + + + + + mm - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + Qt::AlignLeft|Qt::AlignTrailing|Qt::AlignVCenter 1.000000000000000 - - 1000000000.000000000000000 - - - mm - - - 2 - - + 0.000000000000000 - - - - - - Thickness: + + 0.0000000000000 diff --git a/src/Mod/Fem/femtaskpanels/task_element_geometry2D.py b/src/Mod/Fem/femtaskpanels/task_element_geometry2D.py index db3cb77084..48f4733419 100644 --- a/src/Mod/Fem/femtaskpanels/task_element_geometry2D.py +++ b/src/Mod/Fem/femtaskpanels/task_element_geometry2D.py @@ -47,37 +47,40 @@ 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/ElementGeometry2D.ui" ) QtCore.QObject.connect( - self.parameterWidget.if_thickness, + self.parameter_widget.qsb_thickness, QtCore.SIGNAL("valueChanged(Base::Quantity)"), self.thickness_changed, ) self.init_parameter_widget() # geometry selection widget - self.selectionWidget = selection_widgets.GeometryElementsSelection( + self.selection_widget = selection_widgets.GeometryElementsSelection( obj.References, ["Face"], False, True ) # 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.Thickness = self.thickness - 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.thickness = self.obj.Thickness - self.parameterWidget.if_thickness.setText(self.thickness.UserString) + FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_thickness).bind( + self.obj, "Thickness" + ) + self.parameter_widget.qsb_thickness.setProperty("value", self.thickness) def thickness_changed(self, base_quantity_value): self.thickness = base_quantity_value