diff --git a/src/Mod/Fem/App/CMakeLists.txt b/src/Mod/Fem/App/CMakeLists.txt index 0b90e1748..a535a2f33 100755 --- a/src/Mod/Fem/App/CMakeLists.txt +++ b/src/Mod/Fem/App/CMakeLists.txt @@ -84,6 +84,7 @@ SET(FemScripts_SRCS ShowDisplacement.ui _ResultControlTaskPanel.py _JobControlTaskPanel.py + _ViewProviderFemAnalysis.py ) #SOURCE_GROUP("Scripts" FILES ${FemScripts_SRCS}) diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt index 5edbf56b3..5a725e3a8 100755 --- a/src/Mod/Fem/CMakeLists.txt +++ b/src/Mod/Fem/CMakeLists.txt @@ -26,6 +26,7 @@ INSTALL( ShowDisplacement.ui _ResultControlTaskPanel.py _JobControlTaskPanel.py + _ViewProviderFemAnalysis.py DESTINATION Mod/Fem ) diff --git a/src/Mod/Fem/MechanicalAnalysis.py b/src/Mod/Fem/MechanicalAnalysis.py index d8be50e44..74c9220b3 100644 --- a/src/Mod/Fem/MechanicalAnalysis.py +++ b/src/Mod/Fem/MechanicalAnalysis.py @@ -37,7 +37,8 @@ def makeMechanicalAnalysis(name): '''makeFemAnalysis(name): makes a Fem Analysis object''' obj = FreeCAD.ActiveDocument.addObject("Fem::FemAnalysisPython", name) _FemAnalysis(obj) - _ViewProviderFemAnalysis() + import _ViewProviderFemAnalysis + _ViewProviderFemAnalysis._ViewProviderFemAnalysis() #FreeCAD.ActiveDocument.recompute() return obj @@ -244,47 +245,6 @@ class _FemAnalysis: if state: self.Type = state - -class _ViewProviderFemAnalysis: - "A View Provider for the FemAnalysis container object" - - def __init__(self): - #vobj.addProperty("App::PropertyLength", "BubbleSize", "Base", str(translate("Fem", "The size of the axis bubbles"))) - pass - - def getIcon(self): - return ":/icons/fem-analysis.svg" - - def attach(self, vobj): - self.ViewObject = vobj - self.Object = vobj.Object - self.bubbles = None - - def updateData(self, obj, prop): - return - - def onChanged(self, vobj, prop): - return - - def doubleClicked(self, vobj): - if not FemGui.getActiveAnalysis() == self.Object: - if FreeCADGui.activeWorkbench().name() != 'FemWorkbench': - FreeCADGui.activateWorkbench("FemWorkbench") - FemGui.setActiveAnalysis(self.Object) - return True - else: - import _JobControlTaskPanel - taskd = _JobControlTaskPanel._JobControlTaskPanel(self.Object) - FreeCADGui.Control.showDialog(taskd) - return True - - def __getstate__(self): - return None - - def __setstate__(self, state): - return None - - # Helpers diff --git a/src/Mod/Fem/_ViewProviderFemAnalysis.py b/src/Mod/Fem/_ViewProviderFemAnalysis.py new file mode 100644 index 000000000..71766c7fc --- /dev/null +++ b/src/Mod/Fem/_ViewProviderFemAnalysis.py @@ -0,0 +1,45 @@ +import FreeCAD + +if FreeCAD.GuiUp: + import FreeCADGui + import FemGui + + +class _ViewProviderFemAnalysis: + "A View Provider for the FemAnalysis container object" + + def __init__(self): + #vobj.addProperty("App::PropertyLength", "BubbleSize", "Base", str(translate("Fem", "The size of the axis bubbles"))) + pass + + def getIcon(self): + return ":/icons/fem-analysis.svg" + + def attach(self, vobj): + self.ViewObject = vobj + self.Object = vobj.Object + self.bubbles = None + + def updateData(self, obj, prop): + return + + def onChanged(self, vobj, prop): + return + + def doubleClicked(self, vobj): + if not FemGui.getActiveAnalysis() == self.Object: + if FreeCADGui.activeWorkbench().name() != 'FemWorkbench': + FreeCADGui.activateWorkbench("FemWorkbench") + FemGui.setActiveAnalysis(self.Object) + return True + else: + import _JobControlTaskPanel + taskd = _JobControlTaskPanel(self.Object) + FreeCADGui.Control.showDialog(taskd) + return True + + def __getstate__(self): + return None + + def __setstate__(self, state): + return None