Source code for schrodinger.ui.qt.presets.save_presets_dialog
from schrodinger.ui.qt import basewidgets
from schrodinger.ui.qt.appframework2 import jobnames
from schrodinger.ui.qt.presets import save_presets_dialog_ui
[docs]class SavePresetsDialog(basewidgets.BaseDialog):
ui_module = save_presets_dialog_ui
[docs] def __init__(self, preset_manager, preset_model):
"""
:param preset_manager: The preset manager to use for saving a preset.
:type preset_manager: schrodinger.models.tasks.presets.PresetManager
:param preset_model: The model to use for saving the preset.
:type preset_model: schrodinger.models.parameters.CompoundParam
"""
self._preset_manager = preset_manager
self._preset_model = preset_model
super().__init__()
[docs] def initSetUp(self):
super().initSetUp()
self.ui.include_sts_inputs_cb.setEnabled(False)
current_presets = self._preset_manager.getAvailablePresets()
starting_options_name = jobnames.get_next_jobname(
'Options', name_list=current_presets)
self.ui.preset_name_le.setText(starting_options_name)
self.ui.preset_name_le.selectAll()
# TODO PANEL-17897: Unhide this
self.ui.num_non_default.setVisible(False)
# TODO PANEL-17896
self.ui.include_sts_inputs_cb.setVisible(False)
self.ui.tooltip_cb.setVisible(False)
[docs] def initSetOptions(self):
super().initSetOptions()
self.std_btn_specs = {
self.StdBtn.Ok: self._onOkClicked,
self.StdBtn.Cancel: self._onCancelClicked
}
def _onCancelClicked(self):
pass
def _onOkClicked(self):
preset_name = self.ui.preset_name_le.text()
self._preset_manager.savePreset(preset_name, self._preset_model)
if self.ui.set_default_cb.isChecked():
self._preset_manager.setDefaultPreset(preset_name)