ewoksorange.tests.test_execute_task.TaskStackTestWidget#

class ewoksorange.tests.test_execute_task.TaskStackTestWidget(*args, recorded_calls, failures, **kw)[source]#

Bases: PatchCalls, OWEwoksWidgetWithTaskStack

Parameters:
  • recorded_calls (List[str])

  • failures (Dict[str, Exception])

Accepted = 1#
class DialogCode#

Bases: int

DrawChildren = 2#
DrawWindowBackground = 1#
class Error(widget)#

Bases: MessageGroup

Base class for groups of error messages in widgets

activate_msg(msg, msg_id=None)#

Activate a message and emit the signal messageActivated

Args:

msg (_BoundMsg): the message to activate msg_id (int): id for old-style message (to be removed in the future)

property active#

Sequence[_BoundMsg]: Sequence of all currently active messages.

add_message(name, msg='{}')#

Add and bind message to a group that is already instantiated and bound.

If the message with that name already exists, the method does nothing. The method is used by helpers like this (simplified) one:

def check_results(results, msg_group):
    msg_group.add_message("invalid_results",
                          "Results do not include any data")
    msg_group.invalid_results.clear()
    if results.data is None:
        msg_group.invalid_results()

The helper is called from several widgets with check_results(results, self.Error)

Args:

name (str): the name of the member with the message msg (str or UnboundMsg): message text or instance (default “{}”)

bar_background = '#ffc6c6'#
bar_icon = 11#
clear(*, owner=None)#

Deactivate all active message from this group.

deactivate_msg(msg)#

Deactivate a message and emit the signal messageDeactivated.

Args:

msg (_BoundMsg): the message to deactivate

severity = 3#
IgnoreMask = 4#
class Information(widget)#

Bases: MessageGroup

Base class for groups of information messages in widgets

activate_msg(msg, msg_id=None)#

Activate a message and emit the signal messageActivated

Args:

msg (_BoundMsg): the message to activate msg_id (int): id for old-style message (to be removed in the future)

property active#

Sequence[_BoundMsg]: Sequence of all currently active messages.

add_message(name, msg='{}')#

Add and bind message to a group that is already instantiated and bound.

If the message with that name already exists, the method does nothing. The method is used by helpers like this (simplified) one:

def check_results(results, msg_group):
    msg_group.add_message("invalid_results",
                          "Results do not include any data")
    msg_group.invalid_results.clear()
    if results.data is None:
        msg_group.invalid_results()

The helper is called from several widgets with check_results(results, self.Error)

Args:

name (str): the name of the member with the message msg (str or UnboundMsg): message text or instance (default “{}”)

bar_background = '#ceceff'#
bar_icon = 9#
clear(*, owner=None)#

Deactivate all active message from this group.

deactivate_msg(msg)#

Deactivate a message and emit the signal messageDeactivated.

Args:

msg (_BoundMsg): the message to deactivate

severity = 1#
class Inputs#

Bases: object

a = Input(name='a', type=<class 'object'>, handler='a_ewoks_setter', ...)#
b = Input(name='b', type=<class 'object'>, handler='b_ewoks_setter', ...)#
failures = Input(name='failures', type=<class 'object'>, handler='failures_ewoks_setter', ...)#
recorded_calls = Input(name='recorded_calls', type=<class 'object'>, handler='recorded_calls_ewoks_setter', ...)#
class Outputs#

Bases: object

sum = Output(name='sum', type=<class 'object'>, ...)#
class PaintDeviceMetric#

Bases: int

PdmDepth = 6#
PdmDevicePixelRatio = 11#
PdmDevicePixelRatioScaled = 12#
PdmDpiX = 7#
PdmDpiY = 8#
PdmHeight = 2#
PdmHeightMM = 4#
PdmNumColors = 5#
PdmPhysicalDpiX = 9#
PdmPhysicalDpiY = 10#
PdmWidth = 1#
PdmWidthMM = 3#
Rejected = 0#
class RenderFlag#

Bases: int

class RenderFlags#
class RenderFlags(f: QWidget.RenderFlags | QWidget.RenderFlag)
class RenderFlags(a0: QWidget.RenderFlags)

Bases: simplewrapper

UserAdviceMessages: List[Message] = []#

A list of advice messages to display to the user. (when a widget is first shown a message from this list is selected for display. If a user accepts (clicks ‘Ok. Got it’) the choice is recorded and the message is never shown again (closing the message will not mark it as seen). Messages can be displayed again by pressing Shift + F1)

class Warning(widget)#

Bases: MessageGroup

