schrodinger.project.manager module

class schrodinger.project.manager.EntryGroupManager(parent=None, group_name=None, parent_group_name=None)

Bases: PyQt6.QtCore.QObject

Manage interactions with an entry group specified by a unique name. The manager is necessary because the entry group object itself may become inaccessible and change its properties if it loses all of its entries.

groupTitleChanged
__init__(parent=None, group_name=None, parent_group_name=None)

Initialize this object by specifying the unique name of the managed entry group.

property group

Return the entry group being managed if it is accessible. This is important, for example, if all of the entries are removed from an entry group.

Returns

The entry group, if it exists in the project.

Return type

project.EntryGroup or None

property name
Returns

the unique entry group name

Return type

str

property parent_group
property parent_group_name
Returns

the unique name of the parent group, if any

Return type

str

property title

Return the title stored with this manager. By default it is the group name that this manager was initialized with, but it can be set directly by calling setTitle. It should be automatically updated via maestro callback if the entry group title is changed by the user in the project table.

Returns

the entry group name

Return type

str

moveToGroup(entry_ids)

Move the specified entry IDs to this group.

This is preferred over row.moveToGroup if parent_group_name is specified, because it will create the group with the correct nesting.

blockSignals(self, bool) bool
childEvent(self, QChildEvent)
children(self) List[QObject]
connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
deleteLater(self)
destroyed

destroyed(self, object: QObject = None) [signal]

disconnect(QMetaObject.Connection) bool
disconnect(self) None
disconnectNotify(self, QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) List[QByteArray]
event(self, QEvent) bool
eventFilter(self, QObject, QEvent) bool
findChild(self, type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChild(self, Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChildren(self, type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, type, QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, Tuple, QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
inherits(self, str) bool
installEventFilter(self, QObject)
isSignalConnected(self, QMetaMethod) bool
isWidgetType(self) bool
isWindowType(self) bool
killTimer(self, int)
metaObject(self) QMetaObject
moveToThread(self, QThread)
objectName(self) str
objectNameChanged

objectNameChanged(self, str) [signal]

onProjectUpdate()

Respond to changes in the Maestro project by updating locally-cached variables. Meant to be called from a Maestro callback.

parent(self) QObject
property(self, 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.

receivers(self, PYQT_SIGNAL) int
removeEventFilter(self, QObject)
sender(self) QObject
senderSignalIndex(self) int
setObjectName(self, str)
setParent(self, QObject)
setProperty(self, str, Any) bool
signalsBlocked(self) bool
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int
staticMetaObject = <PyQt6.QtCore.QMetaObject object>
thread(self) QThread
timerEvent(self, QTimerEvent)
tr(str, disambiguation: str = None, n: int = - 1) str