schrodinger.ui.qt.mapperwidgets.plptable module¶
Framework to simplify creating Qt tables based on parameters.ParamListParam (PLP). A PLP is a type of list param where each element is itself a compound param. These can be naturally represented as tables where each item in the list is a row in the table, and individual subparams (fields) of the item are shown as cells in the row. See scripts/examples/models/plptable_gui.py for an example.
To create a plptable, you first need a model object with a ParamListParam that contains the source data. Each item in the list corresponds to a row in the table, and the cells in that row are based on the fields in that item. For example:
class Contact(parameters.CompoundParam):
name = parameters.StringParam()
phone_number = parameters.StringParam()
email = parameters.StringParam()
class Model(parameters.CompoundParam):
contacts = parameters.ParamListParam(item_class=Contact)
In the simplest case, a PLPTableWidget can be instantiated with autospec=True, resulting in a very basic table with one column for each field in the PLP item class:
model = Model()
table = plptable.PLPTableWidget(plp=model.contacts, autospec=True)
Typically, it is desirable to customize the column contents and how the data in the list item is used to populate the columns. This is accomplished by sub- classing the TableSpec class to create a table specification. A table spec defines the columns in a table and provides the data methods used to populate the cells in each column.
In the example above, we might want to split the name into separate first and last name columns and turn the email into a hyperlink. This could be done with the following table spec:
class ContactTableSpec(plptable.TableSpec):
@plptable.FieldColumn(Contact.name)
def first_name(self, field):
return field.split()[0]
@plptable.FieldColumn(Contact.name)
def last_name(self, field):
return field.split()[-1]
phone_number = plptable.FieldColumn(Contact.phone_number)
@plptable.FieldColumn(Contact.email)
def email(self, field):
return f'<a href = "mailto: {field}">{field}</a>'
Notice that there are two ways to declare a column - either with a class attribute or a decorated data method.
Once a spec is defined, it can be applied to a PLPTableWidget
using the
setSpec
method.
For more information, see TableSpec
as well as the various column classes.
- class schrodinger.ui.qt.mapperwidgets.plptable.FieldColumn(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.mapperwidgets.plptable._BaseColumn
A FieldColumn is a column in which each cell receives the data from a single subparam (i.e. field) of one item in the PLP.:
@FieldColumn(ItemClass.subparam) def my_data_method(self, field) field: the value of the param field associated with this row
- __init__(field, **kwargs)¶
- Parameters
field (parameters.Param) – An abstract param representing the field this column represents or uses.
- setData(all_rows, this_row, data, role=ItemDataRole.EditRole)¶
- data(all_rows, this_row, role=ItemDataRole.DisplayRole)¶
Get the corresponding data for the column for the specified role.
- data_method(*roles, role=ItemDataRole.DisplayRole)¶
A decorator that marks a method to be used as a data method for the column. The method will be used as the data method whenever data for
role
orroles
is requested.- Parameters
roles – The roles that this data method should be used for. All positional arguments will be considered a part of
roles
and should be hashable.role (Hashable) – Keyword-only argument. The role to assign to the data method. Usually enums are used for roles but theoretically any hashable object can be used.
- generateColumn(table_spec)¶
Creates a copy of this column to be used as instance members of TableSpec instances. This allows separate instances and subclasses of a TableSpec to modify columns without altering the original class attribute, which is considered an “abstract” column.
- Parameters
table_spec (TableSpec) – the table spec instance that will own the generated column instance.
- getNumColumns(all_rows)¶
Get the number of columns this column has. Generally this is just one but some children classes define more than one column.
- Parameters
all_rows (list(parameters.CompoundParam)) – A list of the rows that make up the table.
- Returns
The number of columns.
- Return type
int
- headerData(all_rows, role=ItemDataRole.DisplayRole)¶
- headerData_method(*roles, role=ItemDataRole.DisplayRole)¶
A decorator that marks a method to be used as a header data method for the column. The method will be used as the data method whenever data for
role
orroles
is requested for the header row. Header data methods are passed the entire PLP.- Parameters
roles – The roles that this data method should be used for. All positional arguments will be considered a part of
roles
and should be hashable.role (Hashable) – Keyword-only argument. The role to assign to the data method. Usually enums are used for roles but theoretically any hashable object can be used.
- setData_method(role=ItemDataRole.EditRole)¶
A decorator for specifying a setData method for the column.
- class schrodinger.ui.qt.mapperwidgets.plptable.ParamColumn(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.mapperwidgets.plptable._BaseColumn
A ParamColumn is a column in which each cell receives one entire item from the PLP. It’s up to the data method to decide how to convert the item into something that can be used by the cell.
@ParamColumn() def my_data_method(self, this_row) this_row: the model object for this row.
- __init__(title=None, editable=False, tooltip=None, sample_data='')¶
- Parameters
title (str or None) – The title of the column. This string will be shown in the header cell of the column. If
None
, the title will default to the variable name the column is set to.editable (bool) – Whether the cells in the column are editable. If
editable
is set toTrue
, then double clicking a cell in the column will allow the user to input a string.tooltip (str or None) – The string to populate the tooltip with.
- data(all_rows, this_row, role=ItemDataRole.DisplayRole)¶
Get the corresponding data for the column for the specified role.
- data_method(*roles, role=ItemDataRole.DisplayRole)¶
A decorator that marks a method to be used as a data method for the column. The method will be used as the data method whenever data for
role
orroles
is requested.- Parameters
roles – The roles that this data method should be used for. All positional arguments will be considered a part of
roles
and should be hashable.role (Hashable) – Keyword-only argument. The role to assign to the data method. Usually enums are used for roles but theoretically any hashable object can be used.
- generateColumn(table_spec)¶
Creates a copy of this column to be used as instance members of TableSpec instances. This allows separate instances and subclasses of a TableSpec to modify columns without altering the original class attribute, which is considered an “abstract” column.
- Parameters
table_spec (TableSpec) – the table spec instance that will own the generated column instance.
- getNumColumns(all_rows)¶
Get the number of columns this column has. Generally this is just one but some children classes define more than one column.
- Parameters
all_rows (list(parameters.CompoundParam)) – A list of the rows that make up the table.
- Returns
The number of columns.
- Return type
int
- headerData(all_rows, role=ItemDataRole.DisplayRole)¶
- headerData_method(*roles, role=ItemDataRole.DisplayRole)¶
A decorator that marks a method to be used as a header data method for the column. The method will be used as the data method whenever data for
role
orroles
is requested for the header row. Header data methods are passed the entire PLP.- Parameters
roles – The roles that this data method should be used for. All positional arguments will be considered a part of
roles
and should be hashable.role (Hashable) – Keyword-only argument. The role to assign to the data method. Usually enums are used for roles but theoretically any hashable object can be used.
- setData(all_rows, this_row, data, role=ItemDataRole.EditRole)¶
- setData_method(role=ItemDataRole.EditRole)¶
A decorator for specifying a setData method for the column.
- class schrodinger.ui.qt.mapperwidgets.plptable.PLPColumn(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.mapperwidgets.plptable._BaseColumn
A PLPColumn is a column in which each cell receives the entire PLP (i.e. the entire table’s data). This allows each cell’s contents to account for data in other rows in the table. It’s up to the data method to decide how to use the entire table data in each individual cell.
@PLPColumn() def my_data_method(self, all_rows, this_row): all_rows: a list where each element is the model object for one row this_row: the model object for this row
- __init__(title=None, editable=False, tooltip=None, sample_data='')¶
- Parameters
title (str or None) – The title of the column. This string will be shown in the header cell of the column. If
None
, the title will default to the variable name the column is set to.editable (bool) – Whether the cells in the column are editable. If
editable
is set toTrue
, then double clicking a cell in the column will allow the user to input a string.tooltip (str or None) – The string to populate the tooltip with.
- data(all_rows, this_row, role=ItemDataRole.DisplayRole)¶
Get the corresponding data for the column for the specified role.
- data_method(*roles, role=ItemDataRole.DisplayRole)¶
A decorator that marks a method to be used as a data method for the column. The method will be used as the data method whenever data for
role
orroles
is requested.- Parameters
roles – The roles that this data method should be used for. All positional arguments will be considered a part of
roles
and should be hashable.role (Hashable) – Keyword-only argument. The role to assign to the data method. Usually enums are used for roles but theoretically any hashable object can be used.
- generateColumn(table_spec)¶
Creates a copy of this column to be used as instance members of TableSpec instances. This allows separate instances and subclasses of a TableSpec to modify columns without altering the original class attribute, which is considered an “abstract” column.
- Parameters
table_spec (TableSpec) – the table spec instance that will own the generated column instance.
- getNumColumns(all_rows)¶
Get the number of columns this column has. Generally this is just one but some children classes define more than one column.
- Parameters
all_rows (list(parameters.CompoundParam)) – A list of the rows that make up the table.
- Returns
The number of columns.
- Return type
int
- headerData(all_rows, role=ItemDataRole.DisplayRole)¶
- headerData_method(*roles, role=ItemDataRole.DisplayRole)¶
A decorator that marks a method to be used as a header data method for the column. The method will be used as the data method whenever data for
role
orroles
is requested for the header row. Header data methods are passed the entire PLP.- Parameters
roles – The roles that this data method should be used for. All positional arguments will be considered a part of
roles
and should be hashable.role (Hashable) – Keyword-only argument. The role to assign to the data method. Usually enums are used for roles but theoretically any hashable object can be used.
- setData(all_rows, this_row, data, role=ItemDataRole.EditRole)¶
- setData_method(role=ItemDataRole.EditRole)¶
A decorator for specifying a setData method for the column.
- class schrodinger.ui.qt.mapperwidgets.plptable.ColumnSeries(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.mapperwidgets.plptable.PLPColumn
- getNumColumns(all_rows)¶
Call the
column_count
method to see how many columns make up the series.- Parameters
all_rows (list(parameters.CompoundParam)) – A list of the rows that make up the table.
- Returns
The number of columns in the series
- Return type
int
- column_count(*args)¶
Decorator to designate a function to calculate the number of columns in the series.
- data(col_idx, all_rows, this_row, role=ItemDataRole.DisplayRole)¶
Get the corresponding data for the column for the specified role.
- setData(all_rows, this_row, data, role=ItemDataRole.EditRole)¶
- headerData(col_idx, all_rows, role=ItemDataRole.DisplayRole)¶
- __init__(title=None, editable=False, tooltip=None, sample_data='')¶
- Parameters
title (str or None) – The title of the column. This string will be shown in the header cell of the column. If
None
, the title will default to the variable name the column is set to.editable (bool) – Whether the cells in the column are editable. If
editable
is set toTrue
, then double clicking a cell in the column will allow the user to input a string.tooltip (str or None) – The string to populate the tooltip with.
- data_method(*roles, role=ItemDataRole.DisplayRole)¶
A decorator that marks a method to be used as a data method for the column. The method will be used as the data method whenever data for
role
orroles
is requested.- Parameters
roles – The roles that this data method should be used for. All positional arguments will be considered a part of
roles
and should be hashable.role (Hashable) – Keyword-only argument. The role to assign to the data method. Usually enums are used for roles but theoretically any hashable object can be used.
- generateColumn(table_spec)¶
Creates a copy of this column to be used as instance members of TableSpec instances. This allows separate instances and subclasses of a TableSpec to modify columns without altering the original class attribute, which is considered an “abstract” column.
- Parameters
table_spec (TableSpec) – the table spec instance that will own the generated column instance.
- headerData_method(*roles, role=ItemDataRole.DisplayRole)¶
A decorator that marks a method to be used as a header data method for the column. The method will be used as the data method whenever data for
role
orroles
is requested for the header row. Header data methods are passed the entire PLP.- Parameters
roles – The roles that this data method should be used for. All positional arguments will be considered a part of
roles
and should be hashable.role (Hashable) – Keyword-only argument. The role to assign to the data method. Usually enums are used for roles but theoretically any hashable object can be used.
- setData_method(role=ItemDataRole.EditRole)¶
A decorator for specifying a setData method for the column.
- class schrodinger.ui.qt.mapperwidgets.plptable.TableSpec(*args, _param_type=<object object>, **kwargs)¶
Bases:
schrodinger.models.parameters.CompoundParam
A class that represents the specification of a
PLPTable
. The spec’s role is to specify what columns to display, in what order, and with what data.To create a table spec, subclass TableSpec and add columns and data methods to define the behavior of the table.
Abstract columns are used to specify the order and existence of columns in the table. They are class attributes (e.g. AtomWeightsSpec.atom_number).
The default set of abstract columns on a spec is given by inheritance from the TableSpec base class. This may be customized with the corresponding getter and setter, e.g.:
cols = spec.getAbstractColumns() cols.remove(spec.atom_number) spec.setAbstractColumns(cols)
Concrete columns (or simply “columns”, without “abstract”) are a ListParam defined on TableSpec instances. The list of concrete columns is read-only, but attributes of individual column objects may be mutated on a table instance.
- __init__()¶
- columns: list¶
A Param to represent lists. Values of this param will have a
mutated
signal that will be emitted whenever any mutation method is called.The constructor optionally takes a
item_class
keyword argument to specify what type of class the items in the list will be. This information will be used for jsonifying the list if specified.
- getColumns()¶
Returns the concrete columns, according to their current ordering.
- Returns
List of concrete columns according to the spec’s current column ordering.
- Return type
list(_BaseColumn)
- getAbstractColumns()¶
Getter method for column ordering.
- Returns
List of abstract columns according to the spec’s current column ordering.
- Return type
list(_BaseColumn)
- setAbstractColumns(new_order: list(_BaseColumn)) None ¶
Setter method for column ordering.
- Parameters
new_order (list(_BaseColumn)) – List of abstract columns in the new desired column order.
- classmethod makeAutoSpec(plp: schrodinger.models.parameters.ParamListParam) schrodinger.ui.qt.mapperwidgets.plptable.TableSpec ¶
Make a TableSpec instance from a PLP (from a table’s model.)
- Parameters
plp (parameters.ParamListParam) – a
ParamListParam
to use as the domain model for this table
- headerData(col_idx, all_rows, role)¶
- data(col_idx, all_rows, this_row, role)¶
- setData(col_idx, all_rows, this_row, value, role=ItemDataRole.EditRole)¶
- getColumn(col_idx, all_rows)¶
- getNumColumns(all_rows)¶
- getColumnIndex(column, all_rows)¶
Note that for
column
of typeColumnSeries
we return the index of the 0th column in the series.- Parameters
column (Subclass instance of _BaseColumn) – Column to return the index for.
all_rows (parameters.ParamListParam) – All rows of the plp table.
- Returns
Column index.
- Return type
int
- Raises
KeyError – If
column
not found in the table spec.
- DataClass¶
This class can be used to declare a public attribute on a
CompoundParam
. Declared public attributes can be used without error.Example usage:
class Coord(CompoundParam): x: int y: int note = NonParamAttribute() coord = Coord() coord.note = "hello" # No error
- classmethod addSubParam(name, param, update_owner=True)¶
- blockSignals(self, b: bool) bool ¶
- block_signal_propagation()¶
- childEvent(self, a0: QChildEvent)¶
- children(self) List[QObject] ¶
- columnsChanged¶
- columnsReplaced¶
- classmethod configureParam()¶
Override this class method to set up the abstract param class (e.g. setParamReference on child params.)
- connectNotify(self, signal: QMetaMethod)¶
- customEvent(self, a0: QEvent)¶
- classmethod defaultValue()¶
Returns the default value for this abstract param:
default_atom = Atom.defaultValue() assert Atom.coord.x == 0
- deleteLater(self)¶
- destroyed¶
destroyed(self, object: typing.Optional[QObject] = None) [signal]
- disconnect(a0: QMetaObject.Connection) bool ¶
- disconnect(self) None
- disconnectNotify(self, signal: QMetaMethod)¶
- dumpObjectInfo(self)¶
- dumpObjectTree(self)¶
- dynamicPropertyNames(self) List[QByteArray] ¶
- event(self, a0: QEvent) bool ¶
- eventFilter(self, a0: QObject, a1: QEvent) bool ¶
- findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject ¶
- findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
- findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject] ¶
- findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- classmethod fromJson(json_obj)¶
A factory method which constructs a new object from a given dict loaded from a json string or file.
- Parameters
json_obj (dict) – A json-loaded dictionary to create an object from.
- Returns
An instance of this class.
- Return type
cls
- classmethod fromJsonImplementation(json_dict)¶
Sets the value of this compound param value object from a JSON dict.
Warning
This should never be called directly.
- getAbstractParam()¶
Return the corresponding abstract param for this instance.
- classmethod getJsonBlacklist()¶
Override to customize what params are serialized.
Implementations should return a list of abstract params that should be omitted from serialization.
- ..NOTE
Returned abstract params must be direct child params of
cls
, e.g.cls.name
, notcls.coord.x
.
- classmethod getParamSignal(obj, signal_type='Changed')¶
- classmethod getParamValue(obj)¶
Enables access to a param value on a compound param via an abstract param reference:
a = Atom() assert Atom.coord.x.getParamValue(a) == 0 # ints default to 0 a.coord.x = 3 assert Atom.coord.x.getParamValue(a) == 3
- Parameters
param (CompoundParam) – The owner param to get a param value from
- classmethod getSubParam(name)¶
Get the value of a subparam using the string name:
c = Coord() assert c.getSubParam('x') == 0
Note
Using the string name to access params is generally discouraged, but can be useful for serializing/deserializing param data.
- Parameters
name (str) – The name of the subparam to get the value for.
- classmethod getSubParams()¶
Return a dictionary mapping subparam names to their values.
- getTypeHint()¶
- get_version()¶
Method to get the version of a particular object. Defaults to the current version of mmshare. This class can be overridden for custom versioning behavior.
- inherits(self, classname: str) bool ¶
- initAbstract()¶
- initConcrete()¶
Override to customize initialization of concrete params.
- initializeValue()¶
Override to dynamically set up the default value of the param. Useful for default values that are determined at runtime. This is called any time the param is reset.
- installEventFilter(self, a0: QObject)¶
- classmethod isAbstract()¶
Whether the param is an “abstract” param.
- isDefault()¶
Whether the current value of this instance matches the default value.
- isSignalConnected(self, signal: QMetaMethod) bool ¶
- isWidgetType(self) bool ¶
- isWindowType(self) bool ¶
- killTimer(self, id: int)¶
- metaObject(self) QMetaObject ¶
- moveToThread(self, thread: QThread)¶
- objectName(self) str ¶
- objectNameChanged¶
objectNameChanged(self, objectName: str) [signal]
- classmethod owner()¶
Get the owner of the param:
# Can be called on an abstract param: assert Coord.x.owner() == Coord # ...or on an instance of a CompoundParam a = Atom() assert a.coord.owner() == a
- classmethod ownerChain()¶
Returns a list of param owners starting from the toplevel param and ending with self. Examples:
foo.bar.atom.coord.ownerChain()
will return[foo, bar, atom, coord]
where every item is a concrete param.Foo.bar.atom.coord.x.ownerChain()
will return[Foo, Foo.bar, Foo.atom.coord, Foo.atom.coord.x]
where every item is an abstract params.
- classmethod paramName()¶
Get the name of the param:
# Can be called on an abstract param: print(Coord.x.paramName()) # 'x' # ...or on an instance of a CompoundParam a = Atom() a.coord.paramName() # 'coord'
- parent(self) QObject ¶
- property(self, name: str) Any ¶
- pyqtConfigure(...)¶
Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.
- receivers(self, signal: PYQT_SIGNAL) int ¶
- removeEventFilter(self, a0: QObject)¶
- reset(*abstract_params)¶
Resets this compound param to its default value:
class Line(CompoundParam): start = Coord(x=1, y=2) end = Coord(x=4, y=5) line = Line() line.start.x = line.end.x = 10 assert line.start.x == line.end.x == 10 line.reset() assert line.start.x == 1 assert line.end.x == 4
Any number of abstract params may be passed in to perform a partial reset of only the specified params:
line.start.x = line.end.x = 10 line.reset(Line.start.x) # resets just start.x assert line.start.x == 1 assert line.end.x == 10 line.reset(Line.end) # resets the entire end point assert line.end.x == 4 line.start.y = line.end.y = 10 line.reset(Line.start.y, Line.end.y) # resets the y-coord of both assert line.start.y == 2 assert line.end.y == 5
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- setObjectName(self, name: str)¶
- classmethod setParamValue(obj, value)¶
Set the value of a param on an object by specifying the instance and the value:
# Setting the param value of a basic param a = Atom() Atom.coord.x.setParamValue(a, 5) assert a.coord.x == 5 # setParamValue can also be used to set the value of CompoundParams c = Coord() c.x = 10 atom.coord.setParamValue(a, c) assert atom.coord.x == 10
- Parameters
param – The owner param to set a subparam value of.
value – The value to set the subparam value to.
- setParent(self, a0: QObject)¶
- setProperty(self, name: str, value: Any) bool ¶
- classmethod setReference(param1, param2)¶
Call this class method from configureParam to indicate that two params should be kept in sync. The initial values will start with the default value of
param1
. Example:class Square(CompoundParam): width: float = 5 height: float = 10 @classmethod def configureParam(cls): super().configureParam() cls.setReference(cls.width, cls.height) square = Square() assert square.width == square.height == 5 # Default value of width # takes priority square.height = 7 assert square.width == square.height == 7 square.width = 6 assert square.width == square.height == 6
- Parameters
param1 – The first abstract param to keep synced
param2 – The second abstract param. After instantiation, this param will take on the value of param1.
- setValue(value=None, **kwargs)¶
Set the value of this
CompoundParam
to matchvalue
.- Parameters
value – The value to set this
CompoundParam
to. It should be the same type as thisCompoundParam
.kwargs – For internal use only.
- signalsBlocked(self) bool ¶
- skip_eq_check()¶
- startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int ¶
- staticMetaObject = <PyQt6.QtCore.QMetaObject object>¶
- thread(self) QThread ¶
- timerEvent(self, a0: QTimerEvent)¶
- toDict()¶
Return a dictionary version of this
CompoundParam
. The returned dictionary is fully nested and contains noCompoundParam
instancesa = Atom() a_dict = a.toDict() assert a_dict['coord']['x'] == 0 assert a_dict['coord'] == {'x':0, 'y':0}
- toJson(_mark_version=True)¶
Create and returns a data structure made up of jsonable items.
- Return type
An instance of one the classes from NATIVE_JSON_DATATYPES
- toJsonImplementation()¶
Returns a JSON representation of this value object.
Warning
This should never be called directly.
- tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str ¶
- valueChanged¶
- class schrodinger.ui.qt.mapperwidgets.plptable.PLPTableWidget(*args, spec=None, autospec=False, plp=None, view=None, **kwargs)¶
Bases:
schrodinger.models.mappers.TargetMixin
,schrodinger.ui.qt.basewidgets.BaseWidget
A table widget for displaying data in a ParamListParam. Compatible with mappers.TargetParamMapper and mappers.MapperMixin.
Typically this class is instantiated directly, and defining the behavior of the table is done by creating a custom TableSpec subclass.
- __init__(*args, spec=None, autospec=False, plp=None, view=None, **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.
- property spec¶
- setSpec(new_spec)¶
Apply a new table specification to this table.
- Parameters
new_spec (TableSpec or None) – the new table spec
- initSetUp()¶
Creates widget from
ui
and stores itui_widget
.Suggested subclass use: create and initialize subwidgets, and connect signals.
- 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.
- addProxy(proxy_model)¶
- targetGetValue()¶
Implementation of an abstract method in TargetMixin.
- targetSetValue(value)¶
Implementation of an abstract method in TargetMixin.
Creates a table model based on the spec, loads the PLP as data, and sets the newly created table model on the view.
- makeAutoSpec(plp: schrodinger.models.parameters.ParamListParam) schrodinger.ui.qt.mapperwidgets.plptable.TableSpec ¶
Wrapper for backwards compatibility.
- loadPLP(plp)¶
Replace the current contents of the table PLP with the contents of the supplied
plp
argument.- Parameters
plp (parameters.ParamListParam) – a
ParamListParam
of the same type that is used as the domain model for this table
- setPLP(plp)¶
Set the supplied PLP as the new model for the table.
- Parameters
plp (list(parameters.CompoundParam)) – The PLP representing the table data.
- selectedParams()¶
- removeSelectedParams()¶
Deletes parameters if they are selected in the table.
- setSelectedParams(params)¶
Selects the table rows corresponding to the specified params.
- Parameters
params – a list of params to select
- removeRow(row_num)¶
- exportToCsv(filename)¶
- getRowData()¶
- Returns
a list of lists, where each list represents the row of a table
- Return type
list[list[object]]
- getColumnIndex(column)¶
Note that for
column
of typeColumnSeries
we return the index of the 0th column in the series.- Parameters
column (Subclass instance of _BaseColumn) – Column to return the index for.
- Returns
Column index.
- Return type
int
- Raises
KeyError – If
column
not found in the table.
- APPLY_LEGACY_STYLESHEET = True¶
- APPLY_PANELX_STYLESHEET = False¶
- DrawChildren = 2¶
- DrawWindowBackground = 1¶
- IgnoreMask = 4¶
- class PaintDeviceMetric(value)¶
Bases:
enum.Enum
An enumeration.
- PdmWidth = 1¶
- PdmHeight = 2¶
- PdmWidthMM = 3¶
- PdmHeightMM = 4¶
- PdmNumColors = 5¶
- PdmDepth = 6¶
- PdmDpiX = 7¶
- PdmDpiY = 8¶
- PdmPhysicalDpiX = 9¶
- PdmPhysicalDpiY = 10¶
- PdmDevicePixelRatio = 11¶
- PdmDevicePixelRatioScaled = 12¶
- PdmDepth = 6¶
- PdmDevicePixelRatio = 11¶
- PdmDevicePixelRatioScaled = 12¶
- PdmDpiX = 7¶
- PdmDpiY = 8¶
- PdmHeight = 2¶
- PdmHeightMM = 4¶
- PdmNumColors = 5¶
- PdmPhysicalDpiX = 9¶
- PdmPhysicalDpiY = 10¶
- PdmWidth = 1¶
- PdmWidthMM = 3¶
- class RenderFlag(value)¶
Bases:
enum.Flag
An enumeration.
- DrawWindowBackground = 1¶
- DrawChildren = 2¶
- IgnoreMask = 4¶
- SHOW_AS_WINDOW = False¶
- acceptDrops(self) bool ¶
- property accepted¶
- accessibleDescription(self) str ¶
- accessibleName(self) str ¶
- actionEvent(self, a0: QActionEvent)¶
- actions(self) List[QAction] ¶
- activateWindow(self)¶
- addAction(self, action: QAction)¶
- addActions(self, actions: Iterable[QAction])¶
- adjustSize(self)¶
- autoFillBackground(self) bool ¶
- auto_update_model = True¶
- auto_update_target = True¶
- backgroundRole(self) QPalette.ColorRole ¶
- baseSize(self) QSize ¶
- blockSignals(self, b: bool) bool ¶
- changeEvent(self, a0: QEvent)¶
- childAt(self, p: QPoint) QWidget ¶
- childAt(self, ax: int, ay: int) QWidget
- childEvent(self, a0: QChildEvent)¶
- children(self) List[QObject] ¶
- childrenRect(self) QRect ¶
- childrenRegion(self) QRegion ¶
- clearFocus(self)¶
- clearMask(self)¶
- close(self) bool ¶
- closeEvent(event)¶
Ensures proper handling of OK, Cancel, and [X] button clicks
- colorCount(self) int ¶
- connectNotify(self, signal: QMetaMethod)¶
- contentsMargins(self) QMargins ¶
- contentsRect(self) QRect ¶
- contextMenuEvent(self, a0: QContextMenuEvent)¶
- contextMenuPolicy(self) Qt.ContextMenuPolicy ¶
- create(self, window: PyQt6.sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)¶
- createWindowContainer(window: QWindow, parent: typing.Optional[QWidget] = None, flags: Qt.WindowType = Qt.WindowFlags()) QWidget ¶
- cursor(self) QCursor ¶
- customContextMenuRequested¶
customContextMenuRequested(self, pos: QPoint) [signal]
- customEvent(self, a0: QEvent)¶
- debug()¶
- deleteLater(self)¶
- depth(self) int ¶
- destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)¶
- destroyed¶
destroyed(self, object: typing.Optional[QObject] = None) [signal]
- devType(self) int ¶
- devicePixelRatio(self) float ¶
- devicePixelRatioF(self) float ¶
- devicePixelRatioFScale() float ¶
- disconnect(a0: QMetaObject.Connection) bool ¶
- disconnect(self) None
- disconnectNotify(self, signal: QMetaMethod)¶
- dragEnterEvent(self, a0: QDragEnterEvent)¶
- dragLeaveEvent(self, a0: QDragLeaveEvent)¶
- dragMoveEvent(self, a0: QDragMoveEvent)¶
- dropEvent(self, a0: QDropEvent)¶
- dumpObjectInfo(self)¶
- dumpObjectTree(self)¶
- dynamicPropertyNames(self) List[QByteArray] ¶
- effectiveWinId(self) PyQt6.sip.voidptr ¶
- ensurePolished(self)¶
- enterEvent(self, event: QEnterEvent)¶
- error(*args, **kwargs)¶
Shows a popup error message box. For parameter documentation see
messagebox.MessageBox
.
- event(self, a0: QEvent) bool ¶
- eventFilter(self, a0: QObject, a1: QEvent) bool ¶
- find(a0: PyQt6.sip.voidptr) QWidget ¶
- findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject ¶
- findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
- findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject] ¶
- findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- focusInEvent(self, a0: QFocusEvent)¶
- focusNextChild(self) bool ¶
- focusNextPrevChild(self, next: bool) bool ¶
- focusOutEvent(self, a0: QFocusEvent)¶
- focusPolicy(self) Qt.FocusPolicy ¶
- focusPreviousChild(self) bool ¶
- focusProxy(self) QWidget ¶
- focusWidget(self) QWidget ¶
- font(self) QFont ¶
- fontInfo(self) QFontInfo ¶
- fontMetrics(self) QFontMetrics ¶
- foregroundRole(self) QPalette.ColorRole ¶
- forgetMessageBoxResponse(key)¶
Forgets any previously saved response that was stored via a save_response_key.
- Parameters
key – the key for the response to forget
- frameGeometry(self) QRect ¶
- frameSize(self) QSize ¶
- geometry(self) QRect ¶
- grab(self, rectangle: QRect = QRect(QPoint(0, 0), QSize(- 1, - 1))) QPixmap ¶
- grabGesture(self, type: Qt.GestureType, flags: Qt.GestureFlag = Qt.GestureFlags())¶
- grabKeyboard(self)¶
- grabMouse(self)¶
- grabMouse(self, a0: Union[QCursor, Qt.CursorShape]) None
- grabShortcut(self, key: Union[QKeySequence, QKeySequence.StandardKey, str, int], context: Qt.ShortcutContext = Qt.WindowShortcut) int ¶
- graphicsEffect(self) QGraphicsEffect ¶
- graphicsProxyWidget(self) QGraphicsProxyWidget ¶
- hasFocus(self) bool ¶
- hasHeightForWidth(self) bool ¶
- hasMouseTracking(self) bool ¶
- hasTabletTracking(self) bool ¶
- height(self) int ¶
- heightForWidth(self, a0: int) int ¶
- heightMM(self) int ¶
- hide(self)¶
- hideEvent(self, a0: QHideEvent)¶
- info(*args, **kwargs)¶
Shows a popup information message box. For parameter documentation see
messagebox.MessageBox
.
- inherits(self, classname: str) bool ¶
- initFinalize()¶
Suggested subclass use: perform any remaining initialization.
- initPainter(self, painter: QPainter)¶
- initSetDefaults()¶
Set widget to its default state. If the widget uses a model/mapper, it’s preferable to reset the widget state by resetting the model.
- initSetOptions()¶
Suggested subclass use: set instance variables, excluding layouts and subwidgets. Also use here to (optionally) apply the legacy stylesheet spacing settings (PANEL-19101).
- inputMethodEvent(self, a0: QInputMethodEvent)¶
- inputMethodHints(self) Qt.InputMethodHint ¶
- inputMethodQuery(self, a0: Qt.InputMethodQuery) Any ¶
- insertAction(self, before: QAction, action: QAction)¶
- insertActions(self, before: QAction, actions: Iterable[QAction])¶
- installEventFilter(self, a0: QObject)¶
- isActiveWindow(self) bool ¶
- isAncestorOf(self, child: QWidget) bool ¶
- isEnabled(self) bool ¶
- isEnabledTo(self, a0: QWidget) bool ¶
- isFullScreen(self) bool ¶
- isHidden(self) bool ¶
- isLeftToRight(self) bool ¶
- isMaximized(self) bool ¶
- isMinimized(self) bool ¶
- isModal(self) bool ¶
- isRightToLeft(self) bool ¶
- isSignalConnected(self, signal: QMetaMethod) bool ¶
- isVisible(self) bool ¶
- isVisibleTo(self, a0: QWidget) bool ¶
- isWidgetType(self) bool ¶
- isWindow(self) bool ¶
- isWindowModified(self) bool ¶
- isWindowType(self) bool ¶
- keyPressEvent(self, a0: QKeyEvent)¶
- keyReleaseEvent(self, a0: QKeyEvent)¶
- keyboardGrabber() QWidget ¶
- killTimer(self, id: int)¶
- layout(self) QLayout ¶
- layoutDirection(self) Qt.LayoutDirection ¶
- leaveEvent(self, a0: QEvent)¶
- locale(self) QLocale ¶
- logicalDpiX(self) int ¶
- logicalDpiY(self) int ¶
- lower(self)¶
- mapFrom(self, a0: QWidget, a1: QPoint) QPoint ¶
- mapFrom(self, a0: QWidget, a1: QPointF) QPointF
- mapFromGlobal(self, a0: QPoint) QPoint ¶
- mapFromGlobal(self, a0: QPointF) QPointF
- mapFromParent(self, a0: QPoint) QPoint ¶
- mapFromParent(self, a0: QPointF) QPointF
- mapTo(self, a0: QWidget, a1: QPoint) QPoint ¶
- mapTo(self, a0: QWidget, a1: QPointF) QPointF
- mapToGlobal(self, a0: QPoint) QPoint ¶
- mapToGlobal(self, a0: QPointF) QPointF
- mapToParent(self, a0: QPoint) QPoint ¶
- mapToParent(self, a0: QPointF) QPointF
- mask(self) QRegion ¶
- maximumHeight(self) int ¶
- maximumSize(self) QSize ¶
- maximumWidth(self) int ¶
- metaObject(self) QMetaObject ¶
- metric(self, a0: QPaintDevice.PaintDeviceMetric) int ¶
- minimumHeight(self) int ¶
- minimumSize(self) QSize ¶
- minimumSizeHint(self) QSize ¶
- minimumWidth(self) int ¶
- mouseDoubleClickEvent(self, a0: QMouseEvent)¶
- mouseGrabber() QWidget ¶
- mouseMoveEvent(self, a0: QMouseEvent)¶
- mousePressEvent(self, a0: QMouseEvent)¶
- mouseReleaseEvent(self, a0: QMouseEvent)¶
- move(self, a0: QPoint)¶
- move(self, ax: int, ay: int) None
- moveEvent(self, a0: QMoveEvent)¶
- moveToThread(self, thread: QThread)¶
- nativeEvent(self, eventType: QByteArray, message: PyQt6.sip.voidptr) Tuple[bool, PyQt6.sip.voidptr] ¶
- nativeParentWidget(self) QWidget ¶
- nextInFocusChain(self) QWidget ¶
- normalGeometry(self) QRect ¶
- objectName(self) str ¶
- objectNameChanged¶
objectNameChanged(self, objectName: str) [signal]
- overrideWindowFlags(self, type: Qt.WindowType)¶
- overrideWindowState(self, state: Qt.WindowState)¶
- paintEngine(self) QPaintEngine ¶
- paintEvent(self, a0: QPaintEvent)¶
- paintingActive(self) bool ¶
- palette(self) QPalette ¶
- parent(self) QObject ¶
- parentWidget(self) QWidget ¶
- physicalDpiX(self) int ¶
- physicalDpiY(self) int ¶
- pos(self) QPoint ¶
- previousInFocusChain(self) QWidget ¶
- property(self, name: str) Any ¶
- pyqtConfigure(...)¶
Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.
- question(*args, **kwargs)¶
Shows a popup question message box. For parameter documentation see
messagebox.QuestionMessageBox
.
- raise_(self)¶
- receivers(self, signal: PYQT_SIGNAL) int ¶
- rect(self) QRect ¶
- releaseKeyboard(self)¶
- releaseMouse(self)¶
- releaseShortcut(self, id: int)¶
- removeAction(self, action: QAction)¶
- removeEventFilter(self, a0: QObject)¶
- render(self, target: QPaintDevice, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlag = QWidget.RenderFlags(QWidget.DrawWindowBackground | QWidget.DrawChildren))¶
- render(self, painter: QPainter, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlag = QWidget.RenderFlags(QWidget.DrawWindowBackground | QWidget.DrawChildren)) None
- repaint(self)¶
- repaint(self, x: int, y: int, w: int, h: int) None
- repaint(self, a0: QRect) None
- repaint(self, a0: QRegion) None
- reportValidation(results)¶
Present validation messages to the user. This is an implmentation of the
ValidationMixin
interface and does not need to be called directly.This method assumes that
error
andquestion
methods have been defined in the subclass, as in e.g.widget_mixins.MessageBoxMixin
.- Parameters
results (
validation.ValidationResults
) – Set of validation results generated byvalidate
- Returns
if True, there were no validation errors and the user decided to continue despite any warnings. If False, there was at least one validation error or the user decided to abort when faced with a warning.
- resize(self, a0: QSize)¶
- resize(self, w: int, h: int) None
- resizeEvent(self, a0: QResizeEvent)¶
- restoreGeometry(self, geometry: QByteArray) bool ¶
- run(blocking=False, modal=False, finished_callback=None)¶
Show this widget, while optionally blocking, making the widget window modal, and registering a callback for when the widget is closed again.
- Parameters
blocking (bool) – if True, block progress in the calling method until the widget is closed again.
modal (bool) – if True, open this widget as window modal. Otherwise, open this widget as nonmodal.
finished_callback (a callable object) – an object that will be called with no arguments when this widget is closed.
- runValidation(silent=False, validate_children=True, stop_on_fail=True)¶
Runs validation and reports the results (unless run silently).
- Parameters
silent (bool) – run without any reporting (i.e. error messages to the user). This is useful if we want to programmatically test validity. Changes return value of this method from
ValidationResults
to a boolean.validate_children (bool) – run validation on all child objects. See
_validateChildren
for documentation on what this entails.stop_on_fail (bool) – stop validation when first failure is encountered
- Returns
if silent is False, returns the validation results. If silent is True, returns a boolean generated by
reportValidation
.- Return type
ValidationResults
or bool
- saveGeometry(self) QByteArray ¶
- screen(self) QScreen ¶
- scroll(self, dx: int, dy: int)¶
- scroll(self, dx: int, dy: int, a2: QRect) None
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- setAcceptDrops(self, on: bool)¶
- setAccessibleDescription(self, description: str)¶
- setAccessibleName(self, name: str)¶
- setAttribute(self, attribute: Qt.WidgetAttribute, on: bool = True)¶
- setAutoFillBackground(self, enabled: bool)¶
- setBackgroundRole(self, a0: QPalette.ColorRole)¶
- setBaseSize(self, basew: int, baseh: int)¶
- setBaseSize(self, s: QSize) None
- setContentsMargins(self, left: int, top: int, right: int, bottom: int)¶
- setContentsMargins(self, margins: QMargins) None
- setContextMenuPolicy(self, policy: Qt.ContextMenuPolicy)¶
- setCursor(self, a0: Union[QCursor, Qt.CursorShape])¶
- setDisabled(self, a0: bool)¶
- setEnabled(self, a0: bool)¶
- setFixedHeight(self, h: int)¶
- setFixedSize(self, a0: QSize)¶
- setFixedSize(self, w: int, h: int) None
- setFixedWidth(self, w: int)¶
- setFocus(self)¶
- setFocus(self, reason: Qt.FocusReason) None
- setFocusPolicy(self, policy: Qt.FocusPolicy)¶
- setFocusProxy(self, a0: QWidget)¶
- setFont(self, a0: QFont)¶
- setForegroundRole(self, a0: QPalette.ColorRole)¶
- setGeometry(self, a0: QRect)¶
- setGeometry(self, ax: int, ay: int, aw: int, ah: int) None
- setGraphicsEffect(self, effect: QGraphicsEffect)¶
- setHidden(self, hidden: bool)¶
- setInputMethodHints(self, hints: Qt.InputMethodHint)¶
- setLayout(self, a0: QLayout)¶
- setLayoutDirection(self, direction: Qt.LayoutDirection)¶
- setLocale(self, locale: QLocale)¶
- setMask(self, a0: QBitmap)¶
- setMask(self, a0: QRegion) None
- setMaximumHeight(self, maxh: int)¶
- setMaximumSize(self, maxw: int, maxh: int)¶
- setMaximumSize(self, s: QSize) None
- setMaximumWidth(self, maxw: int)¶
- setMinimumHeight(self, minh: int)¶
- setMinimumSize(self, minw: int, minh: int)¶
- setMinimumSize(self, s: QSize) None
- setMinimumWidth(self, minw: int)¶
- setMouseTracking(self, enable: bool)¶
- setObjectName(self, name: str)¶
- setPalette(self, a0: QPalette)¶
- setParent(self, parent: QWidget)¶
- setParent(self, parent: QWidget, f: Qt.WindowType) None
- setProperty(self, name: str, value: Any) bool ¶
- setScreen(self, a0: QScreen)¶
- setShortcutAutoRepeat(self, id: int, enabled: bool = True)¶
- setShortcutEnabled(self, id: int, enabled: bool = True)¶
- setSizeIncrement(self, w: int, h: int)¶
- setSizeIncrement(self, s: QSize) None
- setSizePolicy(self, a0: QSizePolicy)¶
- setSizePolicy(self, hor: QSizePolicy.Policy, ver: QSizePolicy.Policy) None
- setStatusTip(self, a0: str)¶
- setStyle(self, a0: QStyle)¶
- setStyleSheet(self, styleSheet: str)¶
- setTabOrder(a0: QWidget, a1: QWidget)¶
- setTabletTracking(self, enable: bool)¶
- setToolTip(self, a0: str)¶
- setToolTipDuration(self, msec: int)¶
- setUpdatesEnabled(self, enable: bool)¶
- setVisible(self, visible: bool)¶
- setWhatsThis(self, a0: str)¶
- setWidgetLayout()¶
Set the widget layout
- setWindowFilePath(self, filePath: str)¶
- setWindowFlag(self, a0: Qt.WindowType, on: bool = True)¶
- setWindowFlags(self, type: Qt.WindowType)¶
- setWindowFlagsForRun()¶
- setWindowIcon(self, icon: QIcon)¶
- setWindowIconText(self, a0: str)¶
- setWindowModality(self, windowModality: Qt.WindowModality)¶
- setWindowModified(self, a0: bool)¶
- setWindowOpacity(self, level: float)¶
- setWindowRole(self, a0: str)¶
- setWindowState(self, state: Qt.WindowState)¶
- setWindowTitle(self, a0: str)¶
- show()¶
Override the show method to clear and previous value of self.accepted
- showEvent(self, a0: QShowEvent)¶
- showFullScreen(self)¶
- showMaximized(self)¶
- showMessageBox(*args, **kwargs)¶
Shows a popup message box. For parameter documentation see
messagebox.MessageBox
.
- showMinimized(self)¶
- showNormal(self)¶
- signalsBlocked(self) bool ¶
- size(self) QSize ¶
- sizeHint(self) QSize ¶
- sizeIncrement(self) QSize ¶
- sizePolicy(self) QSizePolicy ¶
- stackUnder(self, a0: QWidget)¶
- startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int ¶
- staticMetaObject = <PyQt6.QtCore.QMetaObject object>¶
- statusTip(self) str ¶
- style(self) QStyle ¶
- styleSheet(self) str ¶
- tabletEvent(self, a0: QTabletEvent)¶
- targetValueChanged¶
- testAttribute(self, attribute: Qt.WidgetAttribute) bool ¶
- thread(self) QThread ¶
- timerEvent(self, a0: QTimerEvent)¶
- toolTip(self) str ¶
- toolTipDuration(self) int ¶
- tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str ¶
- ui_module = None¶
- underMouse(self) bool ¶
- ungrabGesture(self, type: Qt.GestureType)¶
- unsetCursor(self)¶
- unsetLayoutDirection(self)¶
- unsetLocale(self)¶
- update(self)¶
- update(self, a0: QRect) None
- update(self, a0: QRegion) None
- update(self, ax: int, ay: int, aw: int, ah: int) None
- updateGeometry(self)¶
- updateMicroFocus(self, query: Qt.InputMethodQuery = Qt.ImQueryAll)¶
- updatesEnabled(self) bool ¶
- visibleRegion(self) QRegion ¶
- warning(*args, **kwargs)¶
Shows a popup warning message box. For parameter documentation see
messagebox.MessageBox
.
- whatsThis(self) str ¶
- wheelEvent(self, a0: QWheelEvent)¶
- width(self) int ¶
- widthMM(self) int ¶
- winId(self) PyQt6.sip.voidptr ¶
- window(self) QWidget ¶
- windowFilePath(self) str ¶
- windowFlags(self) Qt.WindowType ¶
- windowHandle(self) QWindow ¶
- windowIcon(self) QIcon ¶
- windowIconChanged¶
windowIconChanged(self, icon: QIcon) [signal]
- windowIconText(self) str ¶
- windowIconTextChanged¶
windowIconTextChanged(self, iconText: str) [signal]
- windowModality(self) Qt.WindowModality ¶
- windowOpacity(self) float ¶
- windowRole(self) str ¶
- windowState(self) Qt.WindowState ¶
- windowTitle(self) str ¶
- windowTitleChanged¶
windowTitleChanged(self, title: str) [signal]
- windowType(self) Qt.WindowType ¶
- x(self) int ¶
- y(self) int ¶
- schrodinger.ui.qt.mapperwidgets.plptable.export_plp_to_csv(plp: schrodinger.models.parameters.ParamListParam, spec_class: schrodinger.ui.qt.mapperwidgets.plptable.TableSpec, output_file: str, role: int = ItemDataRole.DisplayRole, header_role: int = ItemDataRole.DisplayRole) None ¶
Write the supplied PLP to CSV. Formatting is determined by the specified table spec.
- Parameters
plp – The PLP to write
spec_class – The TableSpec class to determine CSV formatting
output_file – The name of the desired output file
role – The data role to export for the table contents
header_role – The data role to export for the table headers