Canvas Scene (scene)

# Orange Canvas Core 0.0.8 documentation

## Canvas Scene (scene)

# Canvas Scene (`scene`)

## Canvas Graphics Scene

class `orangecanvas.canvas.scene.` `CanvasScene`(*args, **kwargs)

  Bases: `PyQt5.QtWidgets.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.

  `link_item_added`(LinkItem)

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

  `link_item_removed`(LinkItem)

    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 (clicked)

  `node_item_hovered`(NodeItem)

    An node item has been hovered

  `link_item_hovered`(LinkItem)

    Link item has been hovered

  `clear_scene`()

    Clear (reset) the scene.

  `set_scheme`(scheme)

    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)

    Set the widget registry.

  `set_anchor_layout`(layout)

    Set an `AnchorLayout`

  `anchor_layout`()

    Return the anchor layout instance.

  `set_channel_names_visible`(visible)

    Set the channel names visibility.

  `channel_names_visible`()

    Return the channel names visibility state.

  `set_node_animation_enabled`(enabled)

    Set node animation enabled state.

  `add_node_item`(item)

    Add a `NodeItem` instance to the scene.

  `add_node`(node)

    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, category_desc=None)

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

  `remove_node_item`(item)

    Remove item (`NodeItem`) from the scene.

  `remove_node`(node)

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

  `node_items`()

    Return all `NodeItem` instances in the scene.

  `add_link_item`(item)

    Add a link (`LinkItem`) to the scene.

  `add_link`(scheme_link)

    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`.

  `new_link_item`(source_item, source_channel, sink_item, sink_channel)

    Construct and return a new `LinkItem`

  `remove_link_item`(item)

    Remove a link (`LinkItem`) from the scene.

  `remove_link`(scheme_link)

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

  `link_items`()

    Return all `LinkItem`s in the scene.

  `add_annotation_item`(annotation)

    Add an `Annotation` item to the scene.

  `add_annotation`(scheme_annot)

    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)

    Remove an `Annotation` instance from the scene.

  `remove_annotation`(scheme_annotation)

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

  `annotation_items`()

    Return all `Annotation` items in the scene.

  `commit_scheme_node`(node)

    Commit the node into the scheme.

  `commit_scheme_link`(link)

    Commit a scheme link.

  `node_for_item`(item)

    Return the SchemeNode for the item.

  `item_for_node`(node)

    Return the `NodeItem` instance for a `SchemeNode`.

  `link_for_item`(item)

    Return the SchemeLink for `item (`LinkItem`).

  `item_for_link`(link)

    Return the `LinkItem` for a `SchemeLink`

  `selected_node_items`()

    Return the selected `NodeItem`’s.

  `selected_annotation_items`()

    Return the selected `Annotation`’s

  `node_links`(node_item)

    Return all links from the node_item (`NodeItem`).

  `node_output_links`(node_item)

    Return a list of all output links from node_item.

  `node_input_links`(node_item)

    Return a list of all input links for node_item.

  `neighbor_nodes`(node_item)

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

  `item_at`(pos, type_or_tuple=None, buttons=0)

    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).

`orangecanvas.canvas.scene.` `grab_svg`(scene)

  Return a SVG rendering of the scene contents.

  Parameters: | scene (`CanvasScene`) –