Attention: Here be dragons

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

GraphEdit

Eredita: Control < CanvasItem < Node < Object

Un editor per strutture simili a grafici, che utilizza GraphNode.

Descrizione

GraphEdit fornisce strumenti per la creazione, la manipolazione e la visualizzazione di vari grafici. Il suo scopo principale nel motore è quello di alimentare i sistemi di programmazione visuale, come gli shader visuali, ma è anche disponibile per l'uso nei progetti utente.

GraphEdit di per sé è solo un contenitore vuoto, che rappresenta una griglia infinita in cui si possono posizionare i GraphNode. Ogni GraphNode rappresenta un nodo nel grafico, una singola unità di dati nello schema collegato. GraphEdit, a sua volta, aiuta a controllare varie interazioni con i nodi e tra i nodi. Quando l'utente tenta di collegare, scollegare o eliminare un GraphNode, un segnale viene emesso nel GraphEdit, ma non viene intrapresa alcuna azione predefinita. È la responsabilità del programmatore che utilizza questo controllo di implementare la logica necessaria per gestire ciascuna richiesta.

Prestazioni: Si consiglia vivamente di abilitare la modalità di utilizzo a basso consumo (vedi OS.low_processor_usage_mode) quando si utilizzano i GraphEdit.

Nota: Tieni presente che Node.get_children() restituirà anche il nodo del livello di collegamento denominato _connection_layer a causa di limitazioni tecniche. Questo comportamento potrebbe cambiare nelle versioni future.

Proprietà

bool

clip_contents

true (overrides Control)

bool

connection_lines_antialiased

true

float

connection_lines_curvature

0.5

float

connection_lines_thickness

4.0

Array[Dictionary]

connections

[]

FocusMode

focus_mode

2 (overrides Control)

GridPattern

grid_pattern

0

bool

minimap_enabled

true

float

minimap_opacity

0.65

Vector2

minimap_size

Vector2(240, 160)

PanningScheme

panning_scheme

0

bool

right_disconnects

false

Vector2

scroll_offset

Vector2(0, 0)

bool

show_arrange_button

true

bool

show_grid

true

bool

show_grid_buttons

true

bool

show_menu

true

bool

show_minimap_button

true

bool

show_zoom_buttons

true

bool

show_zoom_label

false

int

snapping_distance

20

bool

snapping_enabled

true

Dictionary

type_names

{}

float

zoom

1.0

float

zoom_max

2.0736003

float

zoom_min

0.23256795

float

zoom_step

1.2

Metodi

PackedVector2Array

_get_connection_line(from_position: Vector2, to_position: Vector2) virtual const

bool

_is_in_input_hotzone(in_node: Object, in_port: int, mouse_position: Vector2) virtual

bool

_is_in_output_hotzone(in_node: Object, in_port: int, mouse_position: Vector2) virtual

bool

_is_node_hover_valid(from_node: StringName, from_port: int, to_node: StringName, to_port: int) virtual

void

add_valid_connection_type(from_type: int, to_type: int)

void

add_valid_left_disconnect_type(type: int)

void

add_valid_right_disconnect_type(type: int)

void

arrange_nodes()

void

attach_graph_element_to_frame(element: StringName, frame: StringName)

void

clear_connections()

Error

connect_node(from_node: StringName, from_port: int, to_node: StringName, to_port: int, keep_alive: bool = false)

void

detach_graph_element_from_frame(element: StringName)

void

disconnect_node(from_node: StringName, from_port: int, to_node: StringName, to_port: int)

void

force_connection_drag_end()

Array[StringName]

get_attached_nodes_of_frame(frame: StringName)

Dictionary

get_closest_connection_at_point(point: Vector2, max_distance: float = 4.0) const

int

get_connection_count(from_node: StringName, from_port: int)

PackedVector2Array

get_connection_line(from_node: Vector2, to_node: Vector2) const

Array[Dictionary]

get_connection_list_from_node(node: StringName) const

