schrodinger.application.livedesign.ld_export2 module

class schrodinger.application.livedesign.ld_export2.ExportModel(default_value=<object object>, _param_type=<object object>, **kwargs)

Bases: schrodinger.application.livedesign.export_models.LDClientModelMixin, schrodinger.models.parameters.CompoundParam

ld_client

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Coord(CompoundParam):
    x: int
    y: int

An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:

coord = Coord()
coord.x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:

class Atom(CompoundParam):
    coord: Coord
    element: str
ld_models

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Coord(CompoundParam):
    x: int
    y: int

An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:

coord = Coord()
coord.x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:

class Atom(CompoundParam):
    coord: Coord
    element: str
entry_data

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Coord(CompoundParam):
    x: int
    y: int

An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:

coord = Coord()
coord.x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:

class Atom(CompoundParam):
    coord: Coord
    element: str
export_text

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Coord(CompoundParam):
    x: int
    y: int

An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:

coord = Coord()
coord.x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:

class Atom(CompoundParam):
    coord: Coord
    element: str
select_text

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Coord(CompoundParam):
    x: int
    y: int

An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:

coord = Coord()
coord.x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:

class Atom(CompoundParam):
    coord: Coord
    element: str
entry_type

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Coord(CompoundParam):
    x: int
    y: int

An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:

coord = Coord()
coord.x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:

class Atom(CompoundParam):
    coord: Coord
    element: str
entry_type_description

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Coord(CompoundParam):
    x: int
    y: int

An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:

coord = Coord()
coord.x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:

class Atom(CompoundParam):
    coord: Coord
    element: str
entry_type_name

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Coord(CompoundParam):
    x: int
    y: int

An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:

coord = Coord()
coord.x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:

class Atom(CompoundParam):
    coord: Coord
    element: str
input_summary

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Coord(CompoundParam):
    x: int
    y: int

An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:

coord = Coord()
coord.x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:

class Atom(CompoundParam):
    coord: Coord
    element: str
ld_destination

Parameters specifying the destination of the exported data, both LiveDesign server and live report.

match_compounds_by
match_prop_user_name

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Coord(CompoundParam):
    x: int
    y: int

An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:

coord = Coord()
coord.x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:

class Atom(CompoundParam):
    coord: Coord
    element: str
match_prop_data_name

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Coord(CompoundParam):
    x: int
    y: int

An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:

coord = Coord()
coord.x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:

class Atom(CompoundParam):
    coord: Coord
    element: str
more_columns_visible

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Coord(CompoundParam):
    x: int
    y: int

An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:

coord = Coord()
coord.x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:

class Atom(CompoundParam):
    coord: Coord
    element: str
task_rl_map

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Coord(CompoundParam):
    x: int
    y: int

An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:

coord = Coord()
coord.x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:

class Atom(CompoundParam):
    coord: Coord
    element: str
export_task
Primary LD export task. Responsible for
  1. Preparing data for export
  2. Launching subtasks that perform export processes
  3. Communicating with the LD Export panel
Variables:exportFailed (QtCore.pyqtSignal) – a signal containing an error message describing export failures
summary_model

The model for the summary panel shown the user prior to export.

pose_name_text

Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:

class Coord(CompoundParam):
    x: int
    y: int

An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:

coord = Coord()
coord.x = 4

When a Param value is set, the valueChanged signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:

class Atom(CompoundParam):
    coord: Coord
    element: str
pose_name_model

Model for the Pose Name Edit Panel.

Variables:
  • custom_text – the text of the custom text line edit; this value is stored temporarily while the panel is open, and will be copied to custom_text_final if the user accepts the panel
  • include_property – the check state of the “include property” checkbox
  • property_name – the structure property (if any) selected as part of the custom pose name; this value is stored temporarily while the panel is open, and will be copied to property_name_final if the user accepts the panel
  • property_user_name – the text of the structure property label
  • example_prop_string – the text of the example property
  • example_name – the text of the example pose name label
  • entry_data – the system entry data for the panel
  • custom_text_final – the custom text accepted by the user
  • property_name_final – the structure property (if any) accepted by the user
lr_widget_model
classmethod configureParam()