Base class for groups of warning messages in widgets

activate_msg(msg, msg_id=None)#

Activate a message and emit the signal messageActivated

Args:

msg (_BoundMsg): the message to activate msg_id (int): id for old-style message (to be removed in the future)

property active#

Sequence[_BoundMsg]: Sequence of all currently active messages.

add_message(name, msg='{}')#

Add and bind message to a group that is already instantiated and bound.

If the message with that name already exists, the method does nothing. The method is used by helpers like this (simplified) one:

def check_results(results, msg_group):
    msg_group.add_message("invalid_results",
                          "Results do not include any data")
    msg_group.invalid_results.clear()
    if results.data is None:
        msg_group.invalid_results()

The helper is called from several widgets with check_results(results, self.Error)

Args:

name (str): the name of the member with the message msg (str or UnboundMsg): message text or instance (default “{}”)

bar_background = '#ffffc9'#
bar_icon = 10#
clear(*, owner=None)#

Deactivate all active message from this group.

deactivate_msg(msg)#

Deactivate a message and emit the signal messageDeactivated.

Args:

msg (_BoundMsg): the message to deactivate

severity = 2#
a_ewoks_setter(value)#
accept(self)#
acceptDrops(self) bool#
accepted#

accepted(self) [signal]

accessibleDescription(self) str#
accessibleName(self) str#
actionEvent(event)#
Parameters:

event (QActionEvent)

Return type:

None

actions(self) List[QAction]#
activateWindow(self)#
addAction(self, action: QAction | None)#
addActions(self, actions: Iterable[QAction])#
adjustSize(self)#
autoFillBackground(self) bool#
b_ewoks_setter(value)#
backgroundRole(self) QPalette.ColorRole#
baseSize(self) QSize#
blockSignals(self, b: bool) bool#
blockingStateChanged#
buttons_area_orientation = 1#

Orientation of the buttonsArea box; valid only if want_control_area is True. Possible values are Qt.Horizontal, Qt.Vertical and None for no buttons area

cancel_running_task()#
captionTitle = ''#
category: str = None#

Explicitly set widget category, should it not already be part of a package.

changeEvent(self, a0: QEvent | None)#
childAt(self, p: QPoint) QWidget | None#
childAt(self, ax: int, ay: int) QWidget | None
childEvent(self, a0: QChildEvent | None)#
children(self) List[QObject]#
childrenRect(self) QRect#
childrenRegion(self) QRegion#
clearFocus(self)#
clearMask(self)#
clear_downstream()#
Return type:

None

clear_messages()#

Clear all messages

close(self) bool#
closeContext()#

Save the current settings and close the current context.

Widgets that have context settings must call this method before reinitializing the user interface (e.g. combo boxes) with the new data.

closeEvent(event)#

Overloaded to save the geometry when the widget is closed

colorCount(self) int#
combo_value(combo)#

Add the value of a combo box to the report.

The methods assumes that the combo box was created by Orange.widget.gui.comboBox. If the value of the combo equals combo.emptyString, this function returns None.

connectNotify(self, signal: QMetaMethod)#
connect_control(name, func)#

Add func to the list of functions called when the value of the attribute name is set.

