schrodinger.ui.qt.forcefield.metals_forcefield module¶
- class schrodinger.ui.qt.forcefield.metals_forcefield.ConfigButtonState¶
Bases:
Enum- DEFAULT = 'default'¶
- SELECTED = 'selected'¶
- WARNING = 'warning'¶
- class schrodinger.ui.qt.forcefield.metals_forcefield.MetalsForcefieldPopUp(*args, **kwargs)¶
-
A pop-up widget for configuring and analyzing the Metals force field compatibility of given structures.
Usage Example:
pop_up = MetalsForcefieldPopUp(parent) pop_up.registerInputGetter(get_input_system_callback) pop_up.onInputChanged() # After analysis is_selected = pop_up.shouldUseMetalsForcefield() prepared_file_path = pop_up.getAnalyzedOutput()
- ui_module = <module 'schrodinger.ui.qt.forcefield.metals_forcefield_gui_dir.metals_forcefield_ui' from '/scr/buildbot/builds/build/internal/lib/python3.11/site-packages/schrodinger/ui/qt/forcefield/metals_forcefield_gui_dir/metals_forcefield_ui.py'>¶
- initSetUp()¶
Creates widget from
uiand stores itui_widget.Suggested subclass use: create and initialize subwidgets, and connect signals.
- initSetDefaults()¶
Set widget to its default state. If the widget uses a model/mapper, it’s preferable to reset the widget state by resetting the model.
- registerInputGetter(callback)¶
Register a callback to get the input system when analysis is run.
Note: The callback should return either a file path to the input system, a Structure object, or an iterable of Structure objects.
- Parameters:
callback – A callable that returns the input system.
- shouldUseMetalsForcefield() bool¶
Return whether the Metals force field option is currently selected by the user.
- getAnalyzedOutput() str¶
Get the file path to the prepared metal complex file.
- Raises:
RuntimeError – If the analysis has not been run yet.
- Returns:
The file path to the prepared metal complex file.
- onInputChanged()¶
Reset the pop-up when input structures change.
Note: This has to be called by the parent widget when input structures change.
- setup()¶
Subclass-specific initialization. Subclasses can re-implement this function with custom set up code.
- class schrodinger.ui.qt.forcefield.metals_forcefield.MetalsForcefieldConfigButton(parent, *args, **kwargs)¶
Bases:
FlatButtonWithPopUpA button to open the Metals Force Field configuration pop-up.
Usage Example:
button = MetalsForcefieldConfigButton(parent) button.registerInputGetter(get_input_system_callback) button.onInputChanged() # After analysis is_selected = button.shouldUseMetalsForcefield() prepared_file_path = button.getAnalyzedOutput()
- PRESSED_ICON_PATH = ':icons/settings-ON-light.png'¶
- STYLESHEET_PROPERTY = 'state'¶
- __init__(parent, *args, **kwargs)¶
- Parameters:
parent (
PyQt5.QtWidgets.QWidget) – The Qt parent widget
- registerInputGetter(callback)¶
Register a callback to get the input system when analysis is run.
Note: The callback should return either a file path to the input system, a Structure object, or an iterable of Structure objects.
- Parameters:
callback – A callable that returns the input system.
- onInputChanged()¶
Set the button to warning state if input changes and the Metals force field was previously selected. Also notify the pop-up of the input change.
Note: This has to be called by the parent widget when input changes.
- shouldUseMetalsForcefield() bool¶
Return whether the Metals force field option is currently selected (checked) by the user in the pop-up.
- getAnalyzedOutput() str¶
Get the file path to the prepared metal complex file
- Raises:
RuntimeError – If the analysis has not been run yet.
- Returns:
The file path to the prepared metal complex file.
- updateStyleSheet()¶
Override to update the stylesheet based on the button state.