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.
- 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 (double-clicked)
- node_item_hovered(NodeItem)
An node item has been hovered
- link_item_hovered(LinkItem)
Link item has been hovered
- link_item_activated
Link item has been activated (double-clicked)
- 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.
- add_node(node: SchemeNode) NodeItem [source]
Add and return a default constructed
NodeItem
for aSchemeNode
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(node: SchemeNode) None [source]
Remove the
NodeItem
instance that was previously constructed for aSchemeNode
node using the add_node method.
- add_link(scheme_link: SchemeLink) LinkItem [source]
Create and add a
LinkItem
instance for aSchemeLink
instance. If the link is already in the scene do nothing and just return itsLinkItem
.
- new_link_item(source_item: NodeItem, source_channel: OutputSignal, sink_item: NodeItem, sink_channel: InputSignal) LinkItem [source]
Construct and return a new
LinkItem
- remove_link(scheme_link: SchemeLink) None [source]
Remove a
LinkItem
instance that was previously constructed for aSchemeLink
instance link using the add_link method.
- 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 usingadd_anotation()
.
- annotation_items() List[Annotation] [source]
Return all
Annotation
items in the scene.
- 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 aSchemeNode
.
- link_for_item(item: LinkItem) SchemeLink [source]
Return the SchemeLink for `item (
LinkItem
).
- item_for_link(link: SchemeLink) LinkItem [source]
Return the
LinkItem
for aSchemeLink
- selected_annotation_items() List[Annotation] [source]
Return the selected
Annotation
’s
- node_links(node_item: NodeItem) List[LinkItem] [source]
Return all links from the node_item (
NodeItem
).
- node_output_links(node_item: NodeItem) List[LinkItem] [source]
Return a list of all output links from node_item.
- node_input_links(node_item: NodeItem) List[LinkItem] [source]
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).
- orangecanvas.canvas.scene.grab_svg(scene: QGraphicsScene) str [source]
Return a SVG rendering of the scene contents.
- Parameters:
scene (
CanvasScene
)