FEM: Python VP, add return variable to unSetEdit methods and improve reseting the edit mode
This commit is contained in:
@@ -53,7 +53,7 @@ class ViewProxy(ViewProviderFemConstraint.ViewProxy):
|
||||
|
||||
def unsetEdit(self, vobj, mode=0):
|
||||
FreeCADGui.Control.closeDialog()
|
||||
return
|
||||
return True
|
||||
|
||||
|
||||
class _TaskPanel(object):
|
||||
|
||||
@@ -53,7 +53,7 @@ class ViewProxy(ViewProviderFemConstraint.ViewProxy):
|
||||
|
||||
def unsetEdit(self, vobj, mode=0):
|
||||
FreeCADGui.Control.closeDialog()
|
||||
return
|
||||
return True
|
||||
|
||||
|
||||
class _TaskPanel(object):
|
||||
|
||||
@@ -52,7 +52,7 @@ class ViewProxy(ViewProviderFemConstraint.ViewProxy):
|
||||
|
||||
def unsetEdit(self, vobj, mode=0):
|
||||
FreeCADGui.Control.closeDialog()
|
||||
return
|
||||
return True
|
||||
|
||||
|
||||
class _TaskPanel(object):
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user