FEM: preference setting to disable restore result dialog settings

This commit is contained in:
Bernd Hahnebach 2016-03-18 20:54:27 +01:00 committed by wmayer
parent 1280a185c2
commit eca9e3339a
3 changed files with 45 additions and 3 deletions

View File

@ -457,6 +457,35 @@
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="gb_results">
<property name="title">
<string>Results</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<widget class="Gui::PrefCheckBox" name="cb_restore_result_dialog">
<property name="text">
<string>Restore result dialog settings</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="prefEntry" stdset="0">
<cstring>RestoreResultDialog</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Fem</cstring>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item row="2" column="0">

View File

@ -60,6 +60,7 @@ void DlgSettingsFemImp::saveSettings()
cb_use_mat_from_config_dir->onSave();
cb_use_mat_from_custom_dir->onSave();
fc_custom_mat_dir->onSave();
cb_restore_result_dialog->onSave();
}
void DlgSettingsFemImp::loadSettings()
@ -76,6 +77,7 @@ void DlgSettingsFemImp::loadSettings()
cb_use_mat_from_config_dir->onRestore();
cb_use_mat_from_custom_dir->onRestore();
fc_custom_mat_dir->onRestore();
cb_restore_result_dialog->onRestore();
ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath
("User parameter:BaseApp/Preferences/Mod/Fem");

View File

@ -40,6 +40,8 @@ class _TaskPanelResultControl:
'''The control for the displacement post-processing'''
def __init__(self):
self.form = FreeCADGui.PySideUic.loadUi(FreeCAD.getHomePath() + "Mod/Fem/TaskPanelShowDisplacement.ui")
self.fem_prefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Fem")
self.restore_result_settings_in_dialog = self.fem_prefs.GetBool("RestoreResultDialog", True)
#Connect Signals and Slots
QtCore.QObject.connect(self.form.rb_none, QtCore.SIGNAL("toggled(bool)"), self.none_selected)
@ -55,7 +57,10 @@ class _TaskPanelResultControl:
QtCore.QObject.connect(self.form.sb_displacement_factor_max, QtCore.SIGNAL("valueChanged(int)"), self.sb_disp_factor_max_changed)
self.update()
self.restore_result_dialog()
if self.restore_result_settings_in_dialog:
self.restore_result_dialog()
else:
self.restore_initial_result_dialog()
def restore_result_dialog(self):
try:
@ -90,8 +95,14 @@ class _TaskPanelResultControl:
self.form.sb_displacement_factor_max.setValue(dfm)
self.form.sb_displacement_factor.setValue(df)
except:
FreeCAD.FEM_dialog = {"results_type": "None", "show_disp": False,
"disp_factor": 0, "disp_factor_max": 100}
self.restore_initial_result_dialog()
def restore_initial_result_dialog(self):
FreeCAD.FEM_dialog = {"results_type": "None", "show_disp": False,
"disp_factor": 0, "disp_factor_max": 100}
fea = FemTools()
fea.reset_mesh_color()
fea.reset_mesh_deformation()
def getStandardButtons(self):
return int(QtGui.QDialogButtonBox.Close)