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

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

__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.

onProjectUpdate()

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