schrodinger.application.job_monitor.job_monitor_widgets module

class schrodinger.application.job_monitor.job_monitor_widgets.JobsListPane(*args, **kwargs)

Bases: schrodinger.application.job_monitor.job_monitor_widgets._BasePane

This is the pane you start on when opening the job monitor. It contains widgets to stop or cancel jobs, filter jobs, open preferences, and a table that shows top level jobs

ui_module = <module 'schrodinger.application.job_monitor.top_level_view_ui' from '/scr/buildbot/savedbuilds/2024-4/NB/build-117/internal/lib/python3.11/site-packages/schrodinger/application/job_monitor/top_level_view_ui.py'>
model_class

alias of schrodinger.application.job_monitor.job_monitor_models.JobMonitorPanelModel

initSetUp()

Creates widget from ui and stores it ui_widget.

Suggested subclass use: create and initialize subwidgets, and connect signals.

initLayOut()

@overrides: widgetmixins.InitMixin

defineMappings()

Override this in the subclass to define mappings. Should return a list of tuples [(<target>, <param>)]. Targets can be:

  1. a basic widget, like QLineEdit or QComboBox

  2. a custom object that inherits MapperMixin or TargetMixin

  3. a TargetSpec instance

  4. a 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)]
getSignalsAndSlots(model)

Override this method to specify signal and slot pairs that need to be connected/disconnected whenever the model instance is switched using setModel. The model instance is provided as an argument so that instance-specific signals can be used, but any pairs of signals and slots may be returned from this method.

Returns

a list of 2-tuples where each tuple is a signal, slot pair

refreshJobTable()

Update the stop and cancel buttons after the job table gets refreshed.

viewJobDetails(index)
onProjFilterChanged()
refilterJobs()

Filter jobs based on whether we’re showing active jobs only, current project jobs only.

toggleActiveFilter()
onActiveJobsOnlyChanged()
toggleProjectFilter()
stopSelected()
cancelSelected()
updateStopCancelButtons()

Update the enabled status of the stop and cancel buttons.

class schrodinger.application.job_monitor.job_monitor_widgets.JobDetailsPane(*args, **kwargs)

Bases: schrodinger.application.job_monitor.job_monitor_widgets._BasePane

The job details pane is opened when a user double clicks a job in a job table. It shows info on the selected job and the selected job’s top level job ancestor. It has back buttons to return to the Jobs List Pane.

model_class

alias of schrodinger.application.job_monitor.job_monitor_models.JobMonitorPanelModel

initSetUp()

Creates widget from ui and stores it ui_widget.

Suggested subclass use: create and initialize subwidgets, and connect signals.

initLayOut()

@overrides: widgetmixins.InitMixin

defineMappings()

Override this in the subclass to define mappings. Should return a list of tuples [(<target>, <param>)]. Targets can be:

  1. a basic widget, like QLineEdit or QComboBox

  2. a custom object that inherits MapperMixin or TargetMixin

  3. a TargetSpec instance

  4. a 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)]
switchTopLevelJob(to_next)

Switch to the next toplevel job if to_next is True else to the previous toplevel job. :param to_next: value indicator for next or previous :type to_next: bool

switchSubJob(to_next)

Switch to the next sub job if to_next is True else to the previous sub job. :param to_next: value indicator for next or previous :type to_next: bool

onCurrentJobChanged()

Insert sub-jobs table or no_subjobs_widget in sub-jobs tab based on whether the job has atleast a sub-job or not.

viewJobDetails(index)
onSubJobBack()
onTopLevelBack()
class schrodinger.application.job_monitor.job_monitor_widgets.JobBar(*args, **kwargs)

Bases: schrodinger.ui.qt.swidgets.StyleMixin, schrodinger.models.mappers.MapperMixin, schrodinger.ui.qt.basewidgets.BaseWidget

model_class

alias of schrodinger.application.job_monitor.job_monitor_models.JobModel

