Overview — Orange Canvas Core 0.0.9 documentation

# Orange Canvas Core 0.0.9 documentation

## Overview

Orange Canvas application is build around the a workflow model (scheme), which is implemented in the `scheme` package. Briefly speaking a workflow is a simple graph structure (most commonly a Directed Acyclic Graph - DAG). The nodes in this graph represent some action/task to be computed. A node (also commonly referred to as a widget) has a set of inputs and outputs on which it receives and sends objects.

The set of available node types for a workflow are kept in a (`WidgetRegistry`). `WidgetDiscovery` can be used (but not required) to populate the registry.

## Workflow Model

The workflow model is implemented by `Scheme`. It is composed by a set of node (`SchemeNode`) instances and links (`SchemeLink`) between them. Every node has a corresponding `WidgetDescription` defining its inputs and outputs (restricting the node’s connectivity).

In addition, it can also contain workflow annotations. These are only used when displaying the workflow in a GUI.

### Widget Description

- `WidgetDescription`
- `CategoryDescription`

### Workflow Execution

- `SignalManager`

## Workflow View

- The workflow view (`CanvasScene`)
- The workflow editor (`SchemeEditWidget`)