Attention: Here be dragons (unstable version)

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Redot.

GraphElement

Experimental: This class may be changed or removed in future versions.

Inherits: Container < Control < CanvasItem < Node < Object

Inherited By: GraphFrame, GraphNode

A container that represents a basic element that can be placed inside a GraphEdit control.

Description

GraphElement allows to create custom elements for a GraphEdit graph. By default such elements can be selected, resized, and repositioned, but they cannot be connected. For a graph element that allows for connections see GraphNode.

Properties

bool

draggable

true

Vector2

position_offset

Vector2(0, 0)

bool

resizable

false

bool

selectable

true

bool

selected

false

Theme Properties

Texture2D

resizer


Signals

delete_request() 🔗

Emitted when removing the GraphElement is requested.


dragged(from: Vector2, to: Vector2) 🔗

Emitted when the GraphElement is dragged.


node_deselected() 🔗

Emitted when the GraphElement is deselected.


node_selected() 🔗

Emitted when the GraphElement is selected.


position_offset_changed() 🔗

Emitted when the GraphElement is moved.


raise_request() 🔗

Emitted when displaying the GraphElement over other ones is requested. Happens on focusing (clicking into) the GraphElement.


resize_end(new_size: Vector2) 🔗

Emitted when releasing the mouse button after dragging the resizer handle (see resizable).


resize_request(new_size: Vector2) 🔗

Emitted when resizing the GraphElement is requested. Happens on dragging the resizer handle (see resizable).


Property Descriptions

bool draggable = true 🔗

  • void set_draggable(value: bool)

  • bool is_draggable()

If true, the user can drag the GraphElement.


Vector2 position_offset = Vector2(0, 0) 🔗

  • void set_position_offset(value: Vector2)

  • Vector2 get_position_offset()

The offset of the GraphElement, relative to the scroll offset of the GraphEdit.


bool resizable = false 🔗

  • void set_resizable(value: bool)

  • bool is_resizable()

If true, the user can resize the GraphElement.

Note: Dragging the handle will only emit the resize_request and resize_end signals, the GraphElement needs to be resized manually.


bool selectable = true 🔗

  • void set_selectable(value: bool)

  • bool is_selectable()

If true, the user can select the GraphElement.


bool selected = false 🔗

  • void set_selected(value: bool)

  • bool is_selected()

If true, the GraphElement is selected.


Theme Property Descriptions

Texture2D resizer 🔗

The icon used for the resizer, visible when resizable is enabled.