From 5ca892e4aa9a1d288e612fb095db08f8fbfb281a Mon Sep 17 00:00:00 2001 From: Uwe Date: Tue, 15 Mar 2022 04:53:59 +0100 Subject: [PATCH] [FEM] fix logic in electric potential dialog if capacitance is not specified the spinbox must not be enabled --- .../task_constraint_electrostaticpotential.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py b/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py index 497da5153e..66bd1bca04 100644 --- a/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py +++ b/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py @@ -33,7 +33,7 @@ __url__ = "https://www.freecadweb.org" import FreeCAD import FreeCADGui from FreeCAD import Units - +from PySide import QtCore from femguiutils import selection_widgets from femtools import femutils from femtools import membertools @@ -58,6 +58,11 @@ class _TaskPanel(object): self._part = femutils.get_part_to_mesh(self._mesh) self._partVisible = None self._meshVisible = None + QtCore.QObject.connect( + self._paramWidget.capacitanceBodyBox, + QtCore.SIGNAL("stateChanged(int)"), + self.capacitanceBodyBox_checked + ) def open(self): if self._mesh is not None and self._part is not None: @@ -112,6 +117,8 @@ class _TaskPanel(object): not self._obj.CapacitanceBodyEnabled) self._paramWidget.capacitanceBody_spinBox.setValue( self._obj.CapacitanceBody) + self._paramWidget.capacitanceBody_spinBox.setEnabled( + not self._paramWidget.capacitanceBodyBox.isChecked()) def _applyWidgetChanges(self): unit = "V" @@ -145,3 +152,7 @@ class _TaskPanel(object): if self._obj.CapacitanceBodyEnabled: self._paramWidget.capacitanceBody_spinBox.setEnabled(True) self._obj.CapacitanceBody = self._paramWidget.capacitanceBody_spinBox.value() + + def capacitanceBodyBox_checked(self, i): + self._paramWidget.capacitanceBody_spinBox.setEnabled( + not self._paramWidget.capacitanceBodyBox.isChecked())