If the name includes a dot, it is assumed that the part the before the first dot is a name of an attribute containing an instance of a component, and the call is transferred to its conntect_control. For instance, calling `obj.connect_control(“graph.attr_x”, f) is equivalent to obj.graph.connect_control(“attr_x”, f).

Args:

name (str): attribute name func (callable): callback function

contentsMargins(self) QMargins#
contentsRect(self) QRect#
contextAboutToBeOpened#
contextClosed#
contextMenuEvent(self, a0: QContextMenuEvent | None)#
contextMenuPolicy(self) Qt.ContextMenuPolicy#
contextOpened#
controlAreaVisible = Setting "None"#
classmethod convert_signals()#

Maintenance and sanity checks for signals.

  • Convert tuple descriptions into old-style signals for backwards compatibility

  • For new-style in classes, copy attribute name to id, if id is not set explicitly

  • Check that all input signals have handlers

  • Check that the same name and/or does not refer to different signals.

This method is called from the meta-class.

copy_to_clipboard()#
create(self, window: PyQt5.sip.voidptr = None, initializeWindow: bool = True, destroyOldWindow: bool = True)#
createWindowContainer(window: QWindow | None, parent: QWidget | None = None, flags: Qt.WindowFlags | Qt.WindowType = 0) QWidget#
create_report_html()#

Start a new section in report and call send_report method to add content.

cursor(self) QCursor#
customContextMenuRequested#

customContextMenuRequested(self, pos: QPoint) [signal]

customEvent(self, a0: QEvent | None)#
default_inputs = Setting "None"#
deleteLater(self)#
depth(self) int#
description: str = ''#

Short widget description, displayed in canvas help tooltips.

destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)#
destroyed#

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

devType(self) int#
devicePixelRatio(self) int#
devicePixelRatioF(self) float#
devicePixelRatioFScale() float#
disconnect(a0: QMetaObject.Connection) bool#
disconnect(self) None
disconnectNotify(self, signal: QMetaMethod)#
done(self, a0: int)#
dragEnterEvent(self, a0: QDragEnterEvent | None)#
dragLeaveEvent(self, a0: QDragLeaveEvent | None)#
dragMoveEvent(self, a0: QDragMoveEvent | None)#
dropEvent(self, a0: QDropEvent | None)#
dumpObjectInfo(self)#
dumpObjectTree(self)#
dynamicPropertyNames(self) List[QByteArray]#
effectiveWinId(self) PyQt5.sip.voidptr#
ensurePolished(self)#
enterEvent(self, a0: QEvent | None)#
error(text_or_id=None, text=None, shown=True)#
event(self, a0: QEvent | None) bool#
eventFilter(self, a0: QObject | None, a1: QEvent | None) bool#
ewokstaskclass#

alias of TaskForTesting

exec(self) int#
exec_(self) int#
execute_ewoks_task(log_missing_inputs=True)#
Parameters:

log_missing_inputs (bool)

Return type:

None

execute_ewoks_task_without_propagation()#
Return type:

None

failures_ewoks_setter(value)#
find(a0: PyQt5.sip.voidptr) QWidget | None#
findChild(self, type: Type[QObjectT], name: str | None = '', options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) QObjectT#
findChild(self, types: Tuple[Type[QObjectT], ...], name: str | None = '', options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) QObjectT
findChildren(self, type: Type[QObjectT], name: str | None = '', options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObjectT]#
findChildren(self, types: Tuple[Type[QObjectT], ...], name: str | None = '', options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObjectT]
findChildren(self, type: Type[QObjectT], regExp: QRegExp, options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObjectT]
findChildren(self, types: Tuple[Type[QObjectT], ...], regExp: QRegExp, options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObjectT]
findChildren(self, type: Type[QObjectT], re: QRegularExpression, options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObjectT]
findChildren(self, types: Tuple[Type[QObjectT], ...], re: QRegularExpression, options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObjectT]
finished#

finished(self, result: int) [signal]

focusInEvent(self, a0: QFocusEvent | None)#
focusNextChild(self) bool#
focusNextPrevChild(self, next: bool) bool#
focusOutEvent(self, a0: QFocusEvent | None)#
focusPolicy(self) Qt.FocusPolicy#
focusPreviousChild(self) bool#
focusProxy(self) QWidget | None#
focusWidget(self) QWidget | None#
font(self) QFont#
fontInfo(self) QFontInfo#
fontMetrics(self) QFontMetrics#
foregroundRole(self) QPalette.ColorRole#
frameGeometry(self) QRect#
frameSize(self) QSize#
geometry(self) QRect#
getContentsMargins()#
get_default_input_names(include_missing=False)#
Parameters:

include_missing (bool)

Return type:

set

get_default_input_value(name, default=None)#
Parameters:
  • name (str)

  • default (Optional[Any])

Return type:

Any

get_default_input_values(include_missing=False, defaults=None)#
Parameters:
  • include_missing (bool)

  • defaults (Optional[Mapping])

Return type:

dict

get_dynamic_input_names(include_missing=False)#
Parameters:

include_missing (bool)

Return type:

set

get_dynamic_input_value(name, default=None)#
Parameters:
  • name (str)

  • default (Optional[Any])

Return type:

Any

get_dynamic_input_values(include_missing=False, defaults=None)#
Parameters:
  • include_missing (bool)

  • defaults (Optional[Mapping])

Return type:

dict

classmethod get_flags()#
classmethod get_input_names()#
classmethod get_output_names()#
classmethod get_signals(direction, ignore_old_style=False)#

Return a list of InputSignal or OutputSignal needed for the widget description. For old-style signals, the method returns the original list. New-style signals are collected into a list.

Parameters#

direction (str): “inputs” or “outputs”

Returns#

list of InputSignal or OutputSignal

get_task_input_value(name, default=<MISSING_DATA>)#
Parameters:
  • name (str)

  • default (Any)

Return type:

Any

get_task_input_values()#
Return type:

dict

get_task_inputs()#

Default inputs overwritten by inputs from previous tasks

Return type:

dict

get_task_output_value(name, default=<MISSING_DATA>)#
Parameters:

default (Any)

Return type:

Any

get_task_output_values()#
Return type:

dict

get_task_outputs()#
classmethod get_widget_description()#
get_widget_name_extension()#

Return the text that is added to the section name in the report.

For instance, the Distribution widget adds the name of the attribute whose distribution is shown.

Returns:

str or None

grab(self, rectangle: QRect = QRect(QPoint(0, 0), QSize(-1, -1))) QPixmap#
grabGesture(self, type: Qt.GestureType, flags: Qt.GestureFlags | Qt.GestureFlag = Qt.GestureFlags())#
grabKeyboard(self)#
grabMouse(self)#
grabMouse(self, a0: QCursor | Qt.CursorShape) None
grabShortcut(self, key: QKeySequence | QKeySequence.StandardKey | str | None | int, context: Qt.ShortcutContext = Qt.WindowShortcut) int#
graph_name: str = None#

Widget painted by Save graph button

graph_writers: List[ImgFormat] = [<class 'orangewidget.io.PngFormat'>, <class 'orangewidget.io.SvgFormat'>, <class 'orangewidget.io.PdfFormat'>]#
graphicsEffect(self) QGraphicsEffect | None#
graphicsProxyWidget(self) QGraphicsProxyWidget | None#
handleNewSignals()#

Invoked by the workflow signal propagation manager after all signals handlers have been called.

Return type:

None

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(event)#

Overloaded to save the geometry when the widget is hidden

icon: str = 'icons/Unknown.png'#

Widget icon path, relative to the defining module.

id = None#
property info: StateInfo#

A namespace for reporting I/O, state … related messages.

Added in version 3.19.

Returns#

namespace : StateInfo

information(text_or_id=None, text=None, shown=True)#
inherits(self, classname: str | None) bool#
initPainter(self, painter: QPainter | None)#
inputMethodEvent(self, a0: QInputMethodEvent | None)#
inputMethodHints(self) Qt.InputMethodHints#
inputMethodQuery(self, a0: Qt.InputMethodQuery) Any#
inputs = []#
insertAction(self, before: QAction | None, action: QAction | None)#
insertActions(self, before: QAction | None, actions: Iterable[QAction])#
insert_message_bar()#

Insert message bar into the widget.

This method must be called at the appropriate place in the widget layout setup by any widget that is using this mixin.

installEventFilter(self, a0: QObject | None)#
invalidatedStateChanged#
isActiveWindow(self) bool#
isAncestorOf(self, child: QWidget | None) bool#
isBlocking()#

Is this widget blocking signal processing.

isEnabled(self) bool#
isEnabledTo(self, a0: QWidget | None) bool#
isFullScreen(self) bool#
isHidden(self) bool#
isInvalidated()#

Return the widget’s invalidated flag.

Return type:

bool

isLeftToRight(self) bool#
isMaximized(self) bool#
isMinimized(self) bool#
isModal(self) bool#
isReady()#

Return the widget’s ready state

Return type:

bool

isRightToLeft(self) bool#
isSignalConnected(self, signal: QMetaMethod) bool#
isSizeGripEnabled(self) bool#
isVisible(self) bool#
isVisibleTo(self, a0: QWidget | None) bool#
isWidgetType(self) bool#
isWindow(self) bool#
isWindowModified(self) bool#
isWindowType(self) bool#
keyPressEvent(e)#
Parameters:

e (QKeyEvent)

Return type:

None

keyReleaseEvent(event)#
Parameters:

event (QKeyEvent)

Return type:

None

keyboardGrabber() QWidget | None#
keywords: Union[str, List[str]] = []#

Widget keywords, used for finding it in the quick menu.

killTimer(self, id: int)#
layout(self) QLayout | None#
layoutDirection(self) Qt.LayoutDirection#
leaveEvent(self, a0: QEvent | None)#
locale(self) QLocale#
logicalDpiX(self) int#
logicalDpiY(self) int#
lower(self)#
mainArea_width_height_ratio: Optional[float] = 1.1#

Ratio between width and height for mainArea widgets, set to None for super().sizeHint()

mapFrom(self, a0: QWidget | None, a1: QPoint) QPoint#
mapFromGlobal(self, a0: QPoint) QPoint#
mapFromParent(self, a0: QPoint) QPoint#
mapTo(self, a0: QWidget | None, a1: QPoint) QPoint#
mapToGlobal(self, a0: QPoint) QPoint#
mapToParent(self, a0: QPoint) QPoint#
mask(self) QRegion#
maximumHeight(self) int#
maximumSize(self) QSize#
maximumWidth(self) int#
menuBar()#
Return type:

QMenuBar

messageActivated#
messageDeactivated#
metaObject(self) QMetaObject | None#
metric(self, a0: QPaintDevice.PaintDeviceMetric) int#
classmethod migrate_context(context, version)#

Fix contexts to work with the current version of widgets

Parameters#

contextContext

Context object

versionOptional[int]

version of the saved context or None if context was created before migrations

classmethod migrate_settings(settings, version)#

Fix settings to work with the current version of widgets

Parameters#

settingsdict

dict of name - value mappings

versionOptional[int]

version of the saved settings or None if settings were created before migrations

minimumHeight(self) int#
minimumSize(self) QSize#
minimumSizeHint(self) QSize#
minimumWidth(self) int#
mouseDoubleClickEvent(self, a0: QMouseEvent | None)#
mouseGrabber() QWidget | None#
mouseMoveEvent(self, a0: QMouseEvent | None)#
mousePressEvent(event)#

Flash message bar icon on mouse press

mouseReleaseEvent(self, a0: QMouseEvent | None)#
move(self, a0: QPoint)#
move(self, ax: int, ay: int) None
moveEvent(event)#

Overloaded to save the geometry when the widget is moved

moveToThread(self, thread: QThread | None)#
name: str = 'TaskForTesting'#

Widget name, as presented in the Canvas.

nativeEvent(self, eventType: QByteArray | bytes | bytearray, message: PyQt5.sip.voidptr | None)#
nativeParentWidget(self) QWidget | None#
nextInFocusChain(self) QWidget | None#
normalGeometry(self) QRect#
objectName(self) str#
objectNameChanged#

objectNameChanged(self, objectName: Optional[str]) [signal]

onDeleteWidget()#

Invoked by the canvas to notify the widget it has been deleted from the workflow.

If possible, subclasses should gracefully cancel any currently executing tasks.

open(self)#
openContext(*a)#

Open a new context corresponding to the given data.

The settings handler first checks the stored context for a suitable match. If one is found, it becomes the current contexts and the widgets settings are initialized accordingly. If no suitable context exists, a new context is created and data is copied from the widget’s settings into the new context.

Widgets that have context settings must call this method after reinitializing the user interface (e.g. combo boxes) with the new data.

The arguments given to this method are passed to the context handler. Their type depends upon the handler. For instance, DomainContextHandler expects Orange.data.Table or Orange.data.Domain.

openVisualSettingsClicked#
outputs = []#
overrideWindowFlags(self, type: Qt.WindowFlags | Qt.WindowType)#
overrideWindowState(self, state: Qt.WindowStates | Qt.WindowState)#
paintEngine(self) QPaintEngine | None#
paintEvent(self, a0: QPaintEvent | None)#
paintingActive(self) bool#
palette(self) QPalette#
parent(self) QObject | None#
parentWidget(self) QWidget | None#
physicalDpiX(self) int#
physicalDpiY(self) int#
pos(self) QPoint#
property post_task_exception: Exception | None#
previousInFocusChain(self) QWidget | None#
priority: int = 9223372036854775807#

Widget priority, used for sorting within a category.

processingState#
processingStateChanged#
progressBarAdvance(value)#

Advance the progress bar by value.

Parameters#

valuefloat

Progress value increment.

progressBarFinished()#

Stop the widget’s progress (i.e hide the progress bar).

Parameters#

valuefloat

Progress value increment.

progressBarInit()#

Initialize the widget’s progress (i.e show and set progress to 0%).

progressBarSet(value)#

Set the current progress bar to value.

Parameters#

valuefloat

Progress value.

progressBarValue#

Return the state (value) of the progress bar

progressBarValueChanged#
propagate_downstream(succeeded=None)#
Parameters:

succeeded (Optional[bool])

Return type:

None

property(self, name: str | None) 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.

raise_(self)#
readyStateChanged#
receivers(self, signal: PYQT_SIGNAL) int#
recorded_calls_ewoks_setter(value)#
rect(self) QRect#
reject(self)#
rejected#

rejected(self) [signal]

releaseKeyboard(self)#
releaseMouse(self)#
releaseShortcut(self, id: int)#
removeAction(self, action: QAction | None)#
removeEventFilter(self, a0: QObject | None)#
render(self, target: QPaintDevice | None, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlags | QWidget.RenderFlag = QWidget.RenderFlags(QWidget.RenderFlag.DrawWindowBackground | QWidget.RenderFlag.DrawChildren))#
render(self, painter: QPainter | None, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlags | QWidget.RenderFlag = QWidget.RenderFlags(QWidget.RenderFlag.DrawWindowBackground | QWidget.RenderFlag.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
replaces: List[str] = None#

A list of widget IDs that this widget replaces in older workflows.

report_caption(text)#

Add caption to the report.

report_html = ''#
report_items(name, items=None)#

Add a sequence of pairs or a dictionary as a HTML list to report.

The first argument, name can be omitted.

Parameters:
  • name (str or tuple or dict) – report section name (can be omitted)

  • items (list or tuple or dict) – a sequence of items

report_list(name, data=None, limit=1000)#

Add a list to the report.

The method accepts different kinds of one-dimensional data, including Qt’s views and models.

The first argument, name can be omitted.

Parameters:
  • name (str) – name of the section

  • data (QAbstractItemModel or any object with method model() that returns QAbstractItemModel) – table to be reported

  • limit (int) – the maximal number of reported items (default: 1000)

report_name(name)#

Add a section name to the report

report_paragraph(name, text=None)#

Add a paragraph to the report.

The first argument, name can be omitted.

Parameters:
  • name (str) – name of the section

  • text (str) – text of the paragraph

report_plot(name=None, plot=None)#

Add a plot to the report.

Both arguments can be omitted.

  • report_plot(“graph name”, self.plotView) reports plot

    self.plotView with name “graph name”

  • `report_plot(self.plotView) reports plot without name

  • report_plot() reports plot stored in attribute whose name is

    taken from self.graph_name

  • report_plot(“graph name”) reports plot stored in attribute

    whose name is taken from self.graph_name

