From 7a0c300aa39655ffe60018efc64206d8f45fc849 Mon Sep 17 00:00:00 2001 From: Przemo Firszt Date: Fri, 9 Oct 2015 20:02:07 +0100 Subject: [PATCH] FEM: Move _CommandPurgeFemResults class to separate file Signed-off-by: Przemo Firszt --- src/Mod/Fem/App/CMakeLists.txt | 1 + src/Mod/Fem/CMakeLists.txt | 1 + src/Mod/Fem/Gui/AppFemGui.cpp | 1 + src/Mod/Fem/MechanicalAnalysis.py | 28 --------------------- src/Mod/Fem/_CommandPurgeFemResults.py | 35 ++++++++++++++++++++++++++ 5 files changed, 38 insertions(+), 28 deletions(-) create mode 100644 src/Mod/Fem/_CommandPurgeFemResults.py diff --git a/src/Mod/Fem/App/CMakeLists.txt b/src/Mod/Fem/App/CMakeLists.txt index 846e147c0437..257283fe5de9 100755 --- a/src/Mod/Fem/App/CMakeLists.txt +++ b/src/Mod/Fem/App/CMakeLists.txt @@ -89,6 +89,7 @@ SET(FemScripts_SRCS _CommandMechanicalShowResult.py _CommandFrequencyAnalysis.py _CommandQuickAnalysis.py + _CommandPurgeFemResults.py ) #SOURCE_GROUP("Scripts" FILES ${FemScripts_SRCS}) diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt index bdaeae346a3b..800f8cd9565b 100755 --- a/src/Mod/Fem/CMakeLists.txt +++ b/src/Mod/Fem/CMakeLists.txt @@ -31,6 +31,7 @@ INSTALL( _CommandMechanicalShowResult.py _CommandFrequencyAnalysis.py _CommandQuickAnalysis.py + _CommandPurgeFemResults.py DESTINATION Mod/Fem ) diff --git a/src/Mod/Fem/Gui/AppFemGui.cpp b/src/Mod/Fem/Gui/AppFemGui.cpp index b2cedcf669a8..35d5a3300dbd 100644 --- a/src/Mod/Fem/Gui/AppFemGui.cpp +++ b/src/Mod/Fem/Gui/AppFemGui.cpp @@ -105,6 +105,7 @@ void FemGuiExport initFemGui() Base::Interpreter().loadModule("_CommandMechanicalShowResult"); Base::Interpreter().loadModule("_CommandFrequencyAnalysis"); Base::Interpreter().loadModule("_CommandQuickAnalysis"); + Base::Interpreter().loadModule("_CommandPurgeFemResults"); Base::Interpreter().loadModule("MechanicalAnalysis"); Base::Interpreter().loadModule("MechanicalMaterial"); Base::Interpreter().loadModule("FemBeamSection"); diff --git a/src/Mod/Fem/MechanicalAnalysis.py b/src/Mod/Fem/MechanicalAnalysis.py index 9862ca3d6562..3c843b38159c 100644 --- a/src/Mod/Fem/MechanicalAnalysis.py +++ b/src/Mod/Fem/MechanicalAnalysis.py @@ -21,7 +21,6 @@ #*************************************************************************** import FreeCAD -from FemTools import FemTools if FreeCAD.GuiUp: import FreeCADGui @@ -124,34 +123,7 @@ def IsActive(self): return FreeCADGui.ActiveDocument is not None and FemGui.getActiveAnalysis() is not None -class _CommandPurgeFemResults: - def GetResources(self): - return {'Pixmap': 'fem-purge-results', - 'MenuText': QtCore.QT_TRANSLATE_NOOP("Fem_PurgeResults", "Purge results"), - 'Accel': "S, S", - 'ToolTip': QtCore.QT_TRANSLATE_NOOP("Fem_PurgeResults", "Purge results from an analysis")} - - def Activated(self): - fea = FemTools() - fea.reset_all() - - def IsActive(self): - return FreeCADGui.ActiveDocument is not None and results_present() - -# Helpers - - -def results_present(): - results = False - analysis_members = FemGui.getActiveAnalysis().Member - for o in analysis_members: - if o.isDerivedFrom('Fem::FemResultObject'): - results = True - return results - - if FreeCAD.GuiUp: FreeCADGui.addCommand('Fem_NewMechanicalAnalysis', _CommandNewMechanicalAnalysis()) FreeCADGui.addCommand('Fem_CreateFromShape', _CommandFemFromShape()) FreeCADGui.addCommand('Fem_MechanicalJobControl', _CommandMechanicalJobControl()) - FreeCADGui.addCommand('Fem_PurgeResults', _CommandPurgeFemResults()) diff --git a/src/Mod/Fem/_CommandPurgeFemResults.py b/src/Mod/Fem/_CommandPurgeFemResults.py new file mode 100644 index 000000000000..a6283c6d8e2c --- /dev/null +++ b/src/Mod/Fem/_CommandPurgeFemResults.py @@ -0,0 +1,35 @@ +import FreeCAD +from FemTools import FemTools + +if FreeCAD.GuiUp: + import FreeCADGui + from PySide import QtCore + + +class _CommandPurgeFemResults: + def GetResources(self): + return {'Pixmap': 'fem-purge-results', + 'MenuText': QtCore.QT_TRANSLATE_NOOP("Fem_PurgeResults", "Purge results"), + 'Accel': "S, S", + 'ToolTip': QtCore.QT_TRANSLATE_NOOP("Fem_PurgeResults", "Purge results from an analysis")} + + def Activated(self): + fea = FemTools() + fea.reset_all() + + def IsActive(self): + return FreeCADGui.ActiveDocument is not None and results_present() + + +#Code duplication to be removed after migration to FemTools +def results_present(): + import FemGui + results = False + analysis_members = FemGui.getActiveAnalysis().Member + for o in analysis_members: + if o.isDerivedFrom('Fem::FemResultObject'): + results = True + return results + +if FreeCAD.GuiUp: + FreeCADGui.addCommand('Fem_PurgeResults', _CommandPurgeFemResults())