Canvas Scene (scene)

Canvas Graphics Scene

class orangecanvas.canvas.scene.CanvasScene(*args: Any, **kwargs: Any)[source]

Bases: QGraphicsScene

A Graphics Scene for displaying an Scheme instance.

node_item_added(NodeItem)

Signal emitted when a NodeItem has been added to the scene.

node_item_removed(NodeItem)

Signal emitted when a NodeItem has been removed from the scene.

Signal emitted when a new LinkItem has been added to the scene.

Signal emitted when a LinkItem has been removed.

annotation_added(Annotation)

Signal emitted when a Annotation item has been added.

annotation_removed(Annotation)

Signal emitted when a Annotation item has been removed.

node_item_position_changed(NodeItem, QPointF)

Signal emitted when the position of a NodeItem has changed.

node_item_double_clicked(NodeItem)

Signal emitted when an NodeItem has been double clicked.

node_item_activated(NodeItem)

An node item has been activated (double-clicked)

node_item_hovered(NodeItem)

An node item has been hovered

Link item has been hovered

Link item has been activated (double-clicked)

clear_scene() None[source]

Clear (reset) the scene.

set_scheme(scheme: Scheme) None[source]

Set the scheme to display. Populates the scene with nodes and links already in the scheme. Any further change to the scheme will be reflected in the scene.

Parameters:

scheme (Scheme)

set_registry(registry: WidgetRegistry) None[source]

Set the widget registry.

set_anchor_layout(layout)[source]

Set an AnchorLayout

anchor_layout()[source]

Return the anchor layout instance.

set_channel_names_visible(visible: bool) None[source]

Set the channel names visibility.

channel_names_visible() bool[source]

Return the channel names visibility state.

set_node_animation_enabled(enabled: bool) None[source]

Set node animation enabled state.

add_node_item(item: NodeItem) NodeItem[source]

Add a NodeItem instance to the scene.

add_node(node: SchemeNode) NodeItem[source]

Add and return a default constructed NodeItem for a SchemeNode instance node. If the node is already in the scene do nothing and just return its item.

new_node_item(widget_desc: WidgetDescription, category_desc: CategoryDescription | None = None) NodeItem[source]

Construct an new NodeItem from a WidgetDescription. Optionally also set CategoryDescription.

remove_node_item(item: NodeItem) None[source]

Remove item (NodeItem) from the scene.

remove_node(node: SchemeNode) None[source]

Remove the NodeItem instance that was previously constructed for a SchemeNode node using the add_node method.

node_items() List[NodeItem][source]

Return all NodeItem instances in the scene.

Add a link (LinkItem) to the scene.

Create and add a LinkItem instance for a SchemeLink instance. If the link is already in the scene do nothing and just return its LinkItem.

Construct and return a new LinkItem

Remove a link (LinkItem) from the scene.

Remove a LinkItem instance that was previously constructed for a SchemeLink instance link using the add_link method.

Return all LinkItem s in the scene.

add_annotation_item(annotation: Annotation) Annotation[source]

Add an Annotation item to the scene.

add_annotation(scheme_annot: BaseSchemeAnnotation) Annotation[source]

Create a new item for SchemeAnnotation and add it to the scene. If the scheme_annot is already in the scene do nothing and just return its item.

remove_annotation_item(annotation: Annotation) None[source]

Remove an Annotation instance from the scene.

remove_annotation(scheme_annotation: BaseSchemeAnnotation) None[source]

Remove an Annotation instance that was previously added using add_anotation().

annotation_items() List[Annotation][source]

Return all Annotation items in the scene.

commit_scheme_node(node)[source]

Commit the node into the scheme.

Commit a scheme link.

node_for_item(item: NodeItem) SchemeNode[source]

Return the SchemeNode for the item.

item_for_node(node: SchemeNode) NodeItem[source]

Return the NodeItem instance for a SchemeNode.

Return the SchemeLink for `item (LinkItem).

Return the LinkItem for a SchemeLink

selected_node_items() List[NodeItem][source]

Return the selected NodeItem’s.

selected_annotation_items() List[Annotation][source]

Return the selected Annotation’s

Return all links from the node_item (NodeItem).

Return a list of all output links from node_item.

Return a list of all input links for node_item.

neighbor_nodes(node_item: NodeItem) List[NodeItem][source]

Return a list of node_item’s (class:NodeItem) neighbor nodes.

item_at(pos: QPointF, type_or_tuple: Type[T] | None = None, buttons: Qt.MouseButtons = 0) T | None[source]

Return the item at pos that is an instance of the specified type (type_or_tuple). If buttons (Qt.MouseButtons) is given only return the item if it is the top level item that would accept any of the buttons (QGraphicsItem.acceptedMouseButtons).

mousePressEvent(self, event: QGraphicsSceneMouseEvent | None)[source]
mouseMoveEvent(self, event: QGraphicsSceneMouseEvent | None)[source]
mouseReleaseEvent(self, event: QGraphicsSceneMouseEvent | None)[source]
mouseDoubleClickEvent(self, event: QGraphicsSceneMouseEvent | None)[source]
keyPressEvent(self, event: QKeyEvent | None)[source]
keyReleaseEvent(self, event: QKeyEvent | None)[source]
contextMenuEvent(self, event: QGraphicsSceneContextMenuEvent | None)[source]
dragEnterEvent(self, event: QGraphicsSceneDragDropEvent | None)[source]
dragMoveEvent(self, event: QGraphicsSceneDragDropEvent | None)[source]
dragLeaveEvent(self, event: QGraphicsSceneDragDropEvent | None)[source]
dropEvent(self, event: QGraphicsSceneDragDropEvent | None)[source]
orangecanvas.canvas.scene.grab_svg(scene: QGraphicsScene) str[source]

Return a SVG rendering of the scene contents.

Parameters:

scene (CanvasScene)