Parameters:
  • name (str or tuple or dict) – report section name (can be omitted)

  • plot (QGraphicsScene or pyqtgraph.PlotItem or pyqtgraph.PlotWidget or pyqtgraph.GraphicsWidget. If omitted, the name of the attribute storing the graph is taken from self.graph_name) – plot widget

report_raw(name, html=None)#

Add raw HTML to the report.

report_table(name, table=None, header_rows=0, header_columns=0, num_format=None, indicate_selection=True)#

Add content of a table to the report.

The method accepts different kinds of two-dimensional data, including Qt’s views and models.

The first argument, name can be omitted if other arguments (except table) are passed as keyword arguments.

Parameters:
  • name (str) – name of the section

  • table (QAbstractItemModel or QStandardItemModel or two-dimensional list or any object with method model() that returns one of the above) – table to be reported

  • header_rows (int) – the number of rows that are marked as header rows

  • header_columns (int) – the number of columns that are marked as header columns

  • num_format – numeric format, e.g. {:.3}

reshow()#

Put the widget on top of all windows

resize(self, a0: QSize)#
resize(self, w: int, h: int) None
resizeEvent(event)#

Overloaded to save the geometry (width and height) when the widget is resized.

resizing_enabled = True#

Should the widget’s window be resizeable? (if not, the widget will derive a fixed size constraint from its layout)