Synchronize parameters that should always have the same value.

DataClass

alias of builtins.object

__init__(default_value=<object object>, _param_type=<object object>, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

classmethod addSubParam(name, param, update_owner=True)
blockSignals(self, bool) → bool
block_signal_propagation()
childEvent(self, QChildEvent)
children(self) → List[QObject]
connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
classmethod defaultValue(*args, **kwargs)
deleteLater(self)
destroyed

destroyed(self, object: QObject = None) [signal]

disconnect(self)
disconnectNotify(self, QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → List[QByteArray]
entry_dataChanged
entry_dataReplaced
entry_typeChanged
entry_typeReplaced
entry_type_descriptionChanged
entry_type_descriptionReplaced
entry_type_nameChanged
entry_type_nameReplaced
event(self, QEvent) → bool
eventFilter(self, QObject, QEvent) → bool
export_taskChanged
export_taskReplaced
export_textChanged
export_textReplaced
findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → QObject

findChild(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> QObject

findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]

findChildren(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, 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.

:rtype : cls

classmethod fromJsonImplementation(json_dict)

Sets the value of this compound param value object from a JSON dict.

getAbstractParam(*args, **kwargs)
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, not cls.coord.x.
classmethod getParamSignal(*args, **kwargs)
classmethod getParamValue(*args, **kwargs)
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 accss 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, 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.

input_summaryChanged
input_summaryReplaced
installEventFilter(self, QObject)
classmethod isAbstract()

Whether the param is an “abstract” param.

isDefault(*args, **kwargs)
isSignalConnected(self, QMetaMethod) → bool
isWidgetType(self) → bool
isWindowType(self) → bool
killTimer(self, int)
ld_clientChanged
ld_clientReplaced
ld_destinationChanged
ld_destinationReplaced
ld_modelsChanged
ld_modelsReplaced
lr_widget_modelChanged
lr_widget_modelReplaced
match_compounds_byChanged
match_compounds_byReplaced
match_prop_data_nameChanged
match_prop_data_nameReplaced
match_prop_user_nameChanged
match_prop_user_nameReplaced
metaObject(self) → QMetaObject
more_columns_visibleChanged
more_columns_visibleReplaced
moveToThread(self, QThread)
objectName(self) → str
objectNameChanged

objectNameChanged(self, 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
pose_name_modelChanged
pose_name_modelReplaced
pose_name_textChanged
pose_name_textReplaced
property(self, 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, PYQT_SIGNAL) → int
refreshLDClient()

Check whether the stored LDClient instance is connected to LiveDesign. If not, create a new instance and replace the old one if the new one is connected.

Returns:an enum describing the status of the connection; - none if no refresh was required - success if the the LDClient instance was replaced - failure if even the new LDClient instance was disconnected
Return type:RefreshResult
removeEventFilter(self, QObject)
reset(*args, **kwargs)
select_textChanged
select_textReplaced
sender(self) → QObject
senderSignalIndex(self) → int
setObjectName(self, str)
classmethod setParamValue(*args, **kwargs)
setParent(self, QObject)
setProperty(self, str, 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(*args, **kwargs)
signalsBlocked(self) → bool
skip_eq_check()
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
summary_modelChanged
summary_modelReplaced
task_rl_mapChanged
task_rl_mapReplaced
thread(self) → QThread
timerEvent(self, QTimerEvent)
toDict(*args, **kwargs)
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(*args, **kwargs)
tr(self, str, disambiguation: str = None, n: int = -1) → str
valueChanged
class schrodinger.application.livedesign.ld_export2.LDExportPanelMixin

Bases: object

Mixin for LD Export GUI panels. Provides a standardized window title that includes a custom string and the host name.

Subclasses must:
  1. Inherit from mappers.MapperMixin
  2. Have a model that includes a export_models.LDDestination parameter
    called ld_destination
Variables:TITLE_BASE – the standard string to include at the beginning of the window’s title
TITLE_BASE = NotImplemented
getSignalsAndSlots(model)
__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.livedesign.ld_export2.AbstractExportPanel(*args, **kwargs)

Bases: schrodinger.application.livedesign.ld_export2.LDExportPanelMixin, schrodinger.ui.qt.widgetmixins.panelmixins.TaskPanelMixin, schrodinger.ui.qt.appframework2.wizards.BaseWizardPanel

Variables:allow_add_live_reports (bool) – whether users should be presented with the option to create a new live report from this panel
model_class

alias of ExportModel

PANEL_TASKS = [<Descriptor:ExportModel.export_task>]
ui_module = <module 'schrodinger.application.livedesign.export2_ui' from '/scr/buildbot/savedbuilds/2020-3/NB/build-133/internal/lib/python3.6/site-packages/schrodinger/application/livedesign/export2_ui.py'>
EXPORT_MAP_MANAGER_CLASS

alias of schrodinger.application.livedesign.export_map_manager.ExportMapManager

SELECT_TEXT = None
EXPORT_TEXT = None
MAP_SELECT_TEXT = 'Select Map...'
TABLE_MODEL_CLASS

alias of schrodinger.application.livedesign.panel_components2.ExportTableModel

TABLE_VIEW_CLASS

alias of schrodinger.application.livedesign.panel_components2.ExportTableView

INVALID_MAP_NAME_MSG = 'Please enter a valid name for saving a new map.'
MAP_ERROR_MSG = 'Error: The selected mapping could not be successfully applied. One or more data rows in the export table may be incorrect.'
MAP_EXISTS_MSG = 'The following map name already exists: {0}\nPlease enter a new name.'
allow_add_live_reports = True
initSetUp()

Creates widget from ui and stores it ui_widget.

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

initLayOut()

@overrides: widgetmixins.InitMixin

initSetDefaults()

Override mappers.MapperMixin to avoid resetting the entire model.

initFinalize()

Suggested subclass use: perform any remaining initialization.

setModel(model)

Sets the model object for the mapper. Disconnects the old model, if one is set, and connects the new model. Pass in None to have no model set.

Parameters:model – the model instance or None
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
defineTaskPreprocessors(model)

Return a list of tuples containing a task and an associated preprocesor.

To include preprocessors, override this method in a subclass. Example:

def defineTaskPreprocessors(self, model):
    return [
        (model.search_task, self._validateSearchTerms),
        (model.email_task, self._compileAddresses)
    ]
Parameters:model (parameters.CompoundParam) – a model instance
Returns:a list of (task, method) tuples
Return type:list[tuple[tasks.AbstractTask, typing.Callable]]
updateExportableData()

Update the selection and state of the items that can be exported from this panel to LiveDesign.

updateEnabledExportableData()

Enable or disable exportable data items.

Should be overridden in subclasses.

setMappingWidgetsEnabled(enable)

Helper function to enable or disable all mapping widgets.

Parameters:state (bool) – whether to enable the widget
saveExportMap()

Save the current export table’s state as a map file.

openSelectedExportMap()

Slot connected to Open map button. Open the currently selected map and use the mappings to populate the export table. This method resets the property selection tree along with the export table.

openExportMap(map_file)

Open the map_file and use the mappings to populate the export table. This method resets the property selection tree along with the export table. This function is used in KNIME to restore the Properties table contents from a map.json file

Parameters:map_file (str) – Path to a json map file
deleteExportMap()

Delete the currently selected “map”.

resetMapComboBox()

Reset the mappings combo box to include the placeholder text and the available mappings.

setStatus(message, timeout=0, color=None)

Set the status bar text with optional timeout and text color.

Parameters:
  • message (str) – the message to display
  • timeout (int) – time to show message in ms. If set to 0 (default) the message is not cleared.
  • color (QtGui.QColor) – text color for message. Default is black.
class BtnPos

Bases: enum.IntEnum

An enumeration.

Left = 0
Middle = 1
Right = 2
DrawChildren = 2
DrawWindowBackground = 1
IgnoreMask = 4
class PaintDeviceMetric

Bases: int

__init__ = <method-wrapper '__init__' of sip.enumtype object at 0x33c5518>
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

Bases: int

__init__ = <method-wrapper '__init__' of sip.enumtype object at 0x1bb7888>
class RenderFlags

Bases: sip.simplewrapper

QWidget.RenderFlags(Union[QWidget.RenderFlags, QWidget.RenderFlag]) QWidget.RenderFlags(QWidget.RenderFlags)

__init__

Initialize self. See help(type(self)) for accurate signature.

SHOW_AS_WINDOW = True
class StdBtn

Bases: enum.IntEnum

An enumeration.

Cancel = 1
Help = 3
Ok = 0
Reset = 2
TITLE_BASE = NotImplemented
__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

acceptDrops(self) → bool
accepted
accessibleDescription(self) → str
accessibleName(self) → str
actionEvent(self, QActionEvent)
actions(self) → List[QAction]
activateWindow(self)
activeTask()

Return the currently active task.

Returns:The currently active task from PANEL_TASKS
addAction(self, QAction)
addActions(self, Iterable[QAction])
adjustSize(self)
applyAliasedSettings(settings)

Applies any aliased settings with new values from the dictionary. Any aliases not present in the settings dictionary will be left unchanged.

Parameters:settings (dict) – a dictionary mapping aliases to new values to apply
applySettings(settings, target=None)
autoFillBackground(self) → bool
backgroundRole(self) → QPalette.ColorRole
baseSize(self) → QSize
blockSignals(self, bool) → bool
changeEvent(self, QEvent)
childAt(self, QPoint) → QWidget

childAt(self, int, int) -> QWidget

childEvent(self, 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, QMetaMethod)
contentsMargins(self) → QMargins
contentsRect(self) → QRect
contextMenuEvent(self, QContextMenuEvent)
contextMenuPolicy(self) → Qt.ContextMenuPolicy
create(self, window: sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
createWindowContainer(QWindow, parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = 0) → QWidget
cursor(self) → QCursor
customContextMenuRequested

customContextMenuRequested(self, QPoint) [signal]

customEvent(self, QEvent)
debug()
definePanelSettings()

Override this method to define the settings for the panel. The aliased settings provide an interface for saving/restoring panel state as well as for interacting with task/job runners that need to access the panel state in a way that is agnostic to the specifics of widget names and types.

Each panel setting is defined by a tuple that specifies the mapping of alias to panel setting. An optional third element in the tuple can be used to group settings by category. This allows multiple settings to share the same alias.

Each setting can either point to a specific object (usually a qt widget), or a pair of setter/getter functions.

If the mapped object is a string, this will be interpreted by af2 as referring to an attribute on the panel, and a AttributeSettingWrapper instance will automatically be created. For example, specifying the string ‘num_atoms’ will create a mapping to self.num_atoms which will simply get and set the value of that instance member.

Custom setter and getter functions should take the form getter(), returning a value that can be encoded/decoded by JSON, and setter(value), where the type of value is the same as the return type of the getter.

Commonly used objects/widgets should be handled automatically in settings.py. It’s worth considering whether it makes more sense to use a custom setter/getter here or add support for the widget in settings.py.

Returns:a list of tuples defining the custom settings.
Return type:list of tuples. Each tuple can be of type (str, object, str) or (str, (callable, callable), str) where the final str is optional.

Custom settings tuples consists of up to three elements:

  1. alias - a string identier for the setting. Ex. “box_centroid”

  2. either:

    1. an object of a type that is supported by settings.py or
    2. the string name of an existing panel attribute (i.e. member variable), or
    3. a (getter, setter) tuple. The getter should take no arguments, and the setter should take a single value.
  3. optionally, a group identifier. This can be useful if the panel runs two different jobs that both have a parameter with the same name but that needs to map to different widgets. If a setting has a group name, it will be ignored by runners unless the runner name matches the group name.

defineTaskPostprocessors(model)

Return a list of tuples containing a task and an associated postprocessor.

The signature of this method is identical to that of defineTaskPreprocessors().

Parameters:model (parameters.CompoundParam) – a model instance
Returns:a list of (task, method) tuples
Return type:list[tuple[tasks.AbstractTask, typing.Callable]]
deleteLater(self)
depth(self) → int
destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)
destroyed

destroyed(self, object: QObject = None) [signal]

devType(self) → int
devicePixelRatio(self) → int
devicePixelRatioF(self) → float
devicePixelRatioFScale() → float
disconnect(self)
disconnectNotify(self, QMetaMethod)
dragEnterEvent(self, QDragEnterEvent)
dragLeaveEvent(self, QDragLeaveEvent)
dragMoveEvent(self, QDragMoveEvent)
dropEvent(self, QDropEvent)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → List[QByteArray]
effectiveWinId(self) → sip.voidptr
ensurePolished(self)
enterEvent(self, QEvent)
error(*args, **kwargs)

Shows a popup error message box. For parameter documentation see messagebox.MessageBox.

event(self, QEvent) → bool
eventFilter(self, QObject, QEvent) → bool
find(sip.voidptr) → QWidget
findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → QObject

findChild(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> QObject

findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]

findChildren(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject]

finished
focusInEvent(self, QFocusEvent)
focusNextChild(self) → bool
focusNextPrevChild(self, bool) → bool
focusOutEvent(self, 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
getAliasedSettings()
getAliasedValue(alias)
getContentsMargins(self) → Tuple[int, int, int, int]
getModel()
getObjValue(obj)
classmethod getPanelInstance()

Return the singleton instance of this panel, creating one if necessary.

Returns:instance of this panel.
Return type:PanelMixin
getPanelState()

Gets the current state of the panel in the form of a serializable dict. The state consists of the settings specified in definePanelSettings() as well as the automatically harvested settings.

getPersistenceKey(alias)

Return a unique identifier for saving/restoring a setting in the preferences. Override this method to change the key scheme (this is necessary if creating a common resource which is shared by multiple panels).

Parameters:alias (str) – the alias for which we are generating a key
getSettings(target=None, ignore_list=None)
getSettingsMenuActions(abstract_task)

Return a tuple representation of the settings button menu for a given abstract_task. For custom menus, override this method and return a list of tuples mapping desired menu item texts mapped to the method or function that should be called when the item is selected. If None is returned, then no actions are set on the settings button.

The following menu items are used for the default implementation:

‘Job Settings’ -> Opens up a config dialog ‘Preferences…’ -> Opens the Maestro preferences dialog to the

job preferences page.

‘Write’ -> Write the job to a bash file

—-(The above items are only shown if the task is a jobtask)———
*’Write STU ZIP File’ -> Write a zip file that can be used to
create a stu test.

‘Reset Entire Panel’ -> Resets the entire panel ‘Reset This Task’ -> Reset just the current task (hidden if there’s

only one type of task for the panel.

*’Start debugger…’ -> Start a command line debugger with IPython *’Start debugger GUI…’ -> Open up the debugger gui

    • Menu items that are only shown if the user has SCHRODINGER_SRC defined in their environment.
Parameters:abstract_task (tasks.AbstractTask) – The task to retrieve menu actions for. It will always be a member of self.PANEL_TASKS.
Returns:A list of tuples mapping the desired menu item text with the function that should be called when the item is selected. If the slot is None, then a separator will be added instead and the text will be ignored.

:rtype : list[tuple(str, callable) or None] or None

getTask(panel_task=None)

The active task instance. This is the task instance that will be run if the start button is clicked.

Parameters:panel_task – An abstract task from PANEL_TASKS. If passed in, the task instance that will be started next for that panel task will be returned.
getTaskBar(panel_task=None)

Gets the active task’s taskbar.

Parameters:panel_task – An abstract task from PANEL_TASKS. If passed in, the taskbar for that panel task will be returned.
getTaskManager(panel_task=None)

Gets the active task’s taskmanager

Parameters:panel_task – An abstract task from PANEL_TASKS. If passed in, the taskmanager for that panel task will be returned.
grab(self, rectangle: QRect = QRect(QPoint(0, 0), QSize(-1, -1))) → QPixmap
grabGesture(self, Qt.GestureType, flags: Union[Qt.GestureFlags, Qt.GestureFlag] = Qt.GestureFlags())
grabKeyboard(self)
grabMouse(self)

grabMouse(self, Union[QCursor, Qt.CursorShape])

grabShortcut(self, 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, int) → int
heightMM(self) → int
hide(self)
hideEvent(self, QHideEvent)
info(*args, **kwargs)

Shows a popup information message box. For parameter documentation see messagebox.MessageBox.

inherits(self, str) → bool
initPainter(self, QPainter)
initSetOptions()

Suggested subclass use: set instance variables, excluding layouts and subwidgets.

inputMethodEvent(self, QInputMethodEvent)
inputMethodHints(self) → Qt.InputMethodHints
inputMethodQuery(self, Qt.InputMethodQuery) → Any
insertAction(self, QAction, QAction)
insertActions(self, QAction, Iterable[QAction])
installEventFilter(self, QObject)
isActiveWindow(self) → bool
isAncestorOf(self, QWidget) → bool
isEnabled(self) → bool
isEnabledTo(self, 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, QMetaMethod) → bool
isVisible(self) → bool
isVisibleTo(self, QWidget) → bool
isWidgetType(self) → bool
isWindow(self) → bool
isWindowModified(self) → bool
isWindowType(self) → bool
keyPressEvent(self, QKeyEvent)
keyReleaseEvent(self, QKeyEvent)
keyboardGrabber() → QWidget
killTimer(self, int)
layout(self) → QLayout
layoutDirection(self) → Qt.LayoutDirection
leaveEvent(self, QEvent)
loadPanelState(filename=None)

Load the panel state from a JSON file

Parameters:filename (str) – the JSON filename. Defaults to “panelstate.json”
loadPersistentOptions()

Load all persistent options from the preferences.

locale(self) → QLocale
logicalDpiX(self) → int
logicalDpiY(self) → int
lower(self)
makeInitialModel()
mapFrom(self, QWidget, QPoint) → QPoint
mapFromGlobal(self, QPoint) → QPoint
mapFromParent(self, QPoint) → QPoint
mapTo(self, QWidget, QPoint) → QPoint
mapToGlobal(self, QPoint) → QPoint
mapToParent(self, QPoint) → QPoint
mappedParams()

Return a list of the abstract params that are mapped to.

mask(self) → QRegion
maximumHeight(self) → int
maximumSize(self) → QSize
maximumWidth(self) → int
metaObject(self) → QMetaObject
metric(self, QPaintDevice.PaintDeviceMetric) → int
minimumHeight(self) → int
minimumSize(self) → QSize
minimumSizeHint(self) → QSize
minimumWidth(self) → int
model
modelChanged
mouseDoubleClickEvent(self, QMouseEvent)
mouseGrabber() → QWidget
mouseMoveEvent(self, QMouseEvent)
mousePressEvent(self, QMouseEvent)
mouseReleaseEvent(self, QMouseEvent)
move(self, QPoint)

move(self, int, int)

moveEvent(self, QMoveEvent)
moveToThread(self, QThread)
nativeEvent(self, Union[QByteArray, bytes, bytearray], sip.voidptr) → Tuple[bool, int]
nativeParentWidget(self) → QWidget
nextInFocusChain(self) → QWidget
normalGeometry(self) → QRect
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

onBackClicked()
onCancelClicked()
onNextClicked()
overrideWindowFlags(self, Union[Qt.WindowFlags, Qt.WindowType])
overrideWindowState(self, Union[Qt.WindowStates, Qt.WindowState])
paintEngine(self) → QPaintEngine
paintEvent(self, QPaintEvent)
paintingActive(self) → bool
palette(self) → QPalette
classmethod panel(blocking=False, modal=False, finished_callback=None)

Open an instance of this class.

For full argument documentation, see ExecutionMixin.run.

parent(self) → QObject
parentWidget(self) → QWidget
physicalDpiX(self) → int
physicalDpiY(self) → int
pos(self) → QPoint
previousInFocusChain(self) → QWidget
processBack()

Override this method to perform necessary actions when going back

processNext()

Override this method to perform necessary actions when going to next A return value of False will stay in the current panel, any other value will continue to the next.

processPrevPanel(state)

Override this method to receive the settings from the previous panel and processes them appropriately.

Parameters:state (settings.PanelState) – the state from the previous panel
property(self, 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, PYQT_SIGNAL) → int
rect(self) → QRect
releaseKeyboard(self)
releaseMouse(self)
releaseShortcut(self, int)
removeAction(self, QAction)
removeEventFilter(self, QObject)
render(self, QPaintDevice, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.DrawWindowBackground|QWidget.DrawChildren))

render(self, QPainter, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.DrawWindowBackground|QWidget.DrawChildren))

repaint(self)

repaint(self, int, int, int, int) repaint(self, QRect) repaint(self, QRegion)

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 and question methods have been defined in the subclass, as in e.g. widget_mixins.MessageBoxMixin.

Parameters:results (validation.ValidationResults) – Set of validation results generated by validate
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.
resetMappedParams()
resize(self, QSize)

resize(self, int, int)

resizeEvent(self, QResizeEvent)
restoreGeometry(self, Union[QByteArray, bytes, bytearray]) → bool
run(prev_panel_state=None)

Runs the panel. If the panel is being invoked by clicking “Next” on the previous panel, pass in the previous panel’s state so it can be processed.

Parameters:prev_panel_state (settings.PanelState or None) – the previous panel’s state
runAllSlots()
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
savePersistentOptions()

Store all persistent options to the preferences.

scroll(self, int, int)

scroll(self, int, int, QRect)

sender(self) → QObject
senderSignalIndex(self) → int
setAcceptDrops(self, bool)
setAccessibleDescription(self, str)
setAccessibleName(self, str)
setActiveTask(new_active_task)

Set the currently active task. Expects a task from PANEL_TASKS.

Parameters:new_active_task – Abstract task
setAlias(alias, obj, persistent=False)

Sets an alias to conveniently access an object.

Parameters:
  • alias (hashable) – any hashable, but typically a string name
  • obj (object) – the actual object to be referenced
  • persistent (bool) – whether to make the setting persistent
setAliasedValue(alias, value)
setAliases(alias_dict, persistent=False)

Sets multiple aliases at once. Already used aliases are overwritten; other existing aliases are not affected.

Parameters:
  • alias_dict (dict) – map of aliases to objects
  • persistent (bool) – whether to make the settings persistent
setAttribute(self, Qt.WidgetAttribute, on: bool = True)
setAutoFillBackground(self, bool)
setBackgroundRole(self, QPalette.ColorRole)
setBaseSize(self, int, int)

setBaseSize(self, QSize)

setContentsMargins(self, int, int, int, int)

setContentsMargins(self, QMargins)

setContextMenuPolicy(self, Qt.ContextMenuPolicy)
setCursor(self, Union[QCursor, Qt.CursorShape])
setDefaults()

@overrides: af2.App

setDisabled(self, bool)
setEnabled(self, bool)
setFixedHeight(self, int)
setFixedSize(self, QSize)

setFixedSize(self, int, int)

setFixedWidth(self, int)
setFocus(self)

setFocus(self, Qt.FocusReason)

setFocusPolicy(self, Qt.FocusPolicy)
setFocusProxy(self, QWidget)
setFont(self, QFont)
setForegroundRole(self, QPalette.ColorRole)
setGeometry(self, QRect)

setGeometry(self, int, int, int, int)

setGraphicsEffect(self, QGraphicsEffect)
setHidden(self, bool)
setInputMethodHints(self, Union[Qt.InputMethodHints, Qt.InputMethodHint])
setLayout(self, QLayout)
setLayoutDirection(self, Qt.LayoutDirection)
setLocale(self, QLocale)
setMask(self, QBitmap)

setMask(self, QRegion)

setMaximumHeight(self, int)
setMaximumSize(self, int, int)

setMaximumSize(self, QSize)

setMaximumWidth(self, int)
setMinimumHeight(self, int)
setMinimumSize(self, int, int)

setMinimumSize(self, QSize)

setMinimumWidth(self, int)
setModelWithoutSlots(model)

This is called when this MapperMixin is a sub-widget of a parent MapperMixin. Since the slots will all be called at the end of the parent setModel, they shouldn’t be called during the sub-widget’s setModel.

setMouseTracking(self, bool)
setObjValue(obj, value)
setObjectName(self, str)
setPalette(self, QPalette)
setPanelState(state)

Resets the panel and then sets the panel to the specified state

Parameters:state (PanelState) – the panel state to set. This object should originate from a call to getPanelState()
setParent(self, QWidget)

setParent(self, QWidget, Union[Qt.WindowFlags, Qt.WindowType])

setPersistent(alias=None)

Set options to be persistent. Any options to be made persistent must be aliased, since the alias is used to form the preference key. If no alias is specified, all aliased settings will be made persistent.

Parameters:alias (str or None) – the alias to save, or None
setProperty(self, str, Any) → bool
setShortcutAutoRepeat(self, int, enabled: bool = True)
setShortcutEnabled(self, int, enabled: bool = True)
setSizeIncrement(self, int, int)

setSizeIncrement(self, QSize)

setSizePolicy(self, QSizePolicy)

setSizePolicy(self, QSizePolicy.Policy, QSizePolicy.Policy)

setStandardBaseName(base_name, panel_task=None)

Set the base name used for naming tasks.

Parameters:
  • base_name (str) – The new base name to use
  • index (tasks.AbstractTask) – The panel task to set the standard basename for. Must be a member of PANEL_TASKS. If not provided, default to the currently active task.
setStatusTip(self, str)
setStyle(self, QStyle)
setStyleSheet(self, str)
setTabOrder(QWidget, QWidget)
setTabletTracking(self, bool)
setToolTip(self, str)
setToolTipDuration(self, int)
setUpdatesEnabled(self, bool)
setVisible(set_visible)
setWhatsThis(self, str)
setWidgetLayout()

Set the widget layout

setWindowFilePath(self, str)
setWindowFlag(self, Qt.WindowType, on: bool = True)
setWindowFlags(flags=None)
setWindowFlagsForRun()
setWindowIcon(self, QIcon)
setWindowIconText(self, str)
setWindowModality(self, Qt.WindowModality)
setWindowModified(self, bool)
setWindowOpacity(self, float)
setWindowRole(self, str)
setWindowState(self, Union[Qt.WindowStates, Qt.WindowState])
setWindowTitle(self, str)
setting_model()
sharedPainter(self) → QPainter
show()

Override the show method to clear and previous value of self.accepted

showEvent(self, QShowEvent)
showFullScreen(self)
showMaximized(self)
showMinimized(self)
showNormal(self)
signalsBlocked(self) → bool
size(self) → QSize
sizeHint(self) → QSize
sizeIncrement(self) → QSize
sizePolicy(self) → QSizePolicy
sshowMessageBox(*args, **kwargs)

Shows a popup message box. For parameter documentation see messagebox.MessageBox.

stackUnder(self, QWidget)
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
statusTip(self) → str
style(self) → QStyle
styleSheet(self) → str
tabletEvent(self, QTabletEvent)
testAttribute(self, Qt.WidgetAttribute) → bool
thread(self) → QThread
timerEvent(self, QTimerEvent)
toolTip(self) → str
toolTipDuration(self) → int
tr(self, str, disambiguation: str = None, n: int = -1) → str
underMouse(self) → bool
ungrabGesture(self, Qt.GestureType)
unsetCursor(self)
unsetLayoutDirection(self)
unsetLocale(self)
update(self)

update(self, QRect) update(self, QRegion) update(self, int, int, int, int)

updateGeometry(self)
updateMicroFocus(self)
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, QWheelEvent)
width(self) → int
widthMM(self) → int
winId(self) → sip.voidptr
window(self) → QWidget
windowFilePath(self) → str
windowFlags(self) → Qt.WindowFlags
windowHandle(self) → QWindow
windowIcon(self) → QIcon
windowIconChanged

windowIconChanged(self, QIcon) [signal]

windowIconText(self) → str
windowIconTextChanged

windowIconTextChanged(self, str) [signal]

windowModality(self) → Qt.WindowModality
windowOpacity(self) → float
windowRole(self) → str
windowState(self) → Qt.WindowStates
windowTitle(self) → str
windowTitleChanged

windowTitleChanged(self, str) [signal]

windowType(self) → Qt.WindowType
writePanelState(filename=None)

Write the panel state to a JSON file

Parameters:filename (str) – the JSON filename. Defaults to “panelstate.json”
x(self) → int
y(self) → int