From d4f60113c6fffe5d3ed188437e5079da6e6c44f0 Mon Sep 17 00:00:00 2001 From: Bernd Hahnebach Date: Tue, 3 Mar 2020 21:04:25 +0100 Subject: [PATCH] FEM: use python base constraint class, material non linear --- ...wProviderFemMaterialMechanicalNonlinear.py | 54 +------------------ .../_FemMaterialMechanicalNonlinear.py | 13 ++--- 2 files changed, 9 insertions(+), 58 deletions(-) diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemMaterialMechanicalNonlinear.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemMaterialMechanicalNonlinear.py index e56539e5d7..7bc328d810 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemMaterialMechanicalNonlinear.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemMaterialMechanicalNonlinear.py @@ -28,61 +28,11 @@ __url__ = "http://www.freecadweb.org" # \ingroup FEM # \brief FreeCAD FEM _ViewProviderFemMaterialMechanicalNonlinear -import FreeCAD -import FreeCADGui -import FemGui # needed to display the icons in TreeView - -from pivy import coin - -False if FemGui.__name__ else True # flake8, dummy FemGui usage +from . import ViewProviderFemConstraint -class _ViewProviderFemMaterialMechanicalNonlinear: +class _ViewProviderFemMaterialMechanicalNonlinear(ViewProviderFemConstraint.ViewProxy): "A View Provider for the FemMaterialMechanicalNonlinear object" - def __init__(self, vobj): - vobj.Proxy = self def getIcon(self): return ":/icons/fem-material-nonlinear.svg" - - def attach(self, vobj): - self.ViewObject = vobj - self.Object = vobj.Object - self.standard = coin.SoGroup() - vobj.addDisplayMode(self.standard, "Default") - - def getDisplayModes(self, obj): - return ["Default"] - - def getDefaultDisplayMode(self): - return "Default" - - def updateData(self, obj, prop): - return - - def onChanged(self, vobj, prop): - return - - def setEdit(self, vobj, mode=0): - # avoid edit mode by return False - # https://forum.freecadweb.org/viewtopic.php?t=12139&start=10#p161062 - return False - - def doubleClicked(self, vobj): - guidoc = FreeCADGui.getDocument(vobj.Object.Document) - # check if another VP is in edit mode - # https://forum.freecadweb.org/viewtopic.php?t=13077#p104702 - if not guidoc.getInEdit(): - guidoc.setEdit(vobj.Object.Name) - else: - from PySide.QtGui import QMessageBox - message = "Active Task Dialog found! Please close this one before opening a new one!" - QMessageBox.critical(None, "Error in tree view", message) - FreeCAD.Console.PrintError(message + "\n") - return True - - def __getstate__(self): - return None - - def __setstate__(self, state): - return None diff --git a/src/Mod/Fem/femobjects/_FemMaterialMechanicalNonlinear.py b/src/Mod/Fem/femobjects/_FemMaterialMechanicalNonlinear.py index 7e29c18702..79bc8e73e1 100644 --- a/src/Mod/Fem/femobjects/_FemMaterialMechanicalNonlinear.py +++ b/src/Mod/Fem/femobjects/_FemMaterialMechanicalNonlinear.py @@ -27,12 +27,16 @@ __url__ = "http://www.freecadweb.org" # \ingroup FEM # \brief FEM nonlinear mechanical material object +from . import FemConstraint -class _FemMaterialMechanicalNonlinear: + +class _FemMaterialMechanicalNonlinear(FemConstraint.Proxy): "The FemMaterialMechanicalNonlinear object" + + Type = "Fem::MaterialMechanicalNonlinear" + def __init__(self, obj): - obj.Proxy = self - self.Type = "Fem::MaterialMechanicalNonlinear" + super(_FemMaterialMechanicalNonlinear, self).__init__(obj) obj.addProperty( "App::PropertyLink", @@ -74,6 +78,3 @@ class _FemMaterialMechanicalNonlinear: "Set stress and strain for yield point three, separated by a comma." ) obj.YieldPoint3 = "" - - def execute(self, obj): - return