restoreGeometry(self, geometry: QByteArray | bytes | bytearray) bool#
restoreGeometryAndLayoutState(state)#

Restore the geometry and layout of this widget to a state previously saved with saveGeometryAndLayoutState().

Return type:

bool

Parameters#

stateQByteArray

Saved state.

Returns#

successbool

True if the state was successfully restored, False otherwise.

param state:

type state:

QByteArray

result(self) int#
retrieveSpecificSettings()#

Retrieve data that is not registered as setting.

This method is called by orangewidget.settings.ContextHandler.settings_to_widget. Widgets may define it to retrieve any data that is not stored in widget attributes. See Orange.widgets.data.owcolor.OWColor for an example.

saveGeometry(self) QByteArray#
saveGeometryAndLayoutState()#

Save the current geometry and layout state of this widget and child windows (if applicable).

Return type:

QByteArray

Returns#

stateQByteArray

Saved state.

saveSettings()#

Writes widget instance’s settings to class defaults. Usually called when the widget is deleted.

save_graph()#

Save the graph with the name given in class attribute graph_name.

The method is called by the Save graph button, which is created automatically if the graph_name is defined.

save_position = True#

Should the widget remember its window position/size?

savedWidgetGeometry = Setting "None"#
screen(self) QScreen | None#
scroll(self, dx: int, dy: int)#
scroll(self, dx: int, dy: int, a2: QRect) None
send(signalName, value, *args, **kwargs)#