BUTTON_TEXT = NotImplemented
initSetUp()

Creates widget from ui and stores it ui_widget.

Suggested subclass use: create and initialize subwidgets, and connect signals.

initLayOut()

@overrides: widgetmixins.InitMixin

defineMappings()

Override this in the subclass to define mappings. Should return a list of tuples [(<target>, <param>)]. Targets can be:

  1. a basic widget, like QLineEdit or QComboBox

  2. a custom object that inherits MapperMixin or TargetMixin

  3. a TargetSpec instance

  4. a 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)]
getButtonWithIcon(icon_path, object_name)

Return a QPushButton with the clickable pointing hand cursor and icon specified by icon_path.

Parameters
  • icon_path (str) – The path to the icon

  • object_name (str) – Name for the button’s object

Returns

The button with the icon specified

Return type

QtWidgets.QPushButton

class schrodinger.application.job_monitor.job_monitor_widgets.TopLevelJobBar(*args, **kwargs)

Bases: schrodinger.application.job_monitor.job_monitor_widgets.JobBar

This widget will show the back button to take the GUI back to the top level job table, and info (name, progress) of the top level job

BUTTON_TEXT = 'Jobs List'
initLayOut()

@overrides: widgetmixins.InitMixin

class schrodinger.application.job_monitor.job_monitor_widgets.SubJobBar(*args, **kwargs)

Bases: schrodinger.application.job_monitor.job_monitor_widgets.JobBar

This widget will show the back button to take the GUI back to the parent’s subjob table, and info (name, progress) of the selected sub job

BUTTON_TEXT = 'Sub-Jobs List'
__init__(*args, **kwargs)
initLayOut()

@overrides: widgetmixins.InitMixin

resizeEvent(self, a0: Optional[QResizeEvent])
updateButtonText()
incrementNestingLevel()
decrementNestingLevel()
resetNestingLevel()
class schrodinger.application.job_monitor.job_monitor_widgets.StatusIcon(*args, **kwargs)

Bases: schrodinger.models.mappers.TargetMixin, schrodinger.ui.qt.standard_widgets.buttons.FlatButton

targetSetValue(new_status)
class schrodinger.application.job_monitor.job_monitor_widgets.JobInfoWidget(*args, **kwargs)

Bases: schrodinger.ui.qt.swidgets.StyleMixin, schrodinger.models.mappers.MapperMixin, schrodinger.ui.qt.basewidgets.BaseWidget

This widget shows info (program, host, directory, started time) of the currently selected job (top level or subjob)

ui_module = <module 'schrodinger.application.job_monitor.job_info_view_ui' from '/scr/buildbot/savedbuilds/2024-4/NB/build-117/internal/lib/python3.11/site-packages/schrodinger/application/job_monitor/job_info_view_ui.py'>
model_class

alias of schrodinger.application.job_monitor.job_monitor_models.JobMonitorPanelModel

initSetUp()

Creates widget from ui and stores it ui_widget.

Suggested subclass use: create and initialize subwidgets, and connect signals.

initLayOut()

@overrides: widgetmixins.InitMixin

defineMappings()

Override this in the subclass to define mappings. Should return a list of tuples [(<target>, <param>)]. Targets can be:

  1. a basic widget, like QLineEdit or QComboBox

  2. a custom object that inherits MapperMixin or TargetMixin

  3. a TargetSpec instance

  4. a 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)]
getSignalsAndSlots(model)

Override this method to specify signal and slot pairs that need to be connected/disconnected whenever the model instance is switched using setModel. The model instance is provided as an argument so that instance-specific signals can be used, but any pairs of signals and slots may be returned from this method.

Returns

a list of 2-tuples where each tuple is a signal, slot pair

resizeEvent(self, a0: Optional[QResizeEvent])
updateProjectLabelVisibility()

Display the selected job’s project name, when jobs from all the projects are shown.

setDirectoryPath()