Skip to content

Commit

Permalink
FEM: Move _CommandPurgeFemResults class to separate file
Browse files Browse the repository at this point in the history
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
  • Loading branch information
PrzemoF authored and wwmayer committed Oct 11, 2015
1 parent 039b632 commit 7a0c300
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 28 deletions.
1 change: 1 addition & 0 deletions src/Mod/Fem/App/CMakeLists.txt
Expand Up @@ -89,6 +89,7 @@ SET(FemScripts_SRCS
_CommandMechanicalShowResult.py
_CommandFrequencyAnalysis.py
_CommandQuickAnalysis.py
_CommandPurgeFemResults.py
)
#SOURCE_GROUP("Scripts" FILES ${FemScripts_SRCS})

Expand Down
1 change: 1 addition & 0 deletions src/Mod/Fem/CMakeLists.txt
Expand Up @@ -31,6 +31,7 @@ INSTALL(
_CommandMechanicalShowResult.py
_CommandFrequencyAnalysis.py
_CommandQuickAnalysis.py
_CommandPurgeFemResults.py
DESTINATION
Mod/Fem
)
Expand Down
1 change: 1 addition & 0 deletions src/Mod/Fem/Gui/AppFemGui.cpp
Expand Up @@ -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");
Expand Down
28 changes: 0 additions & 28 deletions src/Mod/Fem/MechanicalAnalysis.py
Expand Up @@ -21,7 +21,6 @@
#***************************************************************************

import FreeCAD
from FemTools import FemTools

if FreeCAD.GuiUp:
import FreeCADGui
Expand Down Expand Up @@ -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())
35 changes: 35 additions & 0 deletions 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())

0 comments on commit 7a0c300

Please sign in to comment.