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.

EditorProperty

Eredita: Container < Control < CanvasItem < Node < Object

Controllo personalizzato per la modifica delle proprietà che può essere aggiunto a EditorInspector.

Descrizione

Un controllo personalizzato per la modifica delle proprietà che può essere aggiunto a EditorInspector. Viene aggiunto tramite EditorInspectorPlugin.

Proprietà

bool

checkable

false

bool

checked

false

bool

deletable

false

bool

draw_background

true

bool

draw_label

true

bool

draw_warning

false

FocusMode

focus_mode

3 (overrides Control)

bool

keying

false

String

label

""

float

name_split_ratio

0.5

bool

read_only

false

bool

selectable

true

bool

use_folding

false

Metodi

void

_set_read_only(read_only: bool) virtual

void

_update_property() virtual

void

add_focusable(control: Control)

void

deselect()

void

emit_changed(property: StringName, value: Variant, field: StringName = &"", changing: bool = false)

Object

get_edited_object()

StringName

get_edited_property() const

bool

is_selected() const

void

select(focusable: int = -1)

void

set_bottom_editor(editor: Control)

void

set_label_reference(control: Control)

void

set_object_and_property(object: Object, property: StringName)

void

update_property()


Segnali

multiple_properties_changed(properties: PackedStringArray, value: Array) 🔗

Emettilo se vuoi che più proprietà vengano modificate allo stesso tempo. Non usarlo se aggiunto tramite EditorInspectorPlugin._parse_property().


object_id_selected(property: StringName, id: int) 🔗

Utilizzato dai sotto-ispettori. Emettilo se l'ID di un oggetto è stato selezionato.


property_can_revert_changed(property: StringName, can_revert: bool) 🔗