Send a value on the signalName widget output.

An output with signalName must be defined in the class outputs list.

sender(self) QObject | None#
senderSignalIndex(self) int#
setAcceptDrops(self, on: bool)#
setAccessibleDescription(self, description: str | None)#
setAccessibleName(self, name: str | None)#
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
setBlocking(state=True)#

Set blocking flag for this widget.

While this flag is set this widget and all its descendants will not receive any new signals from the workflow signal manager. :rtype: None

Deprecated since version 4.2.0: Setting/clearing this flag is equivalent to setInvalidated(True); setReady(False) and setInvalidated(False); setReady(True) respectively. Use setInvalidated() and setReady() in new code.

setCaption(caption)#
setContentsMargins(self, left: int, top: int, right: int, bottom: int)#
setContentsMargins(self, margins: QMargins) None
setContextMenuPolicy(self, policy: Qt.ContextMenuPolicy)#
setCursor(self, a0: 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 | None)#
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 | None)#
setHidden(self, hidden: bool)#
setInputMethodHints(self, hints: Qt.InputMethodHints | Qt.InputMethodHint)#
setInvalidated(state)#

Set/clear invalidated flag on this widget.

While this flag is set none of its descendants will receive new signals from the workflow execution manager.

This is useful for instance if the widget does it’s work in a separate thread or schedules processing from the event queue. In this case it can set the invalidated flag when starting a task. After the task has completed the widget can clear the flag and send the updated outputs.

