schrodinger.ui.qt.recent_completer module¶
- class schrodinger.ui.qt.recent_completer.StringListModelInterface(prefkey=None, suggestion_limit=20)¶
Bases:
object
Interface for Qt classes that can use a QStringListModel.
You add to the QStringListModel by calling addSuggestion. If a prefkey is passed to the init, then these suggestions will be stored in Maestro, and reloaded next time the widget is created
- MODEL_CLASS¶
alias of
PyQt6.QtCore.QStringListModel
- __init__(prefkey=None, suggestion_limit=20)¶
- Parameters
prefkey (str or None) – if defined, a unique string that defines where this object’s suggestions can be saved to and loaded from persistently
suggestion_limit – the maximum number of suggestions that this object will store; must be a nonnegative integer or None
- property suggestion_limit¶
- Returns
the maximum number of completion suggestions that this object will remember; if
None
, there is no limit.- Return type
int or None
- setSuggestions(suggestions)¶
Replace the current set of completion suggestions with the supplied values.
- Parameters
suggestions – a new list of completion suggestions to set on this object
- Rtype suggestions
list(str)
- addSuggestion(new_suggestion)¶
Add a new completion suggestion to this object. If it already exists in this object, put it to the top of the list to indicate that it the most recent suggestion.
- Parameters
new_suggestion (str) – a new completion suggestion
- setModelStringList(suggestions)¶
Replace the contents of the model with the new list of suggestions.
- Parameters
suggestions (list[str]) – The new model contents.
- class schrodinger.ui.qt.recent_completer.RecentCombo¶
Bases:
PyQt6.QtWidgets.QComboBox
,schrodinger.ui.qt.recent_completer.StringListModelInterface
A
QComboBox
which is able to store its past values in Maestro persistent settings. You add to this combobox by usingaddSuggestion
.When adding a suggestion, the model gets reset in the process, which will clear selection and emit a signal indicating that the selection has changed.
- setModelStringList(suggestions)¶
Replace the contents of the model with the new list of suggestions. This method always clears the combo box selection, which mimics the Qt 5 behavior. (In Qt 6, calling setStringList directly would select the first item due to the behavior change from https://bugreports.qt.io/browse/QTBUG-80998.)
- Parameters
suggestions (list[str]) – The new model contents.
- class schrodinger.ui.qt.recent_completer.RecentCompleter¶
Bases:
PyQt6.QtWidgets.QCompleter
,schrodinger.ui.qt.recent_completer.StringListModelInterface
A
QLineEdit
completer that can remember a limited number of completion suggestions, and optionally retain completion suggestions persistently.
- class schrodinger.ui.qt.recent_completer.PlaceholderRecentCombo¶
Bases:
schrodinger.ui.qt.standard_widgets.combo_boxes.ItalicsPlaceholderComboBox
,schrodinger.ui.qt.recent_completer.RecentCombo
A RecentCombo which enables persistent options as well as placeholder text
- class schrodinger.ui.qt.recent_completer.SeparatorStringModel¶
Bases:
PyQt6.QtCore.QStringListModel
A QStringList model which supports separator. Subclass needs to add the separator at desired position using ‘setStringList’ method.
- data(self, index: QModelIndex, role: int = Qt.DisplayRole) Any ¶
- isSeparator(index)¶
Returns True if the item corresponding to the given index is a separator
- flags(index)¶
The separator row should not be enabled or selectable
- class schrodinger.ui.qt.recent_completer.BrowseStringModel¶
Bases:
schrodinger.ui.qt.recent_completer.SeparatorStringModel
A QStringList model which adds a separator and a browse option for comboboxes that need a browse button appended to the end
- Variables
BROWSE (str) – Text for browse option.
- BROWSE = 'Browse...'¶
- stringList()¶
Return the string list, not including the separator and browse :return:
- setStringList(strings)¶
When setting a string list, add a separator and browse option
- class schrodinger.ui.qt.recent_completer.BrowsePlaceholderRecentCombo(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.recent_completer.PlaceholderRecentCombo
A PlaceholderRecentCombo which always keeps a Browse option at the bottom.
- Variables
browseSelected – A signal emitted when the browse option in the combobox is selected.
- browseSelected¶
A
pyqtSignal
emitted by instances of the class.
- MODEL_CLASS¶
alias of
schrodinger.ui.qt.recent_completer.BrowseStringModel
- __init__(*args, **kwargs)¶
- class schrodinger.ui.qt.recent_completer.BrowseAndCreateStringModel¶
Bases:
schrodinger.ui.qt.recent_completer.SeparatorStringModel
A QStringList model which adds a separator, a browse option and a ‘create new’ option for comboboxes. ‘Browse’ and ‘create new’ options are appended to the end of the list.
- Variables
BROWSE (str) – Text for browse option.
- BROWSE = 'Browse File...'¶
- CREATE_NEW = 'Create New...'¶
- stringList()¶
Return the string list, not including the separator and browse :return:
- setStringList(strings)¶
When setting a string list, add a separator and browse option
- class schrodinger.ui.qt.recent_completer.BrowseAndCreateCombo(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.recent_completer.PlaceholderRecentCombo
A PlaceholderRecentCombo which always keeps a Browse option at the bottom.
- Variables
browseSelected – A signal emitted when the browse option in the combobox is selected.
- browseSelected¶
A
pyqtSignal
emitted by instances of the class.
- createNewSelected¶
A
pyqtSignal
emitted by instances of the class.
- MODEL_CLASS¶
alias of
schrodinger.ui.qt.recent_completer.BrowseAndCreateStringModel
- __init__(*args, **kwargs)¶