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.

EditorInspectorPlugin

Eredita: RefCounted < Object

Estensione per aggiungere editor di proprietà personalizzati nell'ispettore.

Descrizione

EditorInspectorPlugin consente di aggiungere editor di proprietà personalizzati a EditorInspector.

Quando un oggetto viene modificato, viene chiamata la funzione _can_handle() che deve restituire true se il tipo di oggetto è supportato.

Se supportata, verrà chiamata la funzione _parse_begin(), che consente di posizionare controlli personalizzati all'inizio della classe.

Successivamente, vengono chiamati _parse_category() e _parse_property() per ogni categoria e proprietà. Anche essi offrono la possibilità di aggiungere controlli personalizzati all'ispettore.

Infine, verrà chiamato _parse_end().

In ciascuna di queste chiamate, è possibile chiamare le funzioni "add".

Per utilizzare EditorInspectorPlugin, registrarlo prima attraverso il metodo EditorPlugin.add_inspector_plugin().

Tutorial

Metodi

bool

_can_handle(object: Object) virtual const

void

_parse_begin(object: Object) virtual

void

_parse_category(object: Object, category: String) virtual

void

_parse_end(object: Object) virtual

void

_parse_group(object: Object, group: String) virtual

bool

_parse_property(object: Object, type: Variant.Type, name: String, hint_type: PropertyHint, hint_string: String, usage_flags: BitField[PropertyUsageFlags], wide: bool) virtual

void

add_custom_control(control: Control)

void

add_property_editor(property: String, editor: Control, add_to_end: bool = false, label: String = "")

void

add_property_editor_for_multiple_properties(label: String, properties: PackedStringArray, editor: Control)


Descrizioni dei metodi

bool _can_handle(object: Object) virtual const 🔗

Restituisce true se questo oggetto può essere gestito da questa estensione.


void _parse_begin(object: Object) virtual 🔗

Chiamato per consentire l'aggiunta di controlli all'inizio dell'elenco delle proprietà per l'oggetto object.


void _parse_category(object: Object, category: String) virtual 🔗

Chiamato per consentire l'aggiunta di controlli all'inizio di una categoria nell'elenco delle proprietà per l'oggetto object.


void _parse_end(object: Object) virtual 🔗

Chiamato per consentire l'aggiunta di controlli alla fine dell'elenco delle proprietà per l'oggetto object.


void _parse_group(object: Object, group: String) virtual 🔗

Chiamato per consentire l'aggiunta di controlli all'inizio di un gruppo o sottogruppo nell'elenco delle proprietà per l'oggetto object.


bool _parse_property(object: Object, type: Variant.Type, name: String, hint_type: PropertyHint, hint_string: String, usage_flags: BitField[PropertyUsageFlags], wide: bool) virtual 🔗

Chiamato per consentire l'aggiunta di editor specifici per una proprietà all'elenco delle proprietà per l'oggetto object. Il controllo dell'editor aggiunto deve estendere EditorProperty. Restituendo true si rimuove l'editor integrato per questa proprietà, in caso contrario consente di inserire un editor personalizzato prima di quello integrato.


void add_custom_control(control: Control) 🔗

Aggiunge un controllo personalizzato, che non è necessariamente un editor di proprietà.


void add_property_editor(property: String, editor: Control, add_to_end: bool = false, label: String = "") 🔗

Aggiunge un editor di proprietà per una proprietà individuale. Il controllo editor deve estendere EditorProperty.

Possono esserci più editor di proprietà per una proprietà. Se add_to_end è true, questo editor appena aggiunto sarà visualizzato dopo tutti gli altri editor della proprietà il cui add_to_end è false. Ad esempio, l'editor utilizza questo parametro per aggiungere un pulsante "Modifica regione" per Sprite2D.region_rect sotto l'editor normale del Rect2.

label può essere usato per scegliere un'etichetta personalizzata per l'editor di proprietà nell'ispettore. Se lasciato vuoto, l'etichetta viene invece calcolata dal nome della proprietà.


void add_property_editor_for_multiple_properties(label: String, properties: PackedStringArray, editor: Control) 🔗

Aggiunge un editor che consente di modificare più proprietà. Il controllo editor deve estendere EditorProperty.