schrodinger.application.job_monitor.job_monitor_table module

class schrodinger.application.job_monitor.job_monitor_table.JobTableSpec(*args, _param_type=<object object>, **kwargs)

Bases: schrodinger.ui.qt.mapperwidgets.plptable.TableSpec

Columns go: Indicator Icon | # | Job Name | Progress | Last Updated | “Next” Icon

indicator = <schrodinger.ui.qt.mapperwidgets.plptable.FieldColumn object>
relative_id = <schrodinger.ui.qt.mapperwidgets.plptable.FieldColumn object>
jobname = <schrodinger.ui.qt.mapperwidgets.plptable.ParamColumn object>
progress = <schrodinger.ui.qt.mapperwidgets.plptable.ParamColumn object>
updated = <schrodinger.ui.qt.mapperwidgets.plptable.ParamColumn object>
arrow = <schrodinger.ui.qt.mapperwidgets.plptable.ParamColumn object>
arrow_tooltip_display(job_model)
updated_tooltip_display(job_model)
indicator_icon(job_model)
jobname_display(job_model)
jobname_tooltip_display(job_model)
current_progress_display(job_model)
download_icon_tooltip(job_model)
updated_display(job_model)
font_role(job_model)

All columns are italic when a job is no longer active

updated_font(job_model)

Updated column is always italic

jobname_text_alignment(job_model)
text_alignment_role(job_model)
foreground_role(job_model)

All columns are italic when a job is no longer active (until the job files are downloaded) and in gray color while the active jobs are in black color.

updated_foreground(job_model)
updated_sort_role(job_model)

Sort ‘Last Updated’ column based on UTC epoch time when the job was last updated.

sort_role(field)
columnsChanged

A pyqtSignal emitted by instances of the class.

columnsReplaced

A pyqtSignal emitted by instances of the class.

class schrodinger.application.job_monitor.job_monitor_table.JobTableWidget(*args, **kwargs)

Bases: schrodinger.ui.qt.mapperwidgets.plptable.PLPTableWidget

Variables

deleteJobRecordRequested (QtCore.pyqtSignal) – Signal emitted when ‘Delete Job Record’ right-click menu-item is clicked. Emitted with a list of job ids.

stopRequested

A pyqtSignal emitted by instances of the class.

cancelRequested

A pyqtSignal emitted by instances of the class.

collectDiagnosticsRequested

A pyqtSignal emitted by instances of the class.

deleteJobRecordRequested

A pyqtSignal emitted by instances of the class.

__init__(*args, **kwargs)
Parameters
  • spec (TableSpec) – Table specification. Will be ignored if autospec is True.

  • autospec (bool) – Whether to automatically generate the table specification from the PLP item fields.

  • plp (parameters.ParamListParam) – ParamListParam containing data. It is more common to set the plp using mappers.

  • view (QtWidgets.QTableView) – Custom table view instance. If None, an instance of table_helper.SampleDataTableView will be created.

saveSelection()
restoreSelection()

Restore previously saved selection of jobs in the table.

initLayOut()

Create a vertical layout for the widget (widget_layout) and populate it with two vertical sub-layouts: main_layout and bottom_layout.

If the user has specified the ui data member, insert the resultant ui_widget into main_layout.

If the widget already has a layout defined, this method will produce a warning (but not a traceback). main_layout and bottom_layout will be inserted into the existing widget layout, which will not be the same as widget_layout. It is therefore recommended that this mixin is used only with widgets that do not already have a layout.

Suggested subclass use: create, initialize, and populate layouts.

onContextMenuRequested(pos)
refresh()

Trigger a repaint of the table, letting the “last updated” column recalculate how long it’s been since the job model was updated

class schrodinger.application.job_monitor.job_monitor_table.HorizontalHeader

Bases: PyQt6.QtWidgets.QHeaderView

__init__()
mouseReleaseEvent(ev)

Do not make first and last columns sortable

class schrodinger.application.job_monitor.job_monitor_table.TableProxy

Bases: PyQt6.QtCore.QIdentityProxyModel

headerData(section, orientation, role)

Job name column header should be left aligned

See Qt documentation for additional method documentation.

class schrodinger.application.job_monitor.job_monitor_table.JobTableDelegate(view)

Bases: schrodinger.ui.qt.delegates.MouseTrackingDelegateMixin, PyQt6.QtWidgets.QStyledItemDelegate

paint(painter, option, index)

Don’t paint focus around table cells (its just a dotted line around the cell you clicked on)

class schrodinger.application.job_monitor.job_monitor_table.JobDetailsArrowDelegate(*args, **kwargs)

Bases: schrodinger.application.job_monitor.job_monitor_table.JobTableDelegate

A delegate that paints an arrow when hovering over a row, signifying that there is a job details pane awaiting a click

Variables

clicked (QtCore.pyqtSignal) – a signal emitted when the arrow delegate is left-clicked. Emitted with the index of the cell that is clicked.

clicked

A pyqtSignal emitted by instances of the class.

__init__(*args, **kwargs)
Parameters

view (QtWidgets.QTableView) – The view that this delegate will be added to. Note that mouse tracking will be enabled in the view

paint(painter, option, index)

Don’t paint focus around table cells (its just a dotted line around the cell you clicked on)

editorEvent(event, model, option, index)

Handle mouse clicks: Emit the clicked signal when the left button of mouse on the cell is released.

class schrodinger.application.job_monitor.job_monitor_table.JobProgressDelegate(view)

Bases: schrodinger.application.job_monitor.job_monitor_table.JobTableDelegate

A delegate that paints a progress bar if the job is running and has set a max progress, otherwise just paints the status. Also paints the download status indicator for the completed jobs.

paint(painter, option, index)

Don’t paint focus around table cells (its just a dotted line around the cell you clicked on)

class schrodinger.application.job_monitor.job_monitor_table.SubJobTableWidget(*args, **kwargs)

Bases: schrodinger.application.job_monitor.job_monitor_table.JobTableWidget

schrodinger.application.job_monitor.job_monitor_table.get_updated_time_display(updated_time)

Return the updated timestamp for the last updated field of job.

Parameters

updated_time (float) – UTC epoch time when the job was last updated

Return type

str

schrodinger.application.job_monitor.job_monitor_table.get_updated_time_tooltip(updated_time)

Return the updated timestamp for the tooltip of last updated field of job.

Parameters

updated_time (float) – UTC epoch time when the job was last updated

Return type

str

schrodinger.application.job_monitor.job_monitor_table.get_icon_path_for_status(status, requested_status=RequestedStatus.NONE)

” Return the requisite icon’s path according to the status.

Parameters

requested_status (RequestedStatus) – Requested status job is in.