FEM: Python base constraint view provider, extend methods
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user