From 6db962e7e5b7ee40c3f6a34b4f1b658d750e0d6c Mon Sep 17 00:00:00 2001 From: marioalexis Date: Tue, 21 Jan 2025 15:13:53 -0300 Subject: [PATCH] Fem: Rename enable/disable electromagnetic properties --- .../Resources/ui/ElectrostaticPotential.ui | 52 ++----- .../equation_magnetodynamics_elmer.py | 26 ++-- .../constraint_electrostaticpotential.py | 92 ++++++------ .../elmer/equations/magnetodynamic_writer.py | 39 ++--- .../task_constraint_electrostaticpotential.py | 133 ++++++------------ 5 files changed, 123 insertions(+), 219 deletions(-) diff --git a/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui b/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui index dedb7b97d3..3956a7e83d 100644 --- a/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui +++ b/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui @@ -103,7 +103,7 @@ with a harmonic/oscillating driving force false - + @@ -114,7 +114,7 @@ with a harmonic/oscillating driving force - + true @@ -135,7 +135,7 @@ with a harmonic/oscillating driving force - + @@ -164,13 +164,6 @@ with a harmonic/oscillating driving force - - - - - - - true @@ -203,7 +196,7 @@ with a harmonic/oscillating driving force - + @@ -215,7 +208,7 @@ with a harmonic/oscillating driving force true - Real part of potential x-component + Real part of vector potential x-component Note: has no effect if a solid was selected @@ -233,19 +226,12 @@ Note: has no effect if a solid was selected - - - - - - - true - Imaginary part of potential x-component + Imaginary part of vector potential x-component Note: has no effect if a solid was selected @@ -273,7 +259,7 @@ Note: has no effect if a solid was selected - + @@ -285,7 +271,7 @@ Note: has no effect if a solid was selected true - Real part of potential y-component + Real part of vector potential y-component Note: has no effect if a solid was selected @@ -303,19 +289,12 @@ Note: has no effect if a solid was selected - - - - - - - true - Imaginary part of potential y-component + Imaginary part of vector potential y-component Note: has no effect if a solid was selected @@ -343,7 +322,7 @@ Note: has no effect if a solid was selected - + @@ -355,7 +334,7 @@ Note: has no effect if a solid was selected true - Real part of potential z-component + Real part of vector potential z-component Note: has no effect if a solid was selected @@ -373,19 +352,12 @@ Note: has no effect if a solid was selected - - - - - - - true - Imaginary part of potential z-component + Imaginary part of vector potential z-component Note: has no effect if a solid was selected diff --git a/src/Mod/Fem/femexamples/equation_magnetodynamics_elmer.py b/src/Mod/Fem/femexamples/equation_magnetodynamics_elmer.py index fa56c42130..bd5778f875 100644 --- a/src/Mod/Fem/femexamples/equation_magnetodynamics_elmer.py +++ b/src/Mod/Fem/femexamples/equation_magnetodynamics_elmer.py @@ -164,30 +164,28 @@ def setup(doc=None, solvertype="elmer"): (BooleanFragments, "Face6"), ] AxialField.PotentialEnabled = False - AxialField.AV_im_1_Disabled = False - AxialField.AV_im_2_Disabled = False - AxialField.AV_re_1_Disabled = False - AxialField.AV_re_2_Disabled = False + AxialField.EnableAV_1 = True + AxialField.EnableAV_2 = True analysis.addObject(AxialField) # voltage on one end Voltage = ObjectsFem.makeConstraintElectrostaticPotential(doc, "Voltage") Voltage.References = [(BooleanFragments, "Face3")] - Voltage.Potential = "10.000 mV" - Voltage.AV_im_1_Disabled = False - Voltage.AV_im_2_Disabled = False - Voltage.AV_re_1_Disabled = False - Voltage.AV_re_2_Disabled = False + Voltage.AV_re = "10.000 mV" + Voltage.AV_im = "0 V" + Voltage.EnableAV = True + Voltage.EnableAV_1 = True + Voltage.EnableAV_2 = True analysis.addObject(Voltage) # ground on other end Ground = ObjectsFem.makeConstraintElectrostaticPotential(doc, "Ground") Ground.References = [(BooleanFragments, "Face2")] - Ground.Potential = "0 V" - Ground.AV_im_1_Disabled = False - Ground.AV_im_2_Disabled = False - Ground.AV_re_1_Disabled = False - Ground.AV_re_2_Disabled = False + Ground.AV_re = "0 V" + Ground.AV_im = "0 V" + Ground.EnableAV = True + Ground.EnableAV_1 = True + Ground.EnableAV_2 = True analysis.addObject(Ground) # magnetization diff --git a/src/Mod/Fem/femobjects/constraint_electrostaticpotential.py b/src/Mod/Fem/femobjects/constraint_electrostaticpotential.py index f2d1d3381e..50ac56a951 100644 --- a/src/Mod/Fem/femobjects/constraint_electrostaticpotential.py +++ b/src/Mod/Fem/femobjects/constraint_electrostaticpotential.py @@ -163,73 +163,37 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject) prop.append( _PropHelper( type="App::PropertyBool", - name="AV_re_1_Disabled", + name="EnableAV", group="Electromagnetic Potential", - doc="", - value=True, + doc="Enable scalar potential boundary condition", + value=False, ) ) prop.append( _PropHelper( type="App::PropertyBool", - name="AV_re_2_Disabled", + name="EnableAV_1", group="Electromagnetic Potential", - doc="", - value=True, + doc="Enable vector potential x-component boundary condition", + value=False, ) ) prop.append( _PropHelper( type="App::PropertyBool", - name="AV_re_3_Disabled", + name="EnableAV_2", group="Electromagnetic Potential", - doc="", - value=True, + doc="Enable vector potential y-component boundary condition", + value=False, ) ) prop.append( _PropHelper( type="App::PropertyBool", - name="AV_im_1_Disabled", + name="EnableAV_3", group="Electromagnetic Potential", - doc="", - value=True, - ) - ) - prop.append( - _PropHelper( - type="App::PropertyBool", - name="AV_im_2_Disabled", - group="Electromagnetic Potential", - doc="", - value=True, - ) - ) - prop.append( - _PropHelper( - type="App::PropertyBool", - name="AV_im_3_Disabled", - group="Electromagnetic Potential", - doc="", - value=True, - ) - ) - prop.append( - _PropHelper( - type="App::PropertyBool", - name="AV_re_Disabled", - group="Electromagnetic Potential", - doc="", - value=True, - ) - ) - prop.append( - _PropHelper( - type="App::PropertyBool", - name="AV_im_Disabled", - group="Electromagnetic Potential", - doc="", - value=True, + doc="Enable vector potential z-component boundary condition", + value=False, ) ) prop.append( @@ -303,3 +267,35 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject) old_type="App::PropertyElectricPotential", convert_old_value=lambda x: "{} Wb/m".format(x.getValueAs("V").Value), ) + + # enable electromagnetic properties from old properties + try: + obj.EnableAV_1 = not obj.getPropertyByName( + "AV_re_1_Disabled" + ) or not obj.getPropertyByName("AV_im_1_Disabled") + obj.EnableAV_2 = not obj.getPropertyByName( + "AV_re_2_Disabled" + ) or not obj.getPropertyByName("AV_im_2_Disabled") + obj.EnableAV_3 = not obj.getPropertyByName( + "AV_re_3_Disabled" + ) or not obj.getPropertyByName("AV_im_3_Disabled") + obj.EnableAV = not obj.getPropertyByName("AV_im_Disabled") + + # remove old properties + obj.setPropertyStatus("AV_re_1_Disabled", "-LockDynamic") + obj.removeProperty("AV_re_1_Disabled") + obj.setPropertyStatus("AV_re_2_Disabled", "-LockDynamic") + obj.removeProperty("AV_re_2_Disabled") + obj.setPropertyStatus("AV_re_3_Disabled", "-LockDynamic") + obj.removeProperty("AV_re_3_Disabled") + obj.setPropertyStatus("AV_im_1_Disabled", "-LockDynamic") + obj.removeProperty("AV_im_1_Disabled") + obj.setPropertyStatus("AV_im_2_Disabled", "-LockDynamic") + obj.removeProperty("AV_im_2_Disabled") + obj.setPropertyStatus("AV_im_3_Disabled", "-LockDynamic") + obj.removeProperty("AV_im_3_Disabled") + obj.setPropertyStatus("AV_im_Disabled", "-LockDynamic") + obj.removeProperty("AV_im_Disabled") + + except Base.PropertyError: + pass diff --git a/src/Mod/Fem/femsolver/elmer/equations/magnetodynamic_writer.py b/src/Mod/Fem/femsolver/elmer/equations/magnetodynamic_writer.py index 7bcb968838..d0a7e759fc 100644 --- a/src/Mod/Fem/femsolver/elmer/equations/magnetodynamic_writer.py +++ b/src/Mod/Fem/femsolver/elmer/equations/magnetodynamic_writer.py @@ -208,16 +208,13 @@ class MgDynwriter: magnetization = float(obj.Magnetization_im_3.getValueAs("A/m")) self.write.bodyForce(name, "Magnetization Im 3", magnetization) - if hasattr(obj, "PotentialEnabled"): - # check for PotentialEnabled not Potential since PotentialEnabled was - # added later and only with this the imaginary property is available + if femutils.is_derived_from(obj, "Fem::ConstraintElectrostaticPotential"): if obj.PotentialEnabled: # output only if potential is enabled and needed potential = float(obj.Potential.getValueAs("V")) self.write.bodyForce(name, "Electric Potential", round(potential, 6)) - # imaginary is only needed for harmonic equation - if equation.IsHarmonic: - if not obj.AV_im_Disabled: + # imaginary is only needed for harmonic equation + if equation.IsHarmonic: potential = float(obj.AV_im.getValueAs("V")) self.write.bodyForce(name, "Electric Potential Im", round(potential, 6)) @@ -291,44 +288,38 @@ class MgDynwriter: self.write.boundary(name, "Current Density Im 1", round(currentDensity, 6)) if femutils.is_derived_from(obj, "Fem::ConstraintElectrostaticPotential"): - if not obj.AV_re_Disabled: + if obj.EnableAV: potential = obj.AV_re.getValueAs("V").Value if equation.IsHarmonic: self.write.boundary(name, "AV re", round(potential, 6)) + potential = obj.AV_im.getValueAs("V").Value + self.write.boundary(name, "AV im", round(potential, 6)) else: self.write.boundary(name, "AV", round(potential, 6)) - if not obj.AV_re_1_Disabled: + if obj.EnableAV_1: potential = obj.AV_re_1.getValueAs("Wb/m").Value if equation.IsHarmonic: self.write.boundary(name, "AV re {e} 1", round(potential, 6)) + potential = obj.AV_im_1.getValueAs("Wb/m").Value + self.write.boundary(name, "AV im {e} 1", round(potential, 6)) else: self.write.boundary(name, "AV {e} 1", round(potential, 6)) - if not obj.AV_re_2_Disabled: + if obj.EnableAV_2: potential = obj.AV_re_2.getValueAs("Wb/m").Value if equation.IsHarmonic: self.write.boundary(name, "AV re {e} 2", round(potential, 6)) + potential = obj.AV_im_2.getValueAs("Wb/m").Value + self.write.boundary(name, "AV im {e} 2", round(potential, 6)) else: self.write.boundary(name, "AV {e} 2", round(potential, 6)) - if not obj.AV_re_3_Disabled: + if obj.EnableAV_3: potential = obj.AV_re_3.getValueAs("Wb/m").Value if equation.IsHarmonic: self.write.boundary(name, "AV re {e} 3", round(potential, 6)) - else: - self.write.boundary(name, "AV {e} 3", round(potential, 6)) - # imaginaries are only needed for harmonic equation - if equation.IsHarmonic: - if not obj.AV_im_Disabled: - potential = obj.AV_im.getValueAs("V").Value - self.write.boundary(name, "AV im", round(potential, 6)) - if not obj.AV_im_1_Disabled: - potential = obj.AV_im_1.getValueAs("Wb/m").Value - self.write.boundary(name, "AV im {e} 1", round(potential, 6)) - if not obj.AV_im_2_Disabled: - potential = obj.AV_im_2.getValueAs("Wb/m").Value - self.write.boundary(name, "AV im {e} 2", round(potential, 6)) - if not obj.AV_im_3_Disabled: potential = obj.AV_im_3.getValueAs("Wb/m").Value self.write.boundary(name, "AV im {e} 3", round(potential, 6)) + else: + self.write.boundary(name, "AV {e} 3", round(potential, 6)) def handleMagnetodynamicBndConditions(self, equation): # the current density can either be a body force or a boundary constraint diff --git a/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py b/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py index 7cf8903cd6..3d1826e126 100644 --- a/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py +++ b/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py @@ -91,9 +91,9 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): self.potential_changed, ) QtCore.QObject.connect( - self.parameter_widget.ckb_av_re, + self.parameter_widget.ckb_av, QtCore.SIGNAL("toggled(bool)"), - self.av_re_enabled_changed, + self.av_enabled_changed, ) QtCore.QObject.connect( self.parameter_widget.qsb_av_re, @@ -101,9 +101,9 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): self.av_re_changed, ) QtCore.QObject.connect( - self.parameter_widget.ckb_av_re_1, + self.parameter_widget.ckb_av_1, QtCore.SIGNAL("toggled(bool)"), - self.av_re_1_enabled_changed, + self.av_1_enabled_changed, ) QtCore.QObject.connect( self.parameter_widget.qsb_av_re_1, @@ -111,9 +111,9 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): self.av_re_1_changed, ) QtCore.QObject.connect( - self.parameter_widget.ckb_av_re_2, + self.parameter_widget.ckb_av_2, QtCore.SIGNAL("toggled(bool)"), - self.av_re_2_enabled_changed, + self.av_2_enabled_changed, ) QtCore.QObject.connect( self.parameter_widget.qsb_av_re_2, @@ -121,50 +121,30 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): self.av_re_2_changed, ) QtCore.QObject.connect( - self.parameter_widget.ckb_av_re_3, + self.parameter_widget.ckb_av_3, QtCore.SIGNAL("toggled(bool)"), - self.av_re_3_enabled_changed, + self.av_3_enabled_changed, ) QtCore.QObject.connect( self.parameter_widget.qsb_av_re_3, QtCore.SIGNAL("valueChanged(Base::Quantity)"), self.av_re_3_changed, ) - QtCore.QObject.connect( - self.parameter_widget.ckb_av_im, - QtCore.SIGNAL("toggled(bool)"), - self.av_im_enabled_changed, - ) QtCore.QObject.connect( self.parameter_widget.qsb_av_im, QtCore.SIGNAL("valueChanged(Base::Quantity)"), self.av_im_changed, ) - QtCore.QObject.connect( - self.parameter_widget.ckb_av_im_1, - QtCore.SIGNAL("toggled(bool)"), - self.av_im_1_enabled_changed, - ) QtCore.QObject.connect( self.parameter_widget.qsb_av_im_1, QtCore.SIGNAL("valueChanged(Base::Quantity)"), self.av_im_1_changed, ) - QtCore.QObject.connect( - self.parameter_widget.ckb_av_im_2, - QtCore.SIGNAL("toggled(bool)"), - self.av_im_2_enabled_changed, - ) QtCore.QObject.connect( self.parameter_widget.qsb_av_im_2, QtCore.SIGNAL("valueChanged(Base::Quantity)"), self.av_im_2_changed, ) - QtCore.QObject.connect( - self.parameter_widget.ckb_av_im_3, - QtCore.SIGNAL("toggled(bool)"), - self.av_im_3_enabled_changed, - ) QtCore.QObject.connect( self.parameter_widget.qsb_av_im_3, QtCore.SIGNAL("valueChanged(Base::Quantity)"), @@ -242,14 +222,10 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): self.av_im_2 = self.obj.AV_im_2 self.av_im_3 = self.obj.AV_im_3 - self.av_re_enabled = not self.obj.AV_re_Disabled - self.av_im_enabled = not self.obj.AV_im_Disabled - self.av_re_1_enabled = not self.obj.AV_re_1_Disabled - self.av_re_2_enabled = not self.obj.AV_re_2_Disabled - self.av_re_3_enabled = not self.obj.AV_re_3_Disabled - self.av_im_1_enabled = not self.obj.AV_im_1_Disabled - self.av_im_2_enabled = not self.obj.AV_im_2_Disabled - self.av_im_3_enabled = not self.obj.AV_im_3_Disabled + self.av_enabled = self.obj.EnableAV + self.av_1_enabled = self.obj.EnableAV_1 + self.av_2_enabled = self.obj.EnableAV_2 + self.av_3_enabled = self.obj.EnableAV_3 self.boundary_condition = self.obj.BoundaryCondition self.potential_constant = self.obj.PotentialConstant @@ -271,14 +247,10 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): self.obj.AV_im_2 = self.av_im_2 self.obj.AV_im_3 = self.av_im_3 - self.obj.AV_re_Disabled = not self.av_re_enabled - self.obj.AV_im_Disabled = not self.av_im_enabled - self.obj.AV_re_1_Disabled = not self.av_re_1_enabled - self.obj.AV_re_2_Disabled = not self.av_re_2_enabled - self.obj.AV_re_3_Disabled = not self.av_re_3_enabled - self.obj.AV_im_1_Disabled = not self.av_im_1_enabled - self.obj.AV_im_2_Disabled = not self.av_im_2_enabled - self.obj.AV_im_3_Disabled = not self.av_im_3_enabled + self.obj.EnableAV = self.av_enabled + self.obj.EnableAV_1 = self.av_1_enabled + self.obj.EnableAV_2 = self.av_2_enabled + self.obj.EnableAV_3 = self.av_3_enabled self.obj.BoundaryCondition = self.boundary_condition self.obj.PotentialConstant = self.potential_constant @@ -299,41 +271,37 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): # scalar potential self.parameter_widget.qsb_av_re.setProperty("value", self.av_re) - self.parameter_widget.qsb_av_re.setEnabled(self.av_re_enabled) + self.parameter_widget.qsb_av_re.setEnabled(self.av_enabled) FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_re).bind(self.obj, "AV_re") self.parameter_widget.qsb_av_im.setProperty("value", self.av_im) - self.parameter_widget.qsb_av_im.setEnabled(self.av_im_enabled) + self.parameter_widget.qsb_av_im.setEnabled(self.av_enabled) FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_im).bind(self.obj, "AV_im") # vector potential self.parameter_widget.qsb_av_re_1.setProperty("value", self.av_re_1) - self.parameter_widget.qsb_av_re_1.setEnabled(self.av_re_1_enabled) + self.parameter_widget.qsb_av_re_1.setEnabled(self.av_1_enabled) FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_re_1).bind(self.obj, "AV_re_1") self.parameter_widget.qsb_av_re_2.setProperty("value", self.av_re_2) - self.parameter_widget.qsb_av_re_2.setEnabled(self.av_re_2_enabled) + self.parameter_widget.qsb_av_re_2.setEnabled(self.av_2_enabled) FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_re_2).bind(self.obj, "AV_re_2") self.parameter_widget.qsb_av_re_3.setProperty("value", self.av_re_3) - self.parameter_widget.qsb_av_re_3.setEnabled(self.av_re_3_enabled) + self.parameter_widget.qsb_av_re_3.setEnabled(self.av_3_enabled) FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_re_3).bind(self.obj, "AV_re_3") self.parameter_widget.qsb_av_im_1.setProperty("value", self.av_im_1) - self.parameter_widget.qsb_av_im_1.setEnabled(self.av_im_1_enabled) + self.parameter_widget.qsb_av_im_1.setEnabled(self.av_1_enabled) FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_im_1).bind(self.obj, "AV_im_1") self.parameter_widget.qsb_av_im_2.setProperty("value", self.av_im_2) - self.parameter_widget.qsb_av_im_2.setEnabled(self.av_im_2_enabled) + self.parameter_widget.qsb_av_im_2.setEnabled(self.av_2_enabled) FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_im_2).bind(self.obj, "AV_im_2") self.parameter_widget.qsb_av_im_3.setProperty("value", self.av_im_3) - self.parameter_widget.qsb_av_im_3.setEnabled(self.av_im_3_enabled) + self.parameter_widget.qsb_av_im_3.setEnabled(self.av_3_enabled) FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_im_3).bind(self.obj, "AV_im_3") - self.parameter_widget.ckb_av_re.setChecked(self.av_re_enabled) - self.parameter_widget.ckb_av_re_1.setChecked(self.av_re_1_enabled) - self.parameter_widget.ckb_av_re_2.setChecked(self.av_re_2_enabled) - self.parameter_widget.ckb_av_re_3.setChecked(self.av_re_3_enabled) - self.parameter_widget.ckb_av_im.setChecked(self.av_im_enabled) - self.parameter_widget.ckb_av_im_1.setChecked(self.av_im_1_enabled) - self.parameter_widget.ckb_av_im_2.setChecked(self.av_im_2_enabled) - self.parameter_widget.ckb_av_im_3.setChecked(self.av_im_3_enabled) + self.parameter_widget.ckb_av.setChecked(self.av_enabled) + self.parameter_widget.ckb_av_1.setChecked(self.av_1_enabled) + self.parameter_widget.ckb_av_2.setChecked(self.av_2_enabled) + self.parameter_widget.ckb_av_3.setChecked(self.av_3_enabled) self.parameter_widget.ckb_potential_constant.setChecked(self.potential_constant) @@ -358,16 +326,7 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): self.parameter_widget.cb_boundary_condition.setCurrentIndex(index) # start with electromagnetic inputs hidden if no field is set - if not ( - self.av_re_enabled - or self.av_im_enabled - or self.av_re_1_enabled - or self.av_re_2_enabled - or self.av_re_3_enabled - or self.av_im_1_enabled - or self.av_im_2_enabled - or self.av_im_3_enabled - ): + if not (self.av_enabled or self.av_1_enabled or self.av_2_enabled or self.av_3_enabled): self.parameter_widget.ckb_electromagnetic.setChecked(False) def potential_changed(self, value): @@ -380,36 +339,24 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): def electromagnetic_enabled_changed(self, value): self.parameter_widget.gb_electromagnetic.setVisible(value) - def av_re_enabled_changed(self, value): - self.av_re_enabled = value + def av_enabled_changed(self, value): + self.av_enabled = value self.parameter_widget.qsb_av_re.setEnabled(value) - - def av_re_1_enabled_changed(self, value): - self.av_re_1_enabled = value - self.parameter_widget.qsb_av_re_1.setEnabled(value) - - def av_re_2_enabled_changed(self, value): - self.av_re_2_enabled = value - self.parameter_widget.qsb_av_re_2.setEnabled(value) - - def av_re_3_enabled_changed(self, value): - self.av_re_3_enabled = value - self.parameter_widget.qsb_av_re_3.setEnabled(value) - - def av_im_enabled_changed(self, value): - self.av_im_enabled = value self.parameter_widget.qsb_av_im.setEnabled(value) - def av_im_1_enabled_changed(self, value): - self.av_im_1_enabled = value + def av_1_enabled_changed(self, value): + self.av_1_enabled = value + self.parameter_widget.qsb_av_re_1.setEnabled(value) self.parameter_widget.qsb_av_im_1.setEnabled(value) - def av_im_2_enabled_changed(self, value): - self.av_im_2_enabled = value + def av_2_enabled_changed(self, value): + self.av_2_enabled = value + self.parameter_widget.qsb_av_re_2.setEnabled(value) self.parameter_widget.qsb_av_im_2.setEnabled(value) - def av_im_3_enabled_changed(self, value): - self.av_im_3_enabled = value + def av_3_enabled_changed(self, value): + self.av_3_enabled = value + self.parameter_widget.qsb_av_re_3.setEnabled(value) self.parameter_widget.qsb_av_im_3.setEnabled(value) def av_re_changed(self, value):