From 882db04b3cccdb1d629c4a60119ffc0a4750ddad Mon Sep 17 00:00:00 2001 From: Bernd Hahnebach Date: Wed, 25 Nov 2015 06:36:47 +0100 Subject: [PATCH] FEM: activate CommandMechanicalJobControl with_Solver selected --- src/Mod/Fem/FemCommands.py | 9 +++++++++ src/Mod/Fem/_CommandMechanicalJobControl.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Mod/Fem/FemCommands.py b/src/Mod/Fem/FemCommands.py index 3c12bc2f0..4803ecb40 100644 --- a/src/Mod/Fem/FemCommands.py +++ b/src/Mod/Fem/FemCommands.py @@ -56,6 +56,8 @@ class FemCommands(object): active = FemGui.getActiveAnalysis() is not None and self.active_analysis_in_active_doc() and self.results_present() elif self.is_active == 'with_part_feature': active = FreeCADGui.ActiveDocument is not None and self.part_feature_selected() + elif self.is_active == 'with_solver': + active = FemGui.getActiveAnalysis() is not None and self.active_analysis_in_active_doc() and self.solver_selected() return active def results_present(self): @@ -75,3 +77,10 @@ class FemCommands(object): def active_analysis_in_active_doc(self): return FemGui.getActiveAnalysis().Document is FreeCAD.ActiveDocument + + def solver_selected(self): + sel = FreeCADGui.Selection.getSelection() + if len(sel) == 1 and sel[0].isDerivedFrom("Fem::FemSolverObjectPython"): + return True + else: + return False diff --git a/src/Mod/Fem/_CommandMechanicalJobControl.py b/src/Mod/Fem/_CommandMechanicalJobControl.py index 9ddce3d2d..7bbdd8efb 100644 --- a/src/Mod/Fem/_CommandMechanicalJobControl.py +++ b/src/Mod/Fem/_CommandMechanicalJobControl.py @@ -41,7 +41,7 @@ class _CommandMechanicalJobControl(FemCommands): 'MenuText': QtCore.QT_TRANSLATE_NOOP("Fem_JobControl", "Start calculation"), 'Accel': "S, C", 'ToolTip': QtCore.QT_TRANSLATE_NOOP("Fem_JobControl", "Dialog to start the calculation of the mechanical anlysis")} - self.is_active = 'with_analysis' + self.is_active = 'with_solver' def Activated(self): import _TaskPanelFemSolverCalculix