schrodinger.ui.qt.tasks.taskwidgets module¶
- schrodinger.ui.qt.tasks.taskwidgets.get_spin_icons()¶
- schrodinger.ui.qt.tasks.taskwidgets.get_error_icon()¶
- class schrodinger.ui.qt.tasks.taskwidgets.SpinnerLabel(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.tasks.taskwidgets._SpinnerMixin
,schrodinger.ui.qt.tasks.taskbarwidgets.TaskWidgetMixin
,PyQt6.QtWidgets.QLabel
- clicked¶
A
pyqtSignal
emitted by instances of the class.
- __init__(*args, **kwargs)¶
- mousePressEvent(self, ev: Optional[QMouseEvent])¶
- setImage(image)¶
- class schrodinger.ui.qt.tasks.taskwidgets.ProgressBar(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.tasks.taskbarwidgets.TaskWidgetMixin
,PyQt6.QtWidgets.QProgressBar
Progress bar for a running task. For AbstractTask, this monitors the task.status, task.progress, and task.max_progress and updates accordingly. For TaskManager, this monitors taskman.status only.
Set max_progress to 0 for an indeterminate progress bar. Both progress and max_progress may be adjusted while the task is running.
Determinate progress is only supported for tasks. For a taskmanager, the progress dialog will run as long as any task in the taskmanager is running.
- __init__(*args, **kwargs)¶
- defineMappings()¶
Override this in the subclass to define mappings. Should return a list of tuples [(<target>, <param>)]. Targets can be:
a basic widget, like
QLineEdit
orQComboBox
a custom object that inherits
MapperMixin
orTargetMixin
a
TargetSpec
instancea slot
For common widgets, standard signals and getter/setter methods will be used, as defined in
mappers._get_default_access_names()
.For more fine-grained custom control, instantiate a
TargetSpec
object, which allows custom setters, getters, and signals to be specified.Supplying a slot as the first element of the tuple is equivalent to providing
TargetSpec(slot=my_slot)
.Note that all target slots are triggered on
setModel()
as well as in response to the specified signal.The param is an abstract param reference, e.g. MyModel.my_param.
Example:
def defineMappings(self): combo = self.style_combo return [(self.name_le, MyModel.name), (TargetSpec(combo, getter=combo.currentText, setter=combo.setCurrentText), MyModel.style), (self.coord_widget, MyModel.coord), (self._onASLTextChanged, MyModel.asl_text)]
- setModel(model)¶
Sets the model object for the mapper. Disconnects the old model, if one is set, and connects the new model. Pass in None to have no model set.
- Parameters
model – the model instance or None
- updateStatus()¶
- updateProgress()¶
Updates the numerical progress. Not called for TaskManager.
- isRunning()¶
- class schrodinger.ui.qt.tasks.taskwidgets.ProgressDialog(*args, **kwargs)¶
Bases:
schrodinger.models.advanced_mappers.MultiModelClassMapperMixin
,schrodinger.ui.qt.basewidgets.BaseWidget
A basic modal progress dialog that shows itself whenever its model task is running and hides itself whenever it’s not running. The dialog contains a ProgressBar instance and a text label, which can be set with setLabelText.
Calling setTask with a running task will result in the dialog immediately being shown.
- model_classes = (<class 'schrodinger.tasks.tasks.AbstractTask'>, <class 'schrodinger.tasks.taskmanager.TaskManager'>)¶
- SHOW_AS_WINDOW = True¶
- initSetUp()¶
Creates widget from
ui
and stores itui_widget
.Suggested subclass use: create and initialize subwidgets, and connect signals.
- initLayOut()¶
@overrides: widgetmixins.InitMixin
- setTask(task)¶
- setModel(model)¶
Sets the model object for the mapper. Disconnects the old model, if one is set, and connects the new model. Pass in None to have no model set.
- Parameters
model – the model instance or None
- setLabelText(text)¶
- defineMappings()¶
Override this in the subclass to define mappings. Should return a list of tuples [(<target>, <param>)]. Targets can be:
a basic widget, like
QLineEdit
orQComboBox
a custom object that inherits
MapperMixin
orTargetMixin
a
TargetSpec
instancea slot
For common widgets, standard signals and getter/setter methods will be used, as defined in
mappers._get_default_access_names()
.For more fine-grained custom control, instantiate a
TargetSpec
object, which allows custom setters, getters, and signals to be specified.Supplying a slot as the first element of the tuple is equivalent to providing
TargetSpec(slot=my_slot)
.Note that all target slots are triggered on
setModel()
as well as in response to the specified signal.The param is an abstract param reference, e.g. MyModel.my_param.
Example:
def defineMappings(self): combo = self.style_combo return [(self.name_le, MyModel.name), (TargetSpec(combo, getter=combo.currentText, setter=combo.setCurrentText), MyModel.style), (self.coord_widget, MyModel.coord), (self._onASLTextChanged, MyModel.asl_text)]
- updateStatus()¶
- isRunning()¶
- class schrodinger.ui.qt.tasks.taskwidgets.KillableProgressDialog(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.tasks.taskwidgets.ProgressDialog
A
ProgressDialog
with a “Cancel” button that kills the running task.- initSetUp()¶
Creates widget from
ui
and stores itui_widget
.Suggested subclass use: create and initialize subwidgets, and connect signals.
- initLayOut()¶
@overrides: widgetmixins.InitMixin
- class schrodinger.ui.qt.tasks.taskwidgets.StatusLabel(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.tasks.taskbarwidgets.TaskWidgetMixin
,PyQt6.QtWidgets.QLabel
- defineMappings()¶
Override this in the subclass to define mappings. Should return a list of tuples [(<target>, <param>)]. Targets can be:
a basic widget, like
QLineEdit
orQComboBox
a custom object that inherits
MapperMixin
orTargetMixin
a
TargetSpec
instancea slot
For common widgets, standard signals and getter/setter methods will be used, as defined in
mappers._get_default_access_names()
.For more fine-grained custom control, instantiate a
TargetSpec
object, which allows custom setters, getters, and signals to be specified.Supplying a slot as the first element of the tuple is equivalent to providing
TargetSpec(slot=my_slot)
.Note that all target slots are triggered on
setModel()
as well as in response to the specified signal.The param is an abstract param reference, e.g. MyModel.my_param.
Example:
def defineMappings(self): combo = self.style_combo return [(self.name_le, MyModel.name), (TargetSpec(combo, getter=combo.currentText, setter=combo.setCurrentText), MyModel.style), (self.coord_widget, MyModel.coord), (self._onASLTextChanged, MyModel.asl_text)]
- setStatus(value)¶
- class schrodinger.ui.qt.tasks.taskwidgets.StartButton(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.utils.ButtonAcceptsFocusMixin
,schrodinger.ui.qt.tasks.taskbarwidgets.TaskWidgetMixin
,PyQt6.QtWidgets.QPushButton
A button responsible for launching a task.
- Variables
aboutToStartTask (QtCore.pyqtSignal) – a signal emitted just before the task is launched; contains the task instance as an argument
- aboutToStartTask¶
A
pyqtSignal
emitted by instances of the class.
- __init__(*args, **kwargs)¶
- updateEnabled(value=None)¶
- defineMappings()¶
Override this in the subclass to define mappings. Should return a list of tuples [(<target>, <param>)]. Targets can be:
a basic widget, like
QLineEdit
orQComboBox
a custom object that inherits
MapperMixin
orTargetMixin
a
TargetSpec
instancea slot
For common widgets, standard signals and getter/setter methods will be used, as defined in
mappers._get_default_access_names()
.For more fine-grained custom control, instantiate a
TargetSpec
object, which allows custom setters, getters, and signals to be specified.Supplying a slot as the first element of the tuple is equivalent to providing
TargetSpec(slot=my_slot)
.Note that all target slots are triggered on
setModel()
as well as in response to the specified signal.The param is an abstract param reference, e.g. MyModel.my_param.
Example:
def defineMappings(self): combo = self.style_combo return [(self.name_le, MyModel.name), (TargetSpec(combo, getter=combo.currentText, setter=combo.setCurrentText), MyModel.style), (self.coord_widget, MyModel.coord), (self._onASLTextChanged, MyModel.asl_text)]
- onClicked()¶
- class schrodinger.ui.qt.tasks.taskwidgets.SpinnerStartButton(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.tasks.taskwidgets._SpinnerMixin
,schrodinger.ui.qt.tasks.taskwidgets.StartButton
- __init__(*args, **kwargs)¶
- setImage(image)¶
- class schrodinger.ui.qt.tasks.taskwidgets.SettingsButton(*args, **kwargs)¶
Bases:
PyQt6.QtWidgets.QToolButton
- __init__(*args, **kwargs)¶
- setActions(text_to_slots)¶
Set the actions to show for the settings menu that popups when pressing the down arrow on the button.
- Parameters
text_to_slots (list[tuple(str, callable) or None]) – A list of tuples mapping the desired menu item text with the function that should be called when the item is selected. If tuple is
None
, then a separator will be added instead and the text will be ignored.
- class schrodinger.ui.qt.tasks.taskwidgets.AbstractTaskBar(*args, **kwargs)¶
Bases:
schrodinger.models.mappers.MapperMixin
,schrodinger.ui.qt.basewidgets.BaseWidget
Base class for all taskbars. To create a fully customized taskbar, subclass this class and make sure that startRequested is emitted whenever a task should be started.
- model_class¶
- startRequested¶
A
pyqtSignal
emitted by instances of the class.
- setConfigDialog(config_dialog)¶
Set a config dialog for this taskbar.
Subclasses should define this if they support a config dialog.
- makeInitialModel()¶
@overrides: mappers.MapperMixin
- setSettingsMenuActions(text_to_slots)¶
Set the actions to show for the settings menu shown from the settings tool button.
Subclasses should define this if they have a settings button.
- Parameters
text_to_slots (list[tuple(str, callable) or None]) – A list of tuples mapping the desired menu item text with the function that should be called when the item is selected. If the slot is
None
, then a separator will be added instead and the text will be ignored.
- class schrodinger.ui.qt.tasks.taskwidgets.TaskBar(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.tasks.taskwidgets.AbstractTaskBar
- initSetUp()¶
Creates widget from
ui
and stores itui_widget
.Suggested subclass use: create and initialize subwidgets, and connect signals.
- initFinalize()¶
Suggested subclass use: perform any remaining initialization.
- setConfigDialog(config_dialog)¶
Set a config dialog for this taskbar.
Subclasses should define this if they support a config dialog.
- showConfigDialog()¶
- initLayOut()¶
@overrides: widgetmixins.InitMixin
- setModel(model)¶
Sets the model object for the mapper. Disconnects the old model, if one is set, and connects the new model. Pass in None to have no model set.
- Parameters
model – the model instance or None
- setSettingsMenuActions(text_to_slots)¶
Set the actions to show for the settings menu shown from the settings tool button.
- Parameters
text_to_slots (list[tuple(str, callable) or None]) – A list of tuples mapping the desired menu item text with the function that should be called when the item is selected. If the slot is
None
, then a separator will be added instead and the text will be ignored.
- defineMappings()¶
Override this in the subclass to define mappings. Should return a list of tuples [(<target>, <param>)]. Targets can be:
a basic widget, like
QLineEdit
orQComboBox
a custom object that inherits
MapperMixin
orTargetMixin
a
TargetSpec
instancea slot
For common widgets, standard signals and getter/setter methods will be used, as defined in
mappers._get_default_access_names()
.For more fine-grained custom control, instantiate a
TargetSpec
object, which allows custom setters, getters, and signals to be specified.Supplying a slot as the first element of the tuple is equivalent to providing
TargetSpec(slot=my_slot)
.Note that all target slots are triggered on
setModel()
as well as in response to the specified signal.The param is an abstract param reference, e.g. MyModel.my_param.
Example:
def defineMappings(self): combo = self.style_combo return [(self.name_le, MyModel.name), (TargetSpec(combo, getter=combo.currentText, setter=combo.setCurrentText), MyModel.style), (self.coord_widget, MyModel.coord), (self._onASLTextChanged, MyModel.asl_text)]
- class schrodinger.ui.qt.tasks.taskwidgets.JobTaskBar(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.tasks.taskwidgets.TaskBar
- initSetUp()¶
Creates widget from
ui
and stores itui_widget
.Suggested subclass use: create and initialize subwidgets, and connect signals.