schrodinger.ui.qt.appframework2.settings module¶
- class schrodinger.ui.qt.appframework2.settings.SettingsMixin(*args, **kwargs)¶
Bases:
object
Mixin allows an object to save/restore its own state to/from a dictionary. A typical use case would be to collect the values of all the widgets in an options dialog as a dictionary. Example:
dlg = MyOptionsDialog() saved_settings = dlg.getSettings() dlg.applySettings(new_settings)
The settings are stored in a dictionary by each widget’s variable name. For widgets that are referenced from within another object, a nested dictionary will be created, the most common example of this being the panel.ui object. A typical settings dictionary may look like this:
{ 'ui': { 'option_combo': 'Option A', 'name_le': 'John', 'remove_duplicate_checkbox': False, 'num_copies_spinbox': 0 }, 'other_name_le': 'Job 3' }
Notice that dictionary keys are the string variable names, not the widgets themselves, and that panel.ui has its own sub-dictionary.
This mixin also supports the concept of aliases, which is a convenient way of accessing objects by a string or other identifier. Example:
self.setAlias(self.ui.my_input_asl_le, 'ASL') # This is a shortcut for self.getAliasedSetting('ASL') old_asl = self['ASL'] # This is a shortcut for self.setAliasedSetting('ASL') self['ASL'] = new_asl
All the information about how to get values from the supported types is found in getObjValue() and setObjValue(). To extend this functionality for more types, either edit these two methods here or override these methods in the derived class, being sure to call the parent method in the else clause after testing for all new types. Always extend both the set and get functionality together.
You can also add support for this mixin to any class by implementing af2SettingsGetValue() and af2SettingsSetValue(). In this way, more complicated widgets or other objects can be automatically discovered.
- __init__(*args, **kwargs)¶
- setAlias(alias, obj, persistent=False)¶
Sets an alias to conveniently access an object.
- Parameters
alias (hashable) – any hashable, but typically a string name
obj (object) – the actual object to be referenced
persistent (bool) – whether to make the setting persistent
- setAliases(alias_dict, persistent=False)¶
Sets multiple aliases at once. Already used aliases are overwritten; other existing aliases are not affected.
- Parameters
alias_dict (dict) – map of aliases to objects
persistent (bool) – whether to make the settings persistent
- getAliasedSettings()¶
- applyAliasedSettings(settings)¶
Applies any aliased settings with new values from the dictionary. Any aliases not present in the settings dictionary will be left unchanged.
- Parameters
settings (dict) – a dictionary mapping aliases to new values to apply
- getAliasedValue(alias)¶
- setAliasedValue(alias, value)¶
- setPersistent(alias=None)¶
Set options to be persistent. Any options to be made persistent must be aliased, since the alias is used to form the preference key. If no alias is specified, all aliased settings will be made persistent.
- Parameters
alias (str or None) – the alias to save, or None
- getPersistenceKey(alias)¶
Return a unique identifier for saving/restoring a setting in the preferences. Override this method to change the key scheme (this is necessary if creating a common resource which is shared by multiple panels).
- Parameters
alias (str) – the alias for which we are generating a key
- savePersistentOptions()¶
Store all persistent options to the preferences.
- loadPersistentOptions()¶
Load all persistent options from the preferences.
- getSettings(target=None, ignore_list=None)¶
- applySettings(settings, target=None)¶
- getObjValue(obj)¶
- setObjValue(obj, value)¶
- schrodinger.ui.qt.appframework2.settings.get_settings(target, ignore_list=None)¶
Recursively collects all settings.
- Parameters
target (object) – the target object from which to collect from. Defaults to self. The target is normally only used in the recursive calls.
ignore_list (list of objects) – list of objects to ignore. Also used in recursive calls, to prevent circular reference traversal
- Returns
the settings in a dict keyed by reference name. Nested references appear as dicts within the dict.
- Return type
dict
- schrodinger.ui.qt.appframework2.settings.apply_settings(settings, target)¶
Recursively applies any settings supplied in the settings argument.
- schrodinger.ui.qt.appframework2.settings.get_obj_value(obj)¶
A generic function for getting the “value” of any supported object. This includes various types of QWidgets, any object that implements an af2SettingsGetValue method, or a tuple consisting of getter and setter functions.
- Parameters
obj (object) – the object whose value to get
- schrodinger.ui.qt.appframework2.settings.set_obj_value(obj, value)¶
A generic function for setting the “value” of any supported object. This includes various types of QWidgets, any object that implements an af2SettingsSetValue method, or a tuple consisting of getter and setter functions.
- Parameters
obj (object) – the object whose value to set
value (the type must match whatever the object is expecting) – the value to set the object to
- class schrodinger.ui.qt.appframework2.settings.AttributeSettingWrapper(parent_obj, attribute_name)¶
Bases:
object
This allows any object attribute to be treated as a setting. This is useful for mapping an alias to an attribute.
- __init__(parent_obj, attribute_name)¶
- af2SettingsGetValue()¶
- af2SettingsSetValue(value)¶
- class schrodinger.ui.qt.appframework2.settings.PanelState(custom_state, auto_state)¶
Bases:
object
A simple container to hold the panel state that is collected by the SettingsPanelMixin. Formerly, the state was held in a simple 2-tuple of (custom_state, auto_state).
- __init__(custom_state, auto_state)¶
- class schrodinger.ui.qt.appframework2.settings.SettingsPanelMixin(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.appframework2.settings.SettingsMixin
- __init__(*args, **kwargs)¶
- definePanelSettings()¶
Override this method to define the settings for the panel. The aliased settings provide an interface for saving/restoring panel state as well as for interacting with task/job runners that need to access the panel state in a way that is agnostic to the specifics of widget names and types.
Each panel setting is defined by a tuple that specifies the mapping of alias to panel setting. An optional third element in the tuple can be used to group settings by category. This allows multiple settings to share the same alias.
Each setting can either point to a specific object (usually a qt widget), or a pair of setter/getter functions.
If the mapped object is a string, this will be interpreted by af2 as referring to an attribute on the panel, and a AttributeSettingWrapper instance will automatically be created. For example, specifying the string ‘num_atoms’ will create a mapping to self.num_atoms which will simply get and set the value of that instance member.
Custom setter and getter functions should take the form getter(), returning a value that can be encoded/decoded by JSON, and setter(value), where the type of value is the same as the return type of the getter.
Commonly used objects/widgets should be handled automatically in settings.py. It’s worth considering whether it makes more sense to use a custom setter/getter here or add support for the widget in settings.py.
- Returns
a list of tuples defining the custom settings.
- Return type
list of tuples. Each tuple can be of type (str, object, str) or (str, (callable, callable), str) where the final str is optional.
Custom settings tuples consists of up to three elements:
alias - a string identier for the setting. Ex. “box_centroid”
either:
an object of a type that is supported by settings.py or
the string name of an existing panel attribute (i.e. member variable), or
a (getter, setter) tuple. The getter should take no arguments, and the setter should take a single value.
optionally, a group identifier. This can be useful if the panel runs two different jobs that both have a parameter with the same name but that needs to map to different widgets. If a setting has a group name, it will be ignored by runners unless the runner name matches the group name.
- getPanelState()¶
Gets the current state of the panel in the form of a serializable dict. The state consists of the settings specified in definePanelSettings() as well as the automatically harvested settings.
- setPanelState(state)¶
Resets the panel and then sets the panel to the specified state
- Parameters
state (PanelState) – the panel state to set. This object should originate from a call to getPanelState()
- writePanelState(filename=None)¶
Write the panel state to a JSON file
- Parameters
filename (str) – the JSON filename. Defaults to “panelstate.json”
- loadPanelState(filename=None)¶
Load the panel state from a JSON file
- Parameters
filename (str) – the JSON filename. Defaults to “panelstate.json”
- applyAliasedSettings(settings)¶
Applies any aliased settings with new values from the dictionary. Any aliases not present in the settings dictionary will be left unchanged.
- Parameters
settings (dict) – a dictionary mapping aliases to new values to apply
- applySettings(settings, target=None)¶
- getAliasedSettings()¶
- getAliasedValue(alias)¶
- getObjValue(obj)¶
- getPersistenceKey(alias)¶
Return a unique identifier for saving/restoring a setting in the preferences. Override this method to change the key scheme (this is necessary if creating a common resource which is shared by multiple panels).
- Parameters
alias (str) – the alias for which we are generating a key
- getSettings(target=None, ignore_list=None)¶
- loadPersistentOptions()¶
Load all persistent options from the preferences.
- savePersistentOptions()¶
Store all persistent options to the preferences.
- setAlias(alias, obj, persistent=False)¶
Sets an alias to conveniently access an object.
- Parameters
alias (hashable) – any hashable, but typically a string name
obj (object) – the actual object to be referenced
persistent (bool) – whether to make the setting persistent
- setAliasedValue(alias, value)¶
- setAliases(alias_dict, persistent=False)¶
Sets multiple aliases at once. Already used aliases are overwritten; other existing aliases are not affected.
- Parameters
alias_dict (dict) – map of aliases to objects
persistent (bool) – whether to make the settings persistent
- setObjValue(obj, value)¶
- setPersistent(alias=None)¶
Set options to be persistent. Any options to be made persistent must be aliased, since the alias is used to form the preference key. If no alias is specified, all aliased settings will be made persistent.
- Parameters
alias (str or None) – the alias to save, or None
- class schrodinger.ui.qt.appframework2.settings.BaseOptionsPanel(parent=None, **kwargs)¶
Bases:
schrodinger.ui.qt.appframework2.settings.SettingsPanelMixin
,schrodinger.ui.qt.appframework2.baseapp.ValidatedPanel
A base class for options dialogs that report all settings via a dictionary. This class descends from ValidatedPanel so it supports all the same validation system, including the @af2.validator decorators.
It shares common code with af2 panels, so setting self.ui, self.title, and self.help_topic all work the same way. It uses the same startup system, so setPanelOptions, setup, setDefaults, and layOut should be used in like fashion.
Appmethods (start, write, custom) are not supported.
To use, instantiate once and keep a reference. Call run() on the instance to open the panel. When the user is done, the panel will either return the settings dictionary (if user clicks ok) or None (if the user clicks cancel).
In place of run(), you may alternatively call open(), which will show the dialog as window modal and return immediately. The settings dictionary may be retrieved using getSettings() or getAliasedSettings().
- __init__(parent=None, **kwargs)¶
- Parameters
stop_before (int) – Exit the constructor before specified step.
parent (QWidget) – Parent widget, if any.
in_knime (bool) – Whether we are currently running under KNIME - a mode in which input selector is hidden, optionally a custom Workspace Structure is specified, and buttom bar has OK & Cancel buttons.
workspace_st_file (bool) – Structure to be returned by getWorkspaceStructure() when in_knime is True.
- setPanelOptions()¶
- setup()¶
Along with the usual af2 setup actions (instantiating widgets and other objects, connecting signals, etc), this is the recommended place for setting aliases.
- setDefaults()¶
- reset()¶
- layOut()¶
- accept()¶
- run()¶
Show the dialog in modal mode. After dialog is closed, return None if user cancelled, or settings if user accepted.
- open()¶
Open the dialog in window-modal mode, without blocking. This makes it possible for user to interact with the Workspace while dialog is open.
- show(self)¶
- reject()¶
- onDialogDismissed()¶
Override this method with any logic that needs to run when the dialog is dismissed.
- help()¶
- property title¶
- DrawChildren = 2¶
- DrawWindowBackground = 1¶
- IgnoreMask = 4¶
- class PaintDeviceMetric(value)¶
Bases:
enum.Enum
An enumeration.
- PdmWidth = 1¶
- PdmHeight = 2¶
- PdmWidthMM = 3¶
- PdmHeightMM = 4¶
- PdmNumColors = 5¶
- PdmDepth = 6¶
- PdmDpiX = 7¶
- PdmDpiY = 8¶
- PdmPhysicalDpiX = 9¶
- PdmPhysicalDpiY = 10¶
- PdmDevicePixelRatio = 11¶
- PdmDevicePixelRatioScaled = 12¶
- PdmDepth = 6¶
- PdmDevicePixelRatio = 11¶
- PdmDevicePixelRatioScaled = 12¶
- PdmDpiX = 7¶
- PdmDpiY = 8¶
- PdmHeight = 2¶
- PdmHeightMM = 4¶
- PdmNumColors = 5¶
- PdmPhysicalDpiX = 9¶
- PdmPhysicalDpiY = 10¶
- PdmWidth = 1¶
- PdmWidthMM = 3¶
- class RenderFlag(value)¶
Bases:
enum.Flag
An enumeration.
- DrawWindowBackground = 1¶
- DrawChildren = 2¶
- IgnoreMask = 4¶
- acceptDrops(self) bool ¶
- accessibleDescription(self) str ¶
- accessibleName(self) str ¶
- actionEvent(self, a0: QActionEvent)¶
- actions(self) List[QAction] ¶
- activateWindow(self)¶
- addAction(self, action: QAction)¶
- addActions(self, actions: Iterable[QAction])¶
- adjustSize(self)¶
- applyAliasedSettings(settings)¶
Applies any aliased settings with new values from the dictionary. Any aliases not present in the settings dictionary will be left unchanged.
- Parameters
settings (dict) – a dictionary mapping aliases to new values to apply
- applySettings(settings, target=None)¶
- autoFillBackground(self) bool ¶
- backgroundRole(self) QPalette.ColorRole ¶
- baseSize(self) QSize ¶
- blockSignals(self, b: bool) bool ¶
- changeEvent(self, a0: QEvent)¶
- childAt(self, p: QPoint) QWidget ¶
- childAt(self, ax: int, ay: int) QWidget
- childEvent(self, a0: QChildEvent)¶
- children(self) List[QObject] ¶
- childrenRect(self) QRect ¶
- childrenRegion(self) QRegion ¶
- cleanup()¶
- clearFocus(self)¶
- clearMask(self)¶
- close(self) bool ¶
- closeEvent(event)¶
Close panel and quit application if this is a top level standalone window. Otherwise, hide the panel.
- colorCount(self) int ¶
- connectNotify(self, signal: QMetaMethod)¶
- contentsMargins(self) QMargins ¶
- contentsRect(self) QRect ¶
- contextMenuEvent(self, a0: QContextMenuEvent)¶
- contextMenuPolicy(self) Qt.ContextMenuPolicy ¶
- create(self, window: PyQt6.sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)¶
- createWindowContainer(window: QWindow, parent: typing.Optional[QWidget] = None, flags: Qt.WindowType = Qt.WindowFlags()) QWidget ¶
- cursor(self) QCursor ¶
- customContextMenuRequested¶
customContextMenuRequested(self, pos: QPoint) [signal]
- customEvent(self, a0: QEvent)¶
- definePanelSettings()¶
Override this method to define the settings for the panel. The aliased settings provide an interface for saving/restoring panel state as well as for interacting with task/job runners that need to access the panel state in a way that is agnostic to the specifics of widget names and types.
Each panel setting is defined by a tuple that specifies the mapping of alias to panel setting. An optional third element in the tuple can be used to group settings by category. This allows multiple settings to share the same alias.
Each setting can either point to a specific object (usually a qt widget), or a pair of setter/getter functions.
If the mapped object is a string, this will be interpreted by af2 as referring to an attribute on the panel, and a AttributeSettingWrapper instance will automatically be created. For example, specifying the string ‘num_atoms’ will create a mapping to self.num_atoms which will simply get and set the value of that instance member.
Custom setter and getter functions should take the form getter(), returning a value that can be encoded/decoded by JSON, and setter(value), where the type of value is the same as the return type of the getter.
Commonly used objects/widgets should be handled automatically in settings.py. It’s worth considering whether it makes more sense to use a custom setter/getter here or add support for the widget in settings.py.
- Returns
a list of tuples defining the custom settings.
- Return type
list of tuples. Each tuple can be of type (str, object, str) or (str, (callable, callable), str) where the final str is optional.
Custom settings tuples consists of up to three elements:
alias - a string identier for the setting. Ex. “box_centroid”
either:
an object of a type that is supported by settings.py or
the string name of an existing panel attribute (i.e. member variable), or
a (getter, setter) tuple. The getter should take no arguments, and the setter should take a single value.
optionally, a group identifier. This can be useful if the panel runs two different jobs that both have a parameter with the same name but that needs to map to different widgets. If a setting has a group name, it will be ignored by runners unless the runner name matches the group name.
- deleteLater(self)¶
- depth(self) int ¶
- destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)¶
- destroyed¶
destroyed(self, object: typing.Optional[QObject] = None) [signal]
- devType(self) int ¶
- devicePixelRatio(self) float ¶
- devicePixelRatioF(self) float ¶
- devicePixelRatioFScale() float ¶
- disconnect(a0: QMetaObject.Connection) bool ¶
- disconnect(self) None
- disconnectNotify(self, signal: QMetaMethod)¶
- dragEnterEvent(self, a0: QDragEnterEvent)¶
- dragLeaveEvent(self, a0: QDragLeaveEvent)¶
- dragMoveEvent(self, a0: QDragMoveEvent)¶
- dropEvent(self, a0: QDropEvent)¶
- dumpObjectInfo(self)¶
- dumpObjectTree(self)¶
- dynamicPropertyNames(self) List[QByteArray] ¶
- effectiveWinId(self) PyQt6.sip.voidptr ¶
- ensurePolished(self)¶
- enterEvent(self, event: QEnterEvent)¶
- error(text, preferences=None, key='', detailed_text=None)¶
Display an error dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.
- Parameters
text (str) – The information to display in the dialog
preferences – obsolete; ignored.
key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.
detailed_text (str) – Detailed (selectable) error text if any.
- Return type
None
- event(self, a0: QEvent) bool ¶
- eventFilter(self, a0: QObject, a1: QEvent) bool ¶
- find(a0: PyQt6.sip.voidptr) QWidget ¶
- findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject ¶
- findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
- findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject] ¶
- findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- focusInEvent(self, a0: QFocusEvent)¶
- focusNextChild(self) bool ¶
- focusNextPrevChild(self, next: bool) bool ¶
- focusOutEvent(self, a0: QFocusEvent)¶
- focusPolicy(self) Qt.FocusPolicy ¶
- focusPreviousChild(self) bool ¶
- focusProxy(self) QWidget ¶
- focusWidget(self) QWidget ¶
- font(self) QFont ¶
- fontInfo(self) QFontInfo ¶
- fontMetrics(self) QFontMetrics ¶
- foregroundRole(self) QPalette.ColorRole ¶
- frameGeometry(self) QRect ¶
- frameSize(self) QSize ¶
- geometry(self) QRect ¶
- getAliasedSettings()¶
- getAliasedValue(alias)¶
- getObjValue(obj)¶
- getPanelState()¶
Gets the current state of the panel in the form of a serializable dict. The state consists of the settings specified in definePanelSettings() as well as the automatically harvested settings.
- getPersistenceKey(alias)¶
Return a unique identifier for saving/restoring a setting in the preferences. Override this method to change the key scheme (this is necessary if creating a common resource which is shared by multiple panels).
- Parameters
alias (str) – the alias for which we are generating a key
- getSettings(target=None, ignore_list=None)¶
- grab(self, rectangle: QRect = QRect(QPoint(0, 0), QSize(- 1, - 1))) QPixmap ¶
- grabGesture(self, type: Qt.GestureType, flags: Qt.GestureFlag = Qt.GestureFlags())¶
- grabKeyboard(self)¶
- grabMouse(self)¶
- grabMouse(self, a0: Union[QCursor, Qt.CursorShape]) None
- grabShortcut(self, key: Union[QKeySequence, QKeySequence.StandardKey, str, int], context: Qt.ShortcutContext = Qt.WindowShortcut) int ¶
- graphicsEffect(self) QGraphicsEffect ¶
- graphicsProxyWidget(self) QGraphicsProxyWidget ¶
- gui_closed¶
- hasFocus(self) bool ¶
- hasHeightForWidth(self) bool ¶
- hasMouseTracking(self) bool ¶
- hasTabletTracking(self) bool ¶
- height(self) int ¶
- heightForWidth(self, a0: int) int ¶
- heightMM(self) int ¶
- hide(self)¶
- hideEvent(self, a0: QHideEvent)¶
- info(text, preferences=None, key='')¶
Display an information dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.
- Parameters
text (str) – The information to display in the dialog
preferences – obsolete; ignored.
key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.
- Return type
None
- inherits(self, classname: str) bool ¶
- initPainter(self, painter: QPainter)¶
- inputMethodEvent(self, a0: QInputMethodEvent)¶
- inputMethodHints(self) Qt.InputMethodHint ¶
- inputMethodQuery(self, a0: Qt.InputMethodQuery) Any ¶
- insertAction(self, before: QAction, action: QAction)¶
- insertActions(self, before: QAction, actions: Iterable[QAction])¶
- installEventFilter(self, a0: QObject)¶
- isActiveWindow(self) bool ¶
- isAncestorOf(self, child: QWidget) bool ¶
- isEnabled(self) bool ¶
- isEnabledTo(self, a0: QWidget) bool ¶
- isFullScreen(self) bool ¶
- isHidden(self) bool ¶
- isLeftToRight(self) bool ¶
- isMaximized(self) bool ¶
- isMinimized(self) bool ¶
- isModal(self) bool ¶
- isRightToLeft(self) bool ¶
- isSignalConnected(self, signal: QMetaMethod) bool ¶
- isVisible(self) bool ¶
- isVisibleTo(self, a0: QWidget) bool ¶
- isWidgetType(self) bool ¶
- isWindow(self) bool ¶
- isWindowModified(self) bool ¶
- isWindowType(self) bool ¶
- keyPressEvent(self, a0: QKeyEvent)¶
- keyReleaseEvent(self, a0: QKeyEvent)¶
- keyboardGrabber() QWidget ¶
- killTimer(self, id: int)¶
- layout(self) QLayout ¶
- layoutDirection(self) Qt.LayoutDirection ¶
- leaveEvent(self, a0: QEvent)¶
- loadPanelState(filename=None)¶
Load the panel state from a JSON file
- Parameters
filename (str) – the JSON filename. Defaults to “panelstate.json”
- loadPersistentOptions()¶
Load all persistent options from the preferences.
- locale(self) QLocale ¶
- logicalDpiX(self) int ¶
- logicalDpiY(self) int ¶
- lower(self)¶
- mapFrom(self, a0: QWidget, a1: QPoint) QPoint ¶
- mapFrom(self, a0: QWidget, a1: QPointF) QPointF
- mapFromGlobal(self, a0: QPoint) QPoint ¶
- mapFromGlobal(self, a0: QPointF) QPointF
- mapFromParent(self, a0: QPoint) QPoint ¶
- mapFromParent(self, a0: QPointF) QPointF
- mapTo(self, a0: QWidget, a1: QPoint) QPoint ¶
- mapTo(self, a0: QWidget, a1: QPointF) QPointF
- mapToGlobal(self, a0: QPoint) QPoint ¶
- mapToGlobal(self, a0: QPointF) QPointF
- mapToParent(self, a0: QPoint) QPoint ¶
- mapToParent(self, a0: QPointF) QPointF
- mask(self) QRegion ¶
- maximumHeight(self) int ¶
- maximumSize(self) QSize ¶
- maximumWidth(self) int ¶
- metaObject(self) QMetaObject ¶
- metric(self, a0: QPaintDevice.PaintDeviceMetric) int ¶
- minimumHeight(self) int ¶
- minimumSize(self) QSize ¶
- minimumSizeHint(self) QSize ¶
- minimumWidth(self) int ¶
- mouseDoubleClickEvent(self, a0: QMouseEvent)¶
- mouseGrabber() QWidget ¶
- mouseMoveEvent(self, a0: QMouseEvent)¶
- mousePressEvent(self, a0: QMouseEvent)¶
- mouseReleaseEvent(self, a0: QMouseEvent)¶
- move(self, a0: QPoint)¶
- move(self, ax: int, ay: int) None
- moveEvent(self, a0: QMoveEvent)¶
- moveToThread(self, thread: QThread)¶
- nativeEvent(self, eventType: QByteArray, message: PyQt6.sip.voidptr) Tuple[bool, PyQt6.sip.voidptr] ¶
- nativeParentWidget(self) QWidget ¶
- nextInFocusChain(self) QWidget ¶
- normalGeometry(self) QRect ¶
- objectName(self) str ¶
- objectNameChanged¶
objectNameChanged(self, objectName: str) [signal]
- overrideWindowFlags(self, type: Qt.WindowType)¶
- overrideWindowState(self, state: Qt.WindowState)¶
- paintEngine(self) QPaintEngine ¶
- paintEvent(self, a0: QPaintEvent)¶
- paintingActive(self) bool ¶
- palette(self) QPalette ¶
- parent(self) QObject ¶
- parentWidget(self) QWidget ¶
- physicalDpiX(self) int ¶
- physicalDpiY(self) int ¶
- pos(self) QPoint ¶
- previousInFocusChain(self) QWidget ¶
- property(self, name: str) Any ¶
- pyqtConfigure(...)¶
Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.
- question(msg, button1='OK', button2='Cancel', title='Question')¶
Display a prompt dialog window with specified text. Returns True if first button (default OK) is pressed, False otherwise.
- raise_(self)¶
- receivers(self, signal: PYQT_SIGNAL) int ¶
- rect(self) QRect ¶
- releaseKeyboard(self)¶
- releaseMouse(self)¶
- releaseShortcut(self, id: int)¶
- removeAction(self, action: QAction)¶
- removeEventFilter(self, a0: QObject)¶
- render(self, target: QPaintDevice, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlag = QWidget.RenderFlags(QWidget.DrawWindowBackground | QWidget.DrawChildren))¶
- render(self, painter: QPainter, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlag = QWidget.RenderFlags(QWidget.DrawWindowBackground | QWidget.DrawChildren)) None
- repaint(self)¶
- repaint(self, x: int, y: int, w: int, h: int) None
- repaint(self, a0: QRect) None
- repaint(self, a0: QRegion) None
- reportValidation(results)¶
Present validation messages to the user. This is an implmentation of the
ValidationMixin
interface and does not need to be called directly.This method assumes that
error
andquestion
methods have been defined in the subclass, as in e.g.widget_mixins.MessageBoxMixin
.- Parameters
results (
validation.ValidationResults
) – Set of validation results generated byvalidate
- Returns
if True, there were no validation errors and the user decided to continue despite any warnings. If False, there was at least one validation error or the user decided to abort when faced with a warning.
- resize(self, a0: QSize)¶
- resize(self, w: int, h: int) None
- resizeEvent(self, a0: QResizeEvent)¶
- restoreCursor(app_wide=True)¶
Restore the application level cursor to the default. If ‘app_wide’ is True then if will be restored for the entire application, if it’s False, it will be just for this panel.
- Parameters
app_wide (bool) – If True then this will restore the cursor for the entire application (including Maestro if running there). If False then this will apply only to this panel.
- restoreGeometry(self, geometry: QByteArray) bool ¶
- runCanvas()¶
This handles Canvas-specific logic
- runMaestro()¶
This can be extended in derived classes to perform maestro-only tasks such as setting up the mini-monitor or connecting maestro callbacks
- runMode()¶
- runStandalone()¶
- runSubpanel()¶
- runValidation(silent=False, validate_children=True, stop_on_fail=True)¶
Runs validation and reports the results (unless run silently).
- Parameters
silent (bool) – run without any reporting (i.e. error messages to the user). This is useful if we want to programmatically test validity. Changes return value of this method from
ValidationResults
to a boolean.validate_children (bool) – run validation on all child objects. See
_validateChildren
for documentation on what this entails.stop_on_fail (bool) – stop validation when first failure is encountered
- Returns
if silent is False, returns the validation results. If silent is True, returns a boolean generated by
reportValidation
.- Return type
ValidationResults
or bool
- saveGeometry(self) QByteArray ¶
- savePersistentOptions()¶
Store all persistent options to the preferences.
- screen(self) QScreen ¶
- scroll(self, dx: int, dy: int)¶
- scroll(self, dx: int, dy: int, a2: QRect) None
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- setAcceptDrops(self, on: bool)¶
- setAccessibleDescription(self, description: str)¶
- setAccessibleName(self, name: str)¶
- setAlias(alias, obj, persistent=False)¶
Sets an alias to conveniently access an object.
- Parameters
alias (hashable) – any hashable, but typically a string name
obj (object) – the actual object to be referenced
persistent (bool) – whether to make the setting persistent
- setAliasedValue(alias, value)¶
- setAliases(alias_dict, persistent=False)¶
Sets multiple aliases at once. Already used aliases are overwritten; other existing aliases are not affected.
- Parameters
alias_dict (dict) – map of aliases to objects
persistent (bool) – whether to make the settings persistent
- setAttribute(self, attribute: Qt.WidgetAttribute, on: bool = True)¶
- setAutoFillBackground(self, enabled: bool)¶
- setBackgroundRole(self, a0: QPalette.ColorRole)¶
- setBaseSize(self, basew: int, baseh: int)¶
- setBaseSize(self, s: QSize) None
- setContentsMargins(self, left: int, top: int, right: int, bottom: int)¶
- setContentsMargins(self, margins: QMargins) None
- setContextMenuPolicy(self, policy: Qt.ContextMenuPolicy)¶
- setCursor(self, a0: Union[QCursor, Qt.CursorShape])¶
- setDisabled(self, a0: bool)¶
- setEnabled(self, a0: bool)¶
- setFixedHeight(self, h: int)¶
- setFixedSize(self, a0: QSize)¶
- setFixedSize(self, w: int, h: int) None
- setFixedWidth(self, w: int)¶
- setFocus(self)¶
- setFocus(self, reason: Qt.FocusReason) None
- setFocusPolicy(self, policy: Qt.FocusPolicy)¶
- setFocusProxy(self, a0: QWidget)¶
- setFont(self, a0: QFont)¶
- setForegroundRole(self, a0: QPalette.ColorRole)¶
- setGeometry(self, a0: QRect)¶
- setGeometry(self, ax: int, ay: int, aw: int, ah: int) None
- setGraphicsEffect(self, effect: QGraphicsEffect)¶
- setHidden(self, hidden: bool)¶
- setInputMethodHints(self, hints: Qt.InputMethodHint)¶
- setLayout(self, a0: QLayout)¶
- setLayoutDirection(self, direction: Qt.LayoutDirection)¶
- setLocale(self, locale: QLocale)¶
- setMask(self, a0: QBitmap)¶
- setMask(self, a0: QRegion) None
- setMaximumHeight(self, maxh: int)¶
- setMaximumSize(self, maxw: int, maxh: int)¶
- setMaximumSize(self, s: QSize) None
- setMaximumWidth(self, maxw: int)¶
- setMinimumHeight(self, minh: int)¶
- setMinimumSize(self, minw: int, minh: int)¶
- setMinimumSize(self, s: QSize) None
- setMinimumWidth(self, minw: int)¶
- setMouseTracking(self, enable: bool)¶
- setObjValue(obj, value)¶
- setObjectName(self, name: str)¶
- setPalette(self, a0: QPalette)¶
- setPanelState(state)¶
Resets the panel and then sets the panel to the specified state
- Parameters
state (PanelState) – the panel state to set. This object should originate from a call to getPanelState()
- setParent(self, parent: QWidget)¶
- setParent(self, parent: QWidget, f: Qt.WindowType) None
- setPersistent(alias=None)¶
Set options to be persistent. Any options to be made persistent must be aliased, since the alias is used to form the preference key. If no alias is specified, all aliased settings will be made persistent.
- Parameters
alias (str or None) – the alias to save, or None
- setProperty(self, name: str, value: Any) bool ¶
- setScreen(self, a0: QScreen)¶
- setShortcutAutoRepeat(self, id: int, enabled: bool = True)¶
- setShortcutEnabled(self, id: int, enabled: bool = True)¶
- setSizeIncrement(self, w: int, h: int)¶
- setSizeIncrement(self, s: QSize) None
- setSizePolicy(self, a0: QSizePolicy)¶
- setSizePolicy(self, hor: QSizePolicy.Policy, ver: QSizePolicy.Policy) None
- setStatusTip(self, a0: str)¶
- setStyle(self, a0: QStyle)¶
- setStyleSheet(self, styleSheet: str)¶
- setTabOrder(a0: QWidget, a1: QWidget)¶
- setTabletTracking(self, enable: bool)¶
- setToolTip(self, a0: str)¶
- setToolTipDuration(self, msec: int)¶
- setUpdatesEnabled(self, enable: bool)¶
- setVisible(self, visible: bool)¶
- setWaitCursor(app_wide=True)¶
Set the cursor to the wait cursor. This will be an hourglass, clock or similar. Call restoreCursor() to return to the default cursor.
- Parameters
app_wide (bool) – If True then this will apply to the entire application (including Maestro if running there). If False then this will apply only to this panel.
- setWhatsThis(self, a0: str)¶
- setWindowFilePath(self, filePath: str)¶
- setWindowFlag(self, a0: Qt.WindowType, on: bool = True)¶
- setWindowFlags(self, type: Qt.WindowType)¶
- setWindowIcon(self, icon: QIcon)¶
- setWindowIconText(self, a0: str)¶
- setWindowModality(self, windowModality: Qt.WindowModality)¶
- setWindowModified(self, a0: bool)¶
- setWindowOpacity(self, level: float)¶
- setWindowRole(self, a0: str)¶
- setWindowState(self, state: Qt.WindowState)¶
- setWindowTitle(self, a0: str)¶
- showEvent(show_event)¶
Override the normal processing when the panel is shown.
- showFullScreen(self)¶
- showMaximized(self)¶
- showMinimized(self)¶
- showNormal(self)¶
- signalsBlocked(self) bool ¶
- size(self) QSize ¶
- sizeHint(self) QSize ¶
- sizeIncrement(self) QSize ¶
- sizePolicy(self) QSizePolicy ¶
- stackUnder(self, a0: QWidget)¶
- startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int ¶
- startUp()¶
- staticMetaObject = <PyQt6.QtCore.QMetaObject object>¶
- statusTip(self) str ¶
- style(self) QStyle ¶
- styleSheet(self) str ¶
- tabletEvent(self, a0: QTabletEvent)¶
- testAttribute(self, attribute: Qt.WidgetAttribute) bool ¶
- thread(self) QThread ¶
- timerEvent(self, a0: QTimerEvent)¶
- toolTip(self) str ¶
- toolTipDuration(self) int ¶
- tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str ¶
- underMouse(self) bool ¶
- ungrabGesture(self, type: Qt.GestureType)¶
- unsetCursor(self)¶
- unsetLayoutDirection(self)¶
- unsetLocale(self)¶
- update(self)¶
- update(self, a0: QRect) None
- update(self, a0: QRegion) None
- update(self, ax: int, ay: int, aw: int, ah: int) None
- updateGeometry(self)¶
- updateMicroFocus(self, query: Qt.InputMethodQuery = Qt.ImQueryAll)¶
- updatesEnabled(self) bool ¶
- visibleRegion(self) QRegion ¶
- warning(text, preferences=None, key='')¶
Display a warning dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.
- Parameters
text (str) – The information to display in the dialog
preferences – obsolete; ignored.
key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.
- Return type
None
- whatsThis(self) str ¶
- wheelEvent(self, a0: QWheelEvent)¶
- width(self) int ¶
- widthMM(self) int ¶
- winId(self) PyQt6.sip.voidptr ¶
- window(self) QWidget ¶
- windowFilePath(self) str ¶
- windowFlags(self) Qt.WindowType ¶
- windowHandle(self) QWindow ¶
- windowIcon(self) QIcon ¶
- windowIconChanged¶
windowIconChanged(self, icon: QIcon) [signal]
- windowIconText(self) str ¶
- windowIconTextChanged¶
windowIconTextChanged(self, iconText: str) [signal]
- windowModality(self) Qt.WindowModality ¶
- windowOpacity(self) float ¶
- windowRole(self) str ¶
- windowState(self) Qt.WindowState ¶
- windowTitle(self) str ¶
- windowTitleChanged¶
windowTitleChanged(self, title: str) [signal]
- windowType(self) Qt.WindowType ¶
- writePanelState(filename=None)¶
Write the panel state to a JSON file
- Parameters
filename (str) – the JSON filename. Defaults to “panelstate.json”
- x(self) int ¶
- y(self) int ¶
- schrodinger.ui.qt.appframework2.settings.get_preference_handler()¶
Gets the af2 global prefence handler. This handler is used for storing persistent settings via this module.
- schrodinger.ui.qt.appframework2.settings.get_persistent_value(key, default=<object object>)¶
Loads a saved value for the given key from the preferences.
- Parameters
key (str) – the preference key
default – the default value to return if the key is not found. If a default is not specified, a KeyError will be raised if the key is not found.
- schrodinger.ui.qt.appframework2.settings.set_persistent_value(key, value)¶
Save a value to the preferences.
- Parameters
key (str) – the preference key
value (any type accepted by the preferences module) – the value to store
- schrodinger.ui.qt.appframework2.settings.remove_preference_key(key)¶
Delete a persistent keypair from the preferences.
- Parameters
key (str) – the preference key to remove
- schrodinger.ui.qt.appframework2.settings.generate_preference_key(obj, tag)¶
Automatically generates a preference key based on the given object’s class name, module name, and a string tag.
Since persistant settings are intended to be used across sessions, keys are associated with class definitions, not instances.
- Parameters
obj (object) – the object (usually a panel) with which the value is associated
tag (str) – a string identifier for the piece of data being stored