Array[Dictionary]

get_connections_intersecting_with_rect(rect: Rect2) const

GraphFrame

get_element_frame(element: StringName)

HBoxContainer

get_menu_hbox()

bool

is_node_connected(from_node: StringName, from_port: int, to_node: StringName, to_port: int)

bool

is_valid_connection_type(from_type: int, to_type: int) const

void

remove_valid_connection_type(from_type: int, to_type: int)

void

remove_valid_left_disconnect_type(type: int)

void

remove_valid_right_disconnect_type(type: int)

void

set_connection_activity(from_node: StringName, from_port: int, to_node: StringName, to_port: int, amount: float)

void

set_selected(node: Node)

Proprietà del tema

Color

activity

Color(1, 1, 1, 1)

Color

connection_hover_tint_color

Color(0, 0, 0, 0.3)

Color

connection_rim_color

Color(0.1, 0.1, 0.1, 0.6)

Color

connection_valid_target_tint_color

Color(1, 1, 1, 0.4)

Color

grid_major

Color(1, 1, 1, 0.2)

Color

grid_minor

Color(1, 1, 1, 0.05)

Color

selection_fill

Color(1, 1, 1, 0.3)

Color

selection_stroke

Color(1, 1, 1, 0.8)

int

connection_hover_thickness

0

int

port_hotzone_inner_extent

22

int

port_hotzone_outer_extent

26

Texture2D

grid_toggle

Texture2D

layout

Texture2D

minimap_toggle

Texture2D

snapping_toggle

Texture2D

zoom_in

Texture2D

zoom_out

Texture2D

zoom_reset

StyleBox

menu_panel

StyleBox

panel

StyleBox

panel_focus


Segnali

begin_node_move() 🔗

Emesso all'inizio del movimento di un GraphElement.


connection_drag_ended() 🔗

Emesso alla fine di un trascinamento di collegamento.


connection_drag_started(from_node: StringName, from_port: int, is_output: bool) 🔗

Emesso all'inizio di un trascinamento di collegamento.


connection_from_empty(to_node: StringName, to_port: int, release_position: Vector2) 🔗

Emesso quando l'utente trascina un collegamento da una porta di ingresso nello spazio vuoto del grafico.


connection_request(from_node: StringName, from_port: int, to_node: StringName, to_port: int) 🔗

Emesso al GraphEdit quando si tenta di creare il collegamento tra la porta from_port del nodo GraphNode from_node e la porta to_port del nodo GraphNode to_node.


connection_to_empty(from_node: StringName, from_port: int, release_position: Vector2) 🔗

Emesso quando l'utente trascina un collegamento da una porta di uscita nello spazio vuoto del grafico.


copy_nodes_request() 🔗

Emesso quando questo GraphEdit cattura un'azione ui_copy (Ctrl + C per impostazione predefinita). In generale, questo segnale indica che i GraphElement selezionati devono essere copiati.


cut_nodes_request() 🔗

Emesso quando questo GraphEdit cattura un'azione ui_cut (Ctrl + X per impostazione predefinita). In generale, questo segnale indica che i GraphElement selezionati devono essere tagliati.


delete_nodes_request(nodes: Array[StringName]) 🔗

Emesso quando questo GraphEdit cattura un'azione ui_graph_delete (Delete per impostazione predefinita).

nodes è un array di nomi di nodi che dovrebbero essere rimossi. Questi solitamente includono tutti i nodi selezionati.


disconnection_request(from_node: StringName, from_port: int, to_node: StringName, to_port: int) 🔗

Emesso al GraphEdit quando si tenta di rimuovere il collegamento tra la porta from_port del nodo GraphNode from_node e la porta to_port del nodo GraphNode to_node.


duplicate_nodes_request() 🔗

Emesso quando questo GraphEdit cattura un'azione ui_graph_duplicate (Ctrl + D per impostazione predefinita). In generale, questo segnale indica che i GraphElement selezionati devono essere duplicati.


end_node_move() 🔗

