From 217103affb66cb37f8fb9d9a3987b65999fa88c3 Mon Sep 17 00:00:00 2001 From: Przemo Firszt Date: Tue, 13 Oct 2015 10:41:38 +0100 Subject: [PATCH] FEM: Migrate _CommandPurgeFemResults to FemCommands and add new is_active type Signed-off-by: Przemo Firszt --- src/Mod/Fem/FemCommands.py | 10 +++++++++ src/Mod/Fem/_CommandPurgeFemResults.py | 28 +++++++++----------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/Mod/Fem/FemCommands.py b/src/Mod/Fem/FemCommands.py index a3a7e6c80..2c959d12f 100644 --- a/src/Mod/Fem/FemCommands.py +++ b/src/Mod/Fem/FemCommands.py @@ -52,4 +52,14 @@ class FemCommands(object): active = FreeCADGui.ActiveDocument is not None elif self.is_active == 'with_analysis': active = FreeCADGui.ActiveDocument is not None and FemGui.getActiveAnalysis() is not None + elif self.is_active == 'with_results': + active = FreeCADGui.ActiveDocument is not None and FemGui.getActiveAnalysis() is not None and self.results_present() return active + + def results_present(self): + results = False + analysis_members = FemGui.getActiveAnalysis().Member + for o in analysis_members: + if o.isDerivedFrom('Fem::FemResultObject'): + results = True + return results diff --git a/src/Mod/Fem/_CommandPurgeFemResults.py b/src/Mod/Fem/_CommandPurgeFemResults.py index 3e6993f87..16331923d 100644 --- a/src/Mod/Fem/_CommandPurgeFemResults.py +++ b/src/Mod/Fem/_CommandPurgeFemResults.py @@ -25,6 +25,7 @@ __author__ = "Juergen Riegel" __url__ = "http://www.freecadweb.org" import FreeCAD +from FemCommands import FemCommands from FemTools import FemTools if FreeCAD.GuiUp: @@ -32,30 +33,19 @@ if FreeCAD.GuiUp: 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")} +class _CommandPurgeFemResults(FemCommands): + def __init__(self): + super(_CommandPurgeFemResults, self).__init__() + self.resources = {'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")} + self.is_active = 'with_results' 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())