schrodinger.ui.qt.appframework2.jobwidgets module

class schrodinger.ui.qt.appframework2.jobwidgets.JobSettingsButton(runner=None, **kwargs)

Bases: schrodinger.ui.qt.appframework2.taskwidgets.SettingsButton

The “gear”button from the job bar. This button connects with a job runner and provides access to the config dialog, as well as write, write STU, and reset functionality.

__init__(runner=None, **kwargs)
Parameters
  • runner (tasks.AbstractTaskRunner) – the runner to connect to this task bar

  • task_reset (bool) – whether to include a separate task reset action. Otherwise, reset will emit a global reset signal

populateMenu()
maestroJobPreferences()

Open the Maestro preference panel with Jobs/Starting node selected.

onClicked()
writeAction()
writeSTUAction()
resetAction()
getConfigDialog()
connectRunner(runner)

Sets the task runner object for this UI and connects signals. If there is already a runner connected to this UI, it will first be disconnected before connecting the new runner. Passing in None will leave the UI not connected to anything.

Parameters

runner (tasks.AbstractTaskRunner) – the task runner to act as a model for this UI

validateAndApplyConfig()
class schrodinger.ui.qt.appframework2.jobwidgets.JobBar(runner=None, label_text='Job name:', button_text='Run', task_reset=True)

Bases: schrodinger.ui.qt.appframework2.taskwidgets.TaskBar

A re-implementation of the standard Schrodinger job bar. To use, simply instantiate and connect a job runner.

Variables

SETTINGS_BUTTON_CLASS (:class:JobSettingsButton) – the class used for the settings (“gear”) button

SETTINGS_BUTTON_CLASS

alias of schrodinger.ui.qt.appframework2.jobwidgets.JobSettingsButton

__init__(runner=None, label_text='Job name:', button_text='Run', task_reset=True)
Parameters
  • runner (tasks.AbstractTaskRunner) – the runner to connect to this task bar

  • label_text (str) – text label associated with the task name field

  • button_text (str) – text on the “start” button

  • show_spinner (bool) – whether to show a progress spinner

  • task_reset (bool) – whether to include a separate task reset action. Otherwise, reset will emit a global reset signal

setup()
layOut()
onStartPressed()
class schrodinger.ui.qt.appframework2.jobwidgets.MiniJobBar(runner=None, label_text='Job name:', button_text='Run', task_reset=True)

Bases: schrodinger.ui.qt.appframework2.jobwidgets.JobBar

setup()
layOut()
class schrodinger.ui.qt.appframework2.jobwidgets.JobMonitorButton(runner=None)

Bases: schrodinger.ui.qt.appframework2.taskwidgets.SpinToolButton

A re-implementation of the mini-monitor button from appframework. Instantiating this object also creates the mini-monitor itself.

__init__(runner=None)
connectRunner(runner)

Sets the task runner object for this UI and connects signals. If there is already a runner connected to this UI, it will first be disconnected before connecting the new runner. Passing in None will leave the UI not connected to anything.

Parameters

runner (tasks.AbstractTaskRunner) – the task runner to act as a model for this UI

disconnectRunner()

Disconnects the current runner from this UI. When subclassing, first perform any subclass-specific disconnection logic before calling the parent class’ disconnectRunner(). If there is no runner connected, this method will do nothing.

onRunnerStateChanged()
class schrodinger.ui.qt.appframework2.jobwidgets.JobTableColumns

Bases: schrodinger.ui.qt.appframework2.taskwidgets.TaskTableColumns

HEADERS = ['Job Name', 'Status']
class schrodinger.ui.qt.appframework2.jobwidgets.JobTableModel

Bases: schrodinger.ui.qt.appframework2.taskwidgets.TaskTableModel

COLUMN

alias of schrodinger.ui.qt.appframework2.jobwidgets.JobTableColumns

class schrodinger.ui.qt.appframework2.jobwidgets.FilteredJobTableModel(parent=None)

Bases: PyQt6.QtCore.QSortFilterProxyModel

A simple proxy model to filter out completed jobs, which should not appear in the mini monitor

__init__(parent=None)
filterAcceptsRow(self, source_row: int, source_parent: QModelIndex) bool
class schrodinger.ui.qt.appframework2.jobwidgets.JobTableWidget(runner=None)

Bases: schrodinger.ui.qt.appframework2.taskwidgets.TaskTableWidget

A widget containing the job table with its proxy as well as the status label, and a button for accessing the main job monitor.

MODEL_CLASS

alias of schrodinger.ui.qt.appframework2.jobwidgets.JobTableModel

setup()
layOut()
updateStatusLabel()
openMainMonitor()
class schrodinger.ui.qt.appframework2.jobwidgets.ConfigDialog(jobrunner)

Bases: schrodinger.ui.qt.appframework2.settings.BaseOptionsPanel

A re-implementation of the Schrodinger Job Settings dialog.

__init__(jobrunner)
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.

setupOutputGroup()
setupJobGroup()
layOut()
run()

Show the dialog in modal mode. After dialog is closed, return None if user cancelled, or settings if user accepted.

getConfigFromRunner()
applyConfigToRunner()
onHostChanged()
getPersistenceKey(alias)

Overrides the parent method so that settings keys are based on the job runner, not the config dialog class (which would result in multiple job runners sharing the same job settings). See parent class for more information.

class schrodinger.ui.qt.appframework2.jobwidgets.HostSelector

Bases: PyQt6.QtWidgets.QComboBox

loadHosts(hosts=None, exclude_gpus=True)
currentHost()
setCurrentHost(host)
af2SettingsGetValue()
af2SettingsSetValue(name)
class schrodinger.ui.qt.appframework2.jobwidgets.IncorporationSelector

Bases: PyQt6.QtWidgets.QComboBox

__init__()
af2SettingsGetValue()
af2SettingsSetValue(disp)