Emesso alla fine del movimento di un GraphElement.


frame_rect_changed(frame: GraphFrame, new_rect: Rect2) 🔗

Emesso quando il GraphFrame frame è ridimensionato a new_rect.


graph_elements_linked_to_frame_request(elements: Array, frame: StringName) 🔗

Emesso quando uno o più GraphElement vengono rilasciati sul GraphFrame denominato frame, quando non erano stati precedentemente collegati a nessun altro.

elements è un array di GraphElement da collegare.


node_deselected(node: Node) 🔗

Emesso quando il nodo GraphElement fornito viene deselezionato.


node_selected(node: Node) 🔗

Emesso quando il nodo GraphElement fornito viene selezionato.


paste_nodes_request() 🔗

Emesso quando questo GraphEdit cattura un'azione ui_paste (Ctrl + V per impostazione predefinita). In generale, questo segnale indica che i GraphElement copiati in precedenza devono essere incollati.


popup_request(at_position: Vector2) 🔗

Emesso quando viene richiesto un popup. Avviene quando si clicca con il pulsante destro del mouse in GraphEdit. at_position è la posizione del puntatore del mouse quando viene inviato il segnale.


scroll_offset_changed(offset: Vector2) 🔗

Emesso quando l'offset di scorrimento viene modificato dall'utente. Non verrà emesso quando viene modificato in codice.


Enumerazioni

enum PanningScheme: 🔗

PanningScheme SCROLL_ZOOMS = 0

Rotellina del mouse per eseguire lo zoom, Ctrl + Rotellina del mouse per spostare la vista.

PanningScheme SCROLL_PANS = 1

Rotellina del mouse per spostare la vista, Ctrl + Rotellina del mouse per eseguire lo zoom.


enum GridPattern: 🔗

GridPattern GRID_PATTERN_LINES = 0

Disegna la griglia utilizzando linee continue.

GridPattern GRID_PATTERN_DOTS = 1

Disegna la griglia utilizzando puntini.


Descrizioni delle proprietà

bool connection_lines_antialiased = true 🔗

  • void set_connection_lines_antialiased(value: bool)

  • bool is_connection_lines_antialiased()

Se true, le linee tra i nodi useranno l'antialiasing.


float connection_lines_curvature = 0.5 🔗

  • void set_connection_lines_curvature(value: float)

  • float get_connection_lines_curvature()

La curvatura delle linee tra i nodi. 0 produce linee rette.


float connection_lines_thickness = 4.0 🔗

  • void set_connection_lines_thickness(value: float)

  • float get_connection_lines_thickness()

Lo spessore delle linee tra i nodi.


Array[Dictionary] connections = [] 🔗

I collegamenti tra i GraphNode.

Un collegamento è rappresentato come Dictionary nel formato:

{
    from_node: StringName,
    from_port: int,
    to_node: StringName,
    to_port: int,
    keep_alive: bool
}

I collegamenti con keep_alive impostato su false potrebbero essere eliminati automaticamente se non validi durante un ridisegno.


GridPattern grid_pattern = 0 🔗

Il motivo utilizzato per disegnare la griglia.


bool minimap_enabled = true 🔗

  • void set_minimap_enabled(value: bool)

  • bool is_minimap_enabled()

Se true, la minimappa è visibile.


float minimap_opacity = 0.65 🔗

  • void set_minimap_opacity(value: float)

  • float get_minimap_opacity()

L'opacità del rettangolo della minimappa.


Vector2 minimap_size = Vector2(240, 160) 🔗

Le dimensioni del rettangolo della minimappa. La mappa stessa si basa sulle dimensioni dell'area della griglia ed è ridimensionata per adattarsi a questo rettangolo.


PanningScheme panning_scheme = 0 🔗

Definisce lo schema di controllo per la panoramica con la rotellina del mouse.


bool right_disconnects = false 🔗

  • void set_right_disconnects(value: bool)

  • bool is_right_disconnects_enabled()