Note

Failure to clear this flag will block dependent nodes forever.

See also

invalidate() for a more fine grained invalidation.

Parameters:

state (bool)

Return type:

None

setLayout(self, a0: QLayout | None)#
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)#
setModal(self, modal: bool)#
setMouseTracking(self, enable: bool)#
setObjectName(self, name: str | None)#
setPalette(self, a0: QPalette)#
setParent(self, parent: QWidget | None)#
setParent(self, parent: QWidget | None, f: Qt.WindowFlags | Qt.WindowType) None
setProperty(self, name: str | None, value: Any) bool#
setReady(state)#

Set/clear ready flag on this widget.

While a ready flag is unset, the widget will not receive any new input updates from the workflow execution manager.

By default this flag is True.

Parameters:

state (bool)

Return type:

None

setResult(self, r: int)#
setShortcutAutoRepeat(self, id: int, enabled: bool = True)#
setShortcutEnabled(self, id: int, enabled: bool = True)#
setSizeGripEnabled(self, a0: bool)#
setSizeIncrement(self, w: int, h: int)#
setSizeIncrement(self, s: QSize) None
setSizePolicy(self, a0: QSizePolicy)#
setSizePolicy(self, hor: QSizePolicy.Policy, ver: QSizePolicy.Policy) None
setStatusMessage(text)#

Set widget’s status message.

This is a short status string to be displayed inline next to the instantiated widget icon in the canvas.

setStatusTip(self, a0: str | None)#
setStyle(self, a0: QStyle | None)#
setStyleSheet(self, styleSheet: str | None)#
setTabOrder(a0: QWidget | None, a1: QWidget | None)#
setTabletTracking(self, enable: bool)#
setToolTip(self, a0: str | None)#
setToolTipDuration(self, msec: int)#
setUpdatesEnabled(self, enable: bool)#
setVisible(visible)#

Reimplemented from QDialog.setVisible.

Parameters:

visible (bool)

Return type:

None

setWhatsThis(self, a0: str | None)#
setWindowFilePath(self, filePath: str | None)#
setWindowFlag(self, a0: Qt.WindowType, on: bool = True)#
setWindowFlags(self, type: Qt.WindowFlags | Qt.WindowType)#
setWindowIcon(self, icon: QIcon)#
setWindowIconText(self, a0: str | None)#
setWindowModality(self, windowModality: Qt.WindowModality)#
setWindowModified(self, a0: bool)#
setWindowOpacity(self, level: float)#
setWindowRole(self, a0: str | None)#
setWindowState(self, state: Qt.WindowStates | Qt.WindowState)#
setWindowTitle(self, a0: str | None)#
set_basic_layout()#

Provide the basic widget layout

Which parts are created is regulated by class attributes want_main_area, want_control_area, want_message_bar and buttons_area_orientation, the presence of method send_report and attribute graph_name.

set_default_input(name, value)#
Parameters:
  • name (str)

  • value (Any)

Return type:

None

set_dynamic_input(name, value)#
Parameters:
  • name (str)

  • value (Any)

