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¶
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.
- columnsReplaced¶
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.
- 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¶
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.
- cancelRequested¶
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.
- collectDiagnosticsRequested¶
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.
- deleteJobRecordRequested¶
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__(*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
andbottom_layout
.If the user has specified the
ui
data member, insert the resultantui_widget
intomain_layout
.If the widget already has a layout defined, this method will produce a warning (but not a traceback).
main_layout
andbottom_layout
will be inserted into the existing widget layout, which will not be the same aswidget_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¶
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__(*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)
- 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.