Se true, abilita lo scollegamento dei collegamenti esistenti nel GraphEdit trascinando l'estremità destra.


Vector2 scroll_offset = Vector2(0, 0) 🔗

Lo scostamento di scorrimento.


bool show_arrange_button = true 🔗

  • void set_show_arrange_button(value: bool)

  • bool is_showing_arrange_button()

Se true, il pulsante per organizzare automaticamente i nodi nel grafico è visibile.


bool show_grid = true 🔗

  • void set_show_grid(value: bool)

  • bool is_showing_grid()

Se true, la griglia è visibile.


bool show_grid_buttons = true 🔗

  • void set_show_grid_buttons(value: bool)

  • bool is_showing_grid_buttons()

Se true, i pulsanti che permettono di configurare la griglia e le opzioni di scatto sono visibili.


bool show_menu = true 🔗

  • void set_show_menu(value: bool)

  • bool is_showing_menu()

Se true, la barra degli strumenti del menu è visibile.


bool show_minimap_button = true 🔗

  • void set_show_minimap_button(value: bool)

  • bool is_showing_minimap_button()

Se true, il pulsante per commutare la minimappa è visibile.


bool show_zoom_buttons = true 🔗

  • void set_show_zoom_buttons(value: bool)

  • bool is_showing_zoom_buttons()

Se true, i pulsanti che permettono di cambiare e ripristinare il livello di zoom sono visibili.


bool show_zoom_label = false 🔗

  • void set_show_zoom_label(value: bool)

  • bool is_showing_zoom_label()

Se true, l'etichetta con il livello di zoom attuale è visibile. Il livello di zoom viene visualizzato in percentuale.


int snapping_distance = 20 🔗

  • void set_snapping_distance(value: int)

  • int get_snapping_distance()

La distanza d'aggancio in pixel, determina anche la distanza delle linee nella griglia.


bool snapping_enabled = true 🔗

  • void set_snapping_enabled(value: bool)

  • bool is_snapping_enabled()

Se true, l'aggancio è abilitato.


Dictionary type_names = {} 🔗

Dictionary of human-readable port type names.


float zoom = 1.0 🔗

Il valore di zoom attuale.


float zoom_max = 2.0736003 🔗

  • void set_zoom_max(value: float)

  • float get_zoom_max()

Il limite superiore dello zoom.


float zoom_min = 0.23256795 🔗

  • void set_zoom_min(value: float)

  • float get_zoom_min()

Il limite inferiore dello zoom.


float zoom_step = 1.2 🔗

  • void set_zoom_step(value: float)

  • float get_zoom_step()

La differenza per ogni livello di zoom.


Descrizioni dei metodi

PackedVector2Array _get_connection_line(from_position: Vector2, to_position: Vector2) virtual const 🔗

Metodo virtuale che può essere sovrascritto per personalizzare il modo in cui sono disegnati i collegamenti.


bool _is_in_input_hotzone(in_node: Object, in_port: int, mouse_position: Vector2) virtual 🔗

Restituisce se la posizione del mouse mouse_position si trova nella zona calda d'ingresso.

