FEM: Migrate _CommandPurgeFemResults to FemCommands and add new is_active type
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
This commit is contained in:
parent
044c16d218
commit
217103affb
|
@ -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
|
||||
|
|
|
@ -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())
|
||||
|
|
Loading…
Reference in New Issue
Block a user