FEM: Python base constraint view provider, extend methods

This commit is contained in:
Bernd Hahnebach
2020-03-03 21:04:23 +01:00
parent 1bd4a173ef
commit 175e7f2069

View File

@@ -47,6 +47,8 @@ class ViewProxy(object):
def attach(self, vobj):
default = coin.SoGroup()
vobj.addDisplayMode(default, "Default")
self.Object = vobj.Object
self.ViewObject = vobj
def getDisplayModes(self, obj):
"Return a list of display modes."
@@ -59,11 +61,27 @@ class ViewProxy(object):
def setDisplayMode(self, mode):
return mode
def setEdit(self, vobj, mode=0):
# needs to be overwritten if task panel exists
# avoid edit mode by return False
# https://forum.freecadweb.org/viewtopic.php?t=12139&start=10#p161062
return False
def setEdit(self, vobj, mode=0, TaskPanel=None, hide_mesh=True):
if TaskPanel is None:
# avoid edit mode by return False
# https://forum.freecadweb.org/viewtopic.php?t=12139&start=10#p161062
return False
if hide_mesh is True:
# hide all FEM meshes and VTK FemPostPipeline objects
for o in vobj.Object.Document.Objects:
if (
o.isDerivedFrom("Fem::FemMeshObject")
or o.isDerivedFrom("Fem::FemPostPipeline")
):
o.ViewObject.hide()
# show task panel
task = TaskPanel(vobj.Object)
FreeCADGui.Control.showDialog(task)
return True
def unsetEdit(self, vobj, mode=0):
FreeCADGui.Control.closeDialog()
return True
def doubleClicked(self, vobj):
guidoc = FreeCADGui.getDocument(vobj.Object.Document)
@@ -77,3 +95,9 @@ class ViewProxy(object):
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