diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintElectrostaticPotential.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintElectrostaticPotential.py index 768a29f7fd..da3e58670a 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintElectrostaticPotential.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintElectrostaticPotential.py @@ -53,7 +53,7 @@ class ViewProxy(ViewProviderFemConstraint.ViewProxy): def unsetEdit(self, vobj, mode=0): FreeCADGui.Control.closeDialog() - return + return True class _TaskPanel(object): diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintFlowVelocity.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintFlowVelocity.py index bb210f4df9..c49a2dd543 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintFlowVelocity.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintFlowVelocity.py @@ -53,7 +53,7 @@ class ViewProxy(ViewProviderFemConstraint.ViewProxy): def unsetEdit(self, vobj, mode=0): FreeCADGui.Control.closeDialog() - return + return True class _TaskPanel(object): diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintInitialFlowVelocity.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintInitialFlowVelocity.py index b50bd996b0..c60af2fe67 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintInitialFlowVelocity.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintInitialFlowVelocity.py @@ -52,7 +52,7 @@ class ViewProxy(ViewProviderFemConstraint.ViewProxy): def unsetEdit(self, vobj, mode=0): FreeCADGui.Control.closeDialog() - return + return True class _TaskPanel(object): diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemElementFluid1D.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemElementFluid1D.py index 1d8bb7b484..4211655d7c 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemElementFluid1D.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemElementFluid1D.py @@ -82,7 +82,7 @@ class _ViewProviderFemElementFluid1D: def unsetEdit(self, vobj, mode=0): FreeCADGui.Control.closeDialog() - return + return True def doubleClicked(self, vobj): guidoc = FreeCADGui.getDocument(vobj.Object.Document) @@ -160,21 +160,20 @@ class _TaskPanelFemElementFluid1D: def accept(self): self.set_fluidsection_props() self.obj.References = self.selectionWidget.references - if self.sel_server: - FreeCADGui.Selection.removeObserver(self.sel_server) - FreeCAD.ActiveDocument.recompute() - self.set_back_all() + self.recompute_and_set_back_all() return True def reject(self): - self.set_back_all() + self.recompute_and_set_back_all() return True - def set_back_all(self): + def recompute_and_set_back_all(self): + doc = FreeCADGui.getDocument(self.obj.Document) + doc.Document.recompute() self.selectionWidget.setback_listobj_visibility() if self.selectionWidget.sel_server: FreeCADGui.Selection.removeObserver(self.selectionWidget.sel_server) - FreeCADGui.ActiveDocument.resetEdit() + doc.resetEdit() def get_fluidsection_props(self): self.SectionType = self.obj.SectionType diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemElementGeometry1D.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemElementGeometry1D.py index 176344da67..f4a03f716d 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemElementGeometry1D.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemElementGeometry1D.py @@ -79,7 +79,7 @@ class _ViewProviderFemElementGeometry1D: def unsetEdit(self, vobj, mode=0): FreeCADGui.Control.closeDialog() - return + return True def doubleClicked(self, vobj): guidoc = FreeCADGui.getDocument(vobj.Object.Document) @@ -128,19 +128,20 @@ class _TaskPanelFemElementGeometry1D: def accept(self): self.set_beamsection_props() self.obj.References = self.selectionWidget.references - FreeCAD.ActiveDocument.recompute() - self.set_back_all() + self.recompute_and_set_back_all() return True def reject(self): - self.set_back_all() + self.recompute_and_set_back_all() return True - def set_back_all(self): + def recompute_and_set_back_all(self): + doc = FreeCADGui.getDocument(self.obj.Document) + doc.Document.recompute() self.selectionWidget.setback_listobj_visibility() if self.selectionWidget.sel_server: FreeCADGui.Selection.removeObserver(self.selectionWidget.sel_server) - FreeCADGui.ActiveDocument.resetEdit() + doc.resetEdit() def get_beamsection_props(self): self.SectionType = self.obj.SectionType diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemElementGeometry2D.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemElementGeometry2D.py index 376e371e26..bb212f95c7 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemElementGeometry2D.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemElementGeometry2D.py @@ -78,7 +78,7 @@ class _ViewProviderFemElementGeometry2D: def unsetEdit(self, vobj, mode=0): FreeCADGui.Control.closeDialog() - return + return True def doubleClicked(self, vobj): guidoc = FreeCADGui.getDocument(vobj.Object.Document) @@ -120,19 +120,20 @@ class _TaskPanelFemElementGeometry2D: def accept(self): self.obj.Thickness = self.thickness self.obj.References = self.selectionWidget.references - FreeCAD.ActiveDocument.recompute() - self.set_back_all() + self.recompute_and_set_back_all() return True def reject(self): - self.set_back_all() + self.recompute_and_set_back_all() return True - def set_back_all(self): + def recompute_and_set_back_all(self): + doc = FreeCADGui.getDocument(self.obj.Document) + doc.Document.recompute() self.selectionWidget.setback_listobj_visibility() if self.selectionWidget.sel_server: FreeCADGui.Selection.removeObserver(self.selectionWidget.sel_server) - FreeCADGui.ActiveDocument.resetEdit() + doc.resetEdit() def init_parameter_widget(self): self.thickness = self.obj.Thickness diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemElementRotation1D.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemElementRotation1D.py index cb9c88660c..797bde0e68 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemElementRotation1D.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemElementRotation1D.py @@ -79,7 +79,7 @@ class _ViewProviderFemElementRotation1D: def unsetEdit(self, vobj, mode=0): FreeCADGui.Control.closeDialog() - return + return True ''' def setEdit(self, vobj, mode=0): @@ -125,20 +125,20 @@ class _TaskPanelFemElementRotation1D: def accept(self): self.obj.Rotation = self.rotation - self.obj.References = self.selectionWidget.references - FreeCAD.ActiveDocument.recompute() - self.set_back_all() + self.recompute_and_set_back_all() return True def reject(self): - self.set_back_all() + self.recompute_and_set_back_all() return True - def set_back_all(self): + def recompute_and_set_back_all(self): + doc = FreeCADGui.getDocument(self.obj.Document) + doc.Document.recompute() self.selectionWidget.setback_listobj_visibility() if self.selectionWidget.sel_server: FreeCADGui.Selection.removeObserver(self.selectionWidget.sel_server) - FreeCADGui.ActiveDocument.resetEdit() + doc.resetEdit() def rotation_changed(self, base_quantity_value): self.rotation = base_quantity_value diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemMaterial.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemMaterial.py index d5c03b89ae..5bd45fe00d 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemMaterial.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemMaterial.py @@ -75,7 +75,7 @@ class _ViewProviderFemMaterial: def unsetEdit(self, vobj, mode): FreeCADGui.Control.closeDialog() - return + return True # overwrite the doubleClicked of material object python to make sure no other Material taskd (and thus no selection observer) is still active def doubleClicked(self, vobj): @@ -174,14 +174,14 @@ class _TaskPanelFemMaterial: if self.selectionWidget.has_equal_references_shape_types(): self.obj.Material = self.material self.obj.References = self.selectionWidget.references - self.set_back_all_and_recompute() + self.recompute_and_set_back_all() return True def reject(self): - self.set_back_all_and_recompute() + self.recompute_and_set_back_all() return True - def set_back_all_and_recompute(self): + def recompute_and_set_back_all(self): doc = FreeCADGui.getDocument(self.obj.Document) doc.Document.recompute() self.selectionWidget.setback_listobj_visibility() diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshBoundaryLayer.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshBoundaryLayer.py index 34a776d069..9b86588936 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshBoundaryLayer.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshBoundaryLayer.py @@ -78,7 +78,7 @@ class _ViewProviderFemMeshBoundaryLayer: def unsetEdit(self, vobj, mode=0): FreeCADGui.Control.closeDialog() - return + return True def doubleClicked(self, vobj): guidoc = FreeCADGui.getDocument(vobj.Object.Document) @@ -122,19 +122,20 @@ class _TaskPanelFemMeshBoundaryLayer: def accept(self): self.set_mesh_boundarylayer_props() self.obj.References = self.selectionWidget.references - FreeCAD.ActiveDocument.recompute() - self.set_back_all() + self.recompute_and_set_back_all() return True def reject(self): - self.set_back_all() + self.recompute_and_set_back_all() return True - def set_back_all(self): + def recompute_and_set_back_all(self): + doc = FreeCADGui.getDocument(self.obj.Document) + doc.Document.recompute() self.selectionWidget.setback_listobj_visibility() if self.selectionWidget.sel_server: FreeCADGui.Selection.removeObserver(self.selectionWidget.sel_server) - FreeCADGui.ActiveDocument.resetEdit() + doc.resetEdit() def init_parameter_widget(self): self.bl_min_thickness = self.obj.MinimumThickness diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshGmsh.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshGmsh.py index 0abcbe7998..86a032ef94 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshGmsh.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshGmsh.py @@ -75,7 +75,7 @@ class _ViewProviderFemMeshGmsh: def unsetEdit(self, vobj, mode): FreeCADGui.Control.closeDialog() self.ViewObject.hide() # hide the mesh after edit is finished - return + return True def doubleClicked(self, vobj): # Group meshing is only active on active analysis, we should make sure the analysis the mesh belongs too is active diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshGroup.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshGroup.py index c57a4e4e94..5922583c00 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshGroup.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshGroup.py @@ -77,7 +77,7 @@ class _ViewProviderFemMeshGroup: def unsetEdit(self, vobj, mode=0): FreeCADGui.Control.closeDialog() - return + return True def doubleClicked(self, vobj): guidoc = FreeCADGui.getDocument(vobj.Object.Document) @@ -120,19 +120,20 @@ class _TaskPanelFemMeshGroup: def accept(self): self.obj.UseLabel = self.use_label self.obj.References = self.selectionWidget.references - FreeCAD.ActiveDocument.recompute() - self.set_back_all() + self.recompute_and_set_back_all() return True def reject(self): - self.set_back_all() + self.recompute_and_set_back_all() return True - def set_back_all(self): + def recompute_and_set_back_all(self): + doc = FreeCADGui.getDocument(self.obj.Document) + doc.Document.recompute() self.selectionWidget.setback_listobj_visibility() if self.selectionWidget.sel_server: FreeCADGui.Selection.removeObserver(self.selectionWidget.sel_server) - FreeCADGui.ActiveDocument.resetEdit() + doc.resetEdit() def init_parameter_widget(self): self.use_label = self.obj.UseLabel diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshRegion.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshRegion.py index 9b1d0a5bb7..5a6c2dd0f7 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshRegion.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemMeshRegion.py @@ -78,7 +78,7 @@ class _ViewProviderFemMeshRegion: def unsetEdit(self, vobj, mode=0): FreeCADGui.Control.closeDialog() - return + return True def doubleClicked(self, vobj): guidoc = FreeCADGui.getDocument(vobj.Object.Document) @@ -120,19 +120,20 @@ class _TaskPanelFemMeshRegion: def accept(self): self.obj.CharacteristicLength = self.elelen self.obj.References = self.selectionWidget.references - FreeCAD.ActiveDocument.recompute() - self.set_back_all() + self.recompute_and_set_back_all() return True def reject(self): - self.set_back_all() + self.recompute_and_set_back_all() return True - def set_back_all(self): + def recompute_and_set_back_all(self): + doc = FreeCADGui.getDocument(self.obj.Document) + doc.Document.recompute() self.selectionWidget.setback_listobj_visibility() if self.selectionWidget.sel_server: FreeCADGui.Selection.removeObserver(self.selectionWidget.sel_server) - FreeCADGui.ActiveDocument.resetEdit() + doc.resetEdit() def init_parameter_widget(self): self.elelen = self.obj.CharacteristicLength diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemResultMechanical.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemResultMechanical.py index 65fb8c3ab9..d2dda5b85f 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemResultMechanical.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemResultMechanical.py @@ -94,7 +94,7 @@ class _ViewProviderFemResultMechanical: def unsetEdit(self, vobj, mode=0): FreeCADGui.Control.closeDialog() self.Object.Mesh.ViewObject.hide() # hide the mesh after result viewing is finished, but do not reset the coloring - return + return True def __getstate__(self): return None diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemSolverCalculix.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemSolverCalculix.py index 19c185f068..0a00420120 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemSolverCalculix.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemSolverCalculix.py @@ -71,7 +71,7 @@ class _ViewProviderFemSolverCalculix: def unsetEdit(self, vobj, mode=0): FreeCADGui.Control.closeDialog() - return + return True def doubleClicked(self, vobj): doc = FreeCADGui.getDocument(vobj.Object.Document)