Return type:

None

set_partial_input_summary(name, partial_summary, *, id=None, index=None)#
set_partial_output_summary(name, partial_summary, *, id=None)#
settingsAboutToBePacked#

Signal emitted before settings are packed and saved. (gives you a chance to sync state to Setting values)

settingsHandler: SettingsHandler = <orangewidget.settings.SettingsHandler object>#

Settings handler, can be overridden for context handling.

settings_version: int = 1#

Version of the settings representation (subclasses should increase this number when they make breaking changes to settings representation (a settings that used to store int now stores string) and handle migrations in migrate and migrate_context settings)

sharedPainter(self) QPainter | None#
short_name: str = None#

Short name for widget, displayed in toolbox. (set this if the widget’s conventional name is long)

show(self)#
showEvent(event)#

Overloaded to restore the geometry when the widget is shown

showFullScreen(self)#
showMaximized(self)#
showMinimized(self)#
showNormal(self)#
show_preview(summaries)#
show_report()#

Raise the report window.

signalsBlocked(self) bool#
size(self) QSize#
sizeHint(self) QSize#
sizeIncrement(self) QSize#
sizePolicy(self) QSizePolicy#
stackUnder(self, a0: QWidget | None)#
startTime = -1#
startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int#
staticMetaObject = <PyQt5.QtCore.QMetaObject object>#
statusBar()#

Return the widget’s status bar.

The status bar can be hidden/shown (self.statusBar().setVisible()).

Return type:

QStatusBar

Note#

The status bar takes control of the widget’s bottom margin (contentsMargins) to layout itself in the OWBaseWidget.

statusMessage()#

Return the widget’s status message.

statusMessageChanged#

Widget’s status message has changed.

statusTip(self) str#
storeSpecificSettings()#

Store data that is not registered as setting.

This method is called by orangewidget.settings.ContextHandler.settings_from_widget. Widgets may define it to store any data that is not stored in widget attributes. See Orange.widgets.data.owcolor.OWColor for an example.

style(self) QStyle | None#
styleSheet(self) str#
tabletEvent(self, a0: QTabletEvent | None)#
property task_done: bool | None#
property task_exception: Exception | None#
property task_executor_queue#
task_output_changed()#

Called when the task output has changed

Return type:

None

property task_output_changed_callbacks: list#
property task_succeeded: bool | None#
testAttribute(self, attribute: Qt.WidgetAttribute) bool#
thread(self) QThread | None#
timerEvent(self, a0: QTimerEvent | None)#
toolTip(self) str#
toolTipDuration(self) int#
tr(self, sourceText: str | None, disambiguation: str | None = None, n: int = -1) str#
trigger_downstream()#
Return type:

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)#
update_default_inputs(**inputs)#
Return type:

None

update_dynamic_inputs(**inputs)#
Return type:

None

update_message_state()#

Show and update (or hide) the content of the widget’s message bar.

The method is connected to widget’s signals messageActivated and messageDeactivated.

update_summaries()#
updatesEnabled(self) bool#
visibleRegion(self) QRegion#
want_basic_layout = True#

Should the widget have basic layout? (if not, the rest of the GUI layout settings are ignored)

want_control_area = True#

Should the widget construct a controlArea?

want_main_area = True#

Should the widget construct a mainArea? (a resizable area to the right of the controlArea)

want_message_bar = True#

Should the widget construct a message_bar? (if not, make sure you show warnings/errors in some other way)

warning(text_or_id=None, text=None, shown=True)#
whatsThis(self) str#
wheelEvent(self, a0: QWheelEvent | None)#
widgetStateChanged#
width(self) int#
widthMM(self) int#
winId(self) PyQt5.sip.voidptr#
window(self) QWidget | None#
windowFilePath(self) str#
windowFlags(self) Qt.WindowFlags#
windowHandle(self) QWindow | None#
windowIcon(self) QIcon#
windowIconChanged#

windowIconChanged(self, icon: QIcon) [signal]

windowIconText(self) str#
windowIconTextChanged#

windowIconTextChanged(self, iconText: Optional[str]) [signal]

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

windowTitleChanged(self, title: Optional[str]) [signal]

windowType(self) Qt.WindowType#
workflowEnv()#

Return (a view to) the workflow runtime environment.

Returns#

env : types.MappingProxyType

workflowEnvChanged(key, value, oldvalue)#

A workflow environment variable key has changed to value.

Called by the canvas framework to notify widget of a change in the workflow runtime environment.

The default implementation does nothing.

x(self) int#
y(self) int#