Emesso quando la ripristinabilità (ovvero se ha un valore non predefinito e quindi è visualizzato con un'icona di ripristino) di una proprietà viene cambiata.


property_changed(property: StringName, value: Variant, field: StringName, changing: bool) 🔗

Non emetterlo manualmente, utilizzare invece il metodo emit_changed().


property_checked(property: StringName, checked: bool) 🔗

Emesso quando una proprietà viene spuntata. Utilizzato internamente.


property_deleted(property: StringName) 🔗

Emesso quando una proprietà viene eliminata. Utilizzato internamente.


property_favorited(property: StringName, favorited: bool) 🔗

Emettilo se desideri impostare una proprietà come preferita, facendola apparire in cima all'ispettore.


property_keyed(property: StringName) 🔗

Emettilo se vuoi aggiungere questo valore come chiave di animazione (verifica prima che le chiavi d'animazione siano abilitate).


property_keyed_with_value(property: StringName, value: Variant) 🔗

Emettilo se desideri impostare una chiave per questa proprietà con un singolo valore.


property_overridden() 🔗

Emesso quando viene richiesto una sostituzione di un'impostazione per il progetto attuale.


property_pinned(property: StringName, pinned: bool) 🔗

Emettilo se vuoi marcare (o smarcare) il valore di una proprietà per essere salvato anche se è uguale al valore predefinito.

Il valore predefinito è quello che la proprietà otterrà quando il nodo è appena istanziato e può provenire da una scena antenata nella catena di ereditarietà/istanziazione, uno script o una classe integrata.


resource_selected(path: String, resource: Resource) 🔗

Se si desidera modificare una sotto-risorsa, emettere questo segnale con la risorsa.


selected(path: String, focusable_idx: int) 🔗

Emesso quando viene selezionato. Utilizzato internamente.


Descrizioni delle proprietà

bool checkable = false 🔗

  • void set_checkable(value: bool)

  • bool is_checkable()

Utilizzato per l'ispettore, impostato su true quando la proprietà è spuntabile.


bool checked = false 🔗

  • void set_checked(value: bool)

  • bool is_checked()

Utilizzato per l'ispettore, impostato su true quando la proprietà è spuntata.


bool deletable = false 🔗

  • void set_deletable(value: bool)

  • bool is_deletable()

Utilizzato per l'ispettore, impostato su true quando la proprietà può essere eliminata dall'utente.


bool draw_background = true 🔗

  • void set_draw_background(value: bool)

  • bool is_draw_background()

Utilizzato per l'ispettore, impostato su true quando lo sfondo della proprietà è disegnato.


bool draw_label = true 🔗

  • void set_draw_label(value: bool)

  • bool is_draw_label()

Utilizzato per l'ispettore, impostato su true quando l'etichetta della proprietà è disegnata.


bool draw_warning = false 🔗

  • void set_draw_warning(value: bool)

  • bool is_draw_warning()

Utilizzato dall'ispettore, impostato su true quando la proprietà è disegnata con il colore di avviso del tema dell'editor. È utilizzato per le proprietà dei figli modificabili.


bool keying = false 🔗

  • void set_keying(value: bool)

  • bool is_keying()

Utilizzato dall'ispettore, impostato su true se la proprietà può aggiungere chiavi da animare.


String label = "" 🔗

Imposta questa proprietà per modificare l'etichetta (se vuoi mostrarne una).


float name_split_ratio = 0.5 🔗

  • void set_name_split_ratio(value: float)

  • float get_name_split_ratio()

Rapporto di distribuzione dello spazio tra l'etichetta e il campo di modifica.


bool read_only = false 🔗

  • void set_read_only(value: bool)

  • bool is_read_only()

Utilizzato per l'ispettore, impostato su true quando la proprietà è di sola lettura.


bool selectable = true 🔗

  • void set_selectable(value: bool)

  • bool is_selectable()

Utilizzato per l'ispettore, impostato su true quando la proprietà è selezionabile.


bool use_folding = false 🔗

  • void set_use_folding(value: bool)

  • bool is_using_folding()

Utilizzato per l'ispettore, impostato su true quando la proprietà è ridotta.


Descrizioni dei metodi

void _set_read_only(read_only: bool) virtual 🔗

Chiamato quando lo stato di sola lettura della proprietà è cambiato. Potrebbe essere usato per modificare i controlli personalizzati in uno stato di sola lettura o modificabile.


void _update_property() virtual 🔗

Quando viene chiamata questa funzione virtuale, è necessario aggiornare l'editor.


void add_focusable(control: Control) 🔗

Se uno qualsiasi dei controlli aggiunti può ottenere il focus della tastiera, aggiungilo qui. Ciò permetterà di ripristinare il focus se l'ispettore è aggiornato.


void deselect() 🔗

Disegna la proprietà come non selezionata. Usato per l'ispettore.


void emit_changed(property: StringName, value: Variant, field: StringName = &"", changing: bool = false) 🔗

Se una o più proprietà sono state cambiate, è necessario richiamare questa funzione. field è utilizzato nel caso in cui l'editor possa modificare i campi separatamente (ad esempio, Vector3.x). L'argomento changing evita che l'editor richieda l'aggiornamento di questa proprietà (rimani su false in caso di dubbi).


Object get_edited_object() 🔗

Restituisce l'oggetto in fase di modifica.

Nota: Questo metodo potrebbe restituire null se l'editor non è ancora stato associato a una proprietà. Tuttavia, in _update_property() e _set_read_only(), è garantito che questo valore non sia null.


StringName get_edited_property() const 🔗

Restituisce la proprietà in fase di modifica. Se l'editor è per una singola proprietà (aggiunta tramite EditorInspectorPlugin._parse_property()), questo restituirà la proprietà.

Nota: Questo metodo potrebbe restituire null se l'editor non è ancora stato associato a una proprietà. Tuttavia, in _update_property() e _set_read_only(), questo valore è garantito di non essere null.


bool is_selected() const 🔗

Restituisce true se la proprietà è disegnata come selezionata. Usato per l'ispettore.


void select(focusable: int = -1) 🔗

Disegna la proprietà come selezionata. Usato per l'ispettore.


void set_bottom_editor(editor: Control) 🔗

Posiziona il controllo editor sotto l'etichetta della proprietà. Il controllo deve essere prima aggiunto attraverso Node.add_child().


void set_label_reference(control: Control) 🔗

Utilizzato dall'ispettore, impostato su un controllo che sarà utilizzato come riferimento per calcolare la dimensione dell'etichetta.


void set_object_and_property(object: Object, property: StringName) 🔗

Assegna l'oggetto e la proprietà da modificare.


void update_property() 🔗

Forza un'aggiornamento della visualizzazione della proprietà.