Per impostazione predefinita, una zona calda è un Rect2 posizionato in modo tale che il suo centro sia in in_node.GraphNode.get_input_port_position()(in_port) (per il caso dell'uscita, chiama invece GraphNode.get_output_port_position()). La larghezza della zona calda è il doppio della proprietà del tema port_grab_distance_horizontal e la sua altezza è il doppio di port_grab_distance_vertical.

Di seguito è riportato un codice di esempio per cominciare:

func _is_in_input_hotzone(in_node, in_port, mouse_position):
    var port_size = Vector2(get_theme_constant("port_grab_distance_horizontal"), get_theme_constant("port_grab_distance_vertical"))
    var port_pos = in_node.get_position() + in_node.get_input_port_position(in_port) - port_size / 2
    var rect = Rect2(port_pos, port_size)

    return rect.has_point(mouse_position)

bool _is_in_output_hotzone(in_node: Object, in_port: int, mouse_position: Vector2) virtual 🔗

Restituisce se la posizione del mouse mouse_position si trova nella zona calda d'uscita. Per maggiori informazioni sulle zone calde, vedi _is_in_input_hotzone().

Di seguito è riportato un codice di esempio per iniziare:

func _is_in_output_hotzone(in_node, in_port, mouse_position):
    var port_size = Vector2(get_theme_constant("port_grab_distance_horizontal"), get_theme_constant("port_grab_distance_vertical"))
    var port_pos = in_node.get_position() + in_node.get_output_port_position(in_port) - port_size / 2
    var rect = Rect2(port_pos, port_size)

    return rect.has_point(mouse_position)

bool _is_node_hover_valid(from_node: StringName, from_port: int, to_node: StringName, to_port: int) virtual 🔗

Questo metodo virtuale si può utilizzare per inserire un ulteriore rilevamento di errori mentre l'utente trascina un collegamento su una porta valida.

Restituisci true se il collegamento è effettivamente valido o restituisci false se il collegamento è impossibile. Se il collegamento è impossibile, non ci sarà aggancio alla porta e quindi nessuna richiesta di collegamento sarà effettuata a tale porta.

In questo esempio, un collegamento allo stesso nodo viene soppresso:

func _is_node_hover_valid(from, from_port, to, to_port):
    return from != to

void add_valid_connection_type(from_type: int, to_type: int) 🔗

Permette il collegamento tra due diversi tipi di porta. Il tipo di porta è definito individualmente per la porta sinistra e quella destra di ogni slot con il metodo GraphNode.set_slot().

Vedi anche is_valid_connection_type() e remove_valid_connection_type().


void add_valid_left_disconnect_type(type: int) 🔗

Consente di disconnettere i nodi quando si trascina dalla porta sinistra dello slot del GraphNode se ha il tipo specificato. Vedi anche remove_valid_left_disconnect_type().


void add_valid_right_disconnect_type(type: int) 🔗

Consente di disconnettere i nodi quando si trascina dalla porta destra dello slot del GraphNode se ha il tipo specificato. Vedi anche remove_valid_right_disconnect_type().


void arrange_nodes() 🔗

Riorganizza i nodi selezionati in una disposizione con incroci minimi tra i collegamenti e spazi orizzontali e verticali uniformi tra i nodi.


void attach_graph_element_to_frame(element: StringName, frame: StringName) 🔗

Attacca l'elemento GraphElement element alla cornice GraphFrame frame.


void clear_connections() 🔗

Rimuove tutti i collegamenti tra i nodi.


Error connect_node(from_node: StringName, from_port: int, to_node: StringName, to_port: int, keep_alive: bool = false) 🔗

Crea un collegamento tra la porta from_port del nodo GraphNode from_node e la porta to_port del GraphNode to_node. Se il collegamento esiste già, nessun collegamento viene creato.

I collegamenti con keep_alive impostato su false potrebbero essere eliminati automaticamente se non validi durante un ridisegno.


void detach_graph_element_from_frame(element: StringName) 🔗

Stacca l'elemento GraphElement element dal GraphFrame a cui è attualmente attaccato.


void disconnect_node(from_node: StringName, from_port: int, to_node: StringName, to_port: int) 🔗

Rimuove un collegamento tra la porta from_port del nodo GraphNode from_node e la porta to_port del GraphNode to_node. Se il collegamento non esiste, nessun collegamento viene rimosso.


void force_connection_drag_end() 🔗

Termina la creazione del collegamento attuale. In altre parole, se si sta trascinando un collegamento è possibile usare questo metodo per interrompere il processo e rimuovere la linea che seguiva il cursore.

È meglio usarlo insieme a connection_drag_started e connection_drag_ended per implementare un comportamento personalizzato come l'aggiunta di nodi attraverso scorciatoie.

Nota: Questo metodo sopprime qualsiasi altro segnale di richiesta di collegamento tranne connection_drag_ended.


Array[StringName] get_attached_nodes_of_frame(frame: StringName) 🔗

Restituisce un array di nomi dei nodi associati al GraphFrame con il nome specificato.


Dictionary get_closest_connection_at_point(point: Vector2, max_distance: float = 4.0) const 🔗

Restituisce il collegamento più vicino al punto specificato nello spazio dello schermo. Se nessun collegamento viene trovato entro max_distance pixel, viene restituito un Dictionary vuoto.

Un collegamento è rappresentato come Dictionary nel formato:

{
    from_node: StringName,
    from_port: int,
    to_node: StringName,
    to_port: int,
    keep_alive: bool
}

Ad esempio, è possibile ottenere un collegamento a una determinata posizione del mouse in questo modo:

var connection = get_closest_connection_at_point(mouse_event.get_position())

int get_connection_count(from_node: StringName, from_port: int) 🔗

Restituisce il numero di collegamenti dalla porta from_port del nodo from_node.


PackedVector2Array get_connection_line(from_node: Vector2, to_node: Vector2) const 🔗

Restituisce i punti che comporrebbero un collegamento tra il nodo from_node e il nodo to_node.


Array[Dictionary] get_connection_list_from_node(node: StringName) const 🔗

Restituisce un Array contenente un elenco di tutti collegamenti per node.

Un collegamento è rappresentata come un Dictionary nel formato:

{
    from_node: StringName,
    from_port: int,
    to_node: StringName,
    to_port: int,
    keep_alive: bool
}

Esempio: Ottieni tutti i collegamenti su una porta specifica:

func get_connection_list_from_port(node, port):
    var connections = get_connection_list_from_node(node)
    var result = []
    for connection in connections:
        var dict = {}
        if connection["from_node"] == node and connection["from_port"] == port:
            dict["node"] = connection["to_node"]
            dict["port"] = connection["to_port"]
            dict["type"] = "left"
            result.push_back(dict)
        elif connection["to_node"] == node and connection["to_port"] == port:
            dict["node"] = connection["from_node"]
            dict["port"] = connection["from_port"]
            dict["type"] = "right"
            result.push_back(dict)
    return result

Array[Dictionary] get_connections_intersecting_with_rect(rect: Rect2) const 🔗

Restituisce un Array contenente la lista dei collegamenti che intersecano il Rect2 fornito.

Un collegamento è rappresentato come Dictionary nel formato:

{
    from_node: StringName,
    from_port: int,
    to_node: StringName,
    to_port: int,
    keep_alive: bool
}

GraphFrame get_element_frame(element: StringName) 🔗

Restituisce il GraphFrame che contiene il GraphElement con il nome fornito.


HBoxContainer get_menu_hbox() 🔗

Ottiene il HBoxContainer che contiene i controlli di zoom e di scatto alla griglia in alto a sinistra del grafico. Puoi usare questo metodo per riposizionare la barra degli strumenti o per aggiungervi i tuoi controlli personalizzati.

Attenzione: Questo è un nodo interno obbligatorio, rimuoverlo e liberarlo potrebbe causare un crash. Se desideri nasconderlo o nascondere uno dei suoi figli, usa la loro proprietà CanvasItem.visible.


bool is_node_connected(from_node: StringName, from_port: int, to_node: StringName, to_port: int) 🔗

Restituisce true se la porta from_port del nodo GraphNode from_node è connesso alla porta to_port del nodo GraphNode to_node.


bool is_valid_connection_type(from_type: int, to_type: int) const 🔗

Restituisce se è possibile stabilire un collegamento tra due diversi tipi di porta. Il tipo di porta è definito individualmente per la porta sinistra e quella destra di ogni slot con il metodo GraphNode.set_slot().

Vedi anche add_valid_connection_type() e remove_valid_connection_type().


void remove_valid_connection_type(from_type: int, to_type: int) 🔗

Impedisce il collegamento tra due diversi tipi di porta consentiti in precedenza da add_valid_connection_type(). Il tipo di porta è definito individualmente per la porta sinistra e quella destra di ogni slot con il metodo GraphNode.set_slot().

Vedi anche is_valid_connection_type().


void remove_valid_left_disconnect_type(type: int) 🔗

Disallows to disconnect nodes when dragging from the left port of the GraphNode's slot if it has the specified type. Use this to disable a disconnection previously allowed with add_valid_left_disconnect_type().


void remove_valid_right_disconnect_type(type: int) 🔗

Disallows to disconnect nodes when dragging from the right port of the GraphNode's slot if it has the specified type. Use this to disable a disconnection previously allowed with add_valid_right_disconnect_type().


void set_connection_activity(from_node: StringName, from_port: int, to_node: StringName, to_port: int, amount: float) 🔗

Imposta la colorazione del collegamento tra la porta from_port del nodo from_node e la porta to_port del nodo to_node con il colore fornito nella proprietà del tema activity. Il colore è linearmente interpolato tra il colore del collegamento e il colore di attività usando amount come peso.


void set_selected(node: Node) 🔗

Imposta il nodo node come quello selezionato.


Descrizioni delle proprietà del tema

Color activity = Color(1, 1, 1, 1) 🔗

Il colore della linea di collegamento che è interpolato in base al valore di attività di un collegamento (vedi set_connection_activity()).


Color connection_hover_tint_color = Color(0, 0, 0, 0.3) 🔗

Colore che si fonde con la linea di collegamento quando si passa il mouse sopra di essa.


Color connection_rim_color = Color(0.1, 0.1, 0.1, 0.6) 🔗

Colore del bordo attorno a ciascuna linea di collegamento utilizzato per rendere più distinguibili le linee che si intersecano.


Color connection_valid_target_tint_color = Color(1, 1, 1, 0.4) 🔗

Colore che si fonde con la linea di collegamento quando il collegamento attualmente trascinato passa sopra una porta di destinazione valida.


Color grid_major = Color(1, 1, 1, 0.2) 🔗

Colore delle linee/puntini principali della griglia.


Color grid_minor = Color(1, 1, 1, 0.05) 🔗

Colore delle linee/puntini secondari della griglia.


Color selection_fill = Color(1, 1, 1, 0.3) 🔗

Il colore di riempimento del rettangolo di selezione.


Color selection_stroke = Color(1, 1, 1, 0.8) 🔗

Il colore del contorno del rettangolo di selezione.


int connection_hover_thickness = 0 🔗

Widens the line of a connection when the mouse is hovering over it by a percentage factor. A value of 0 disables the highlight. A value of 100 doubles the line width.


int port_hotzone_inner_extent = 22 🔗

La portata orizzontale entro il quale è possibile afferrare una porta (lato interno).


int port_hotzone_outer_extent = 26 🔗

La portata orizzontale entro il quale è possibile afferrare una porta (lato esterno).


Texture2D grid_toggle 🔗

L'icona per il pulsante di commutazione della griglia.


Texture2D layout 🔗

L'icona del pulsante di layout per la disposizione automatica del grafico.


Texture2D minimap_toggle 🔗

L'icona per il pulsante di commutazione della minimappa.


Texture2D snapping_toggle 🔗

L'icona per il pulsante di commutazione dell'aggancio.


Texture2D zoom_in 🔗

L'icona per il pulsante di ingrandimento dello zoom.


Texture2D zoom_out 🔗

L'icona per il pulsante di rimpicciolimento dello zoom.


Texture2D zoom_reset 🔗

L'icona per il pulsante di ripristino dello zoom.


StyleBox menu_panel 🔗

There is currently no description for this theme property. Please help us by contributing one!


StyleBox panel 🔗

Lo sfondo disegnato sotto la griglia.


StyleBox panel_focus 🔗

StyleBox utilizzato quando il GraphEdit è focalizzato (se utilizzato tramite applicazioni assistive).