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.
Checking the stable version of the documentation...
SplitContainer
Eredita: Container < Control < CanvasItem < Node < Object
Ereditato da: HSplitContainer, VSplitContainer
Un contenitore che organizza controlli figlio orizzontalmente o verticalmente e fornisce trascinatori per regolare i rapporti di divisione tra di essi.
Descrizione
Un contenitore che organizza controlli figlio orizzontalmente o verticalmente e crea trascinatori tra di essi. Il trascinatori si possono trascinare per cambiare i rapporti di dimensione tra i controlli figlio.
Tutorial
Proprietà
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Metodi
void |
clamp_split_offset(priority_index: int = 0) |
Proprietà del tema
|
||
|
||
|
||
|
||
|
||
|
||
Segnali
drag_ended() 🔗
Emesso quando l'utente finisce di trascinare.
drag_started() 🔗
Emesso quando l'utente inizia a trascinare.
Emesso quando un trascinatore qualsiasi viene trascinato dall'utente.
Enumerazioni
enum DraggerVisibility: 🔗
DraggerVisibility DRAGGER_VISIBLE = 0
L'icona del trascinatore divisore è sempre visibile quando autohide è false, altrimenti visibile solo quando il cursore ci passa sopra.
Le dimensioni dell'icona del grabber determinano la separazione minima (separation).
L'icona del trascinatore viene nascosta automaticamente se la lunghezza dell'icona del grabber è maggiore della barra di divisione.
L'icona del trascinatore divisore non è mai visibile, a prescindere dal valore di autohide.
Le dimensioni dell'icona del grabber determinano la separazione minima (separation).
L'icona del trascinatore divisore non è visibile, e la barra di divisione è ridotta a spessore zero.
Descrizioni delle proprietà
Se true, i trascinatori saranno disabilitati e i figli saranno dimensionati come se split_offsets fosse 0.
bool drag_area_highlight_in_editor = false 🔗
Evidenzia il Rect2 dell'area di trascinamento in modo da poter vedere dove si trova durante lo sviluppo. L'area di trascinamento è dorata se dragging_enabled è true, e rossa se false.
int drag_area_margin_begin = 0 🔗
Riduce le dimensioni dell'area di trascinamento e di split_bar_background della barra di divisione all'inizio del contenitore.
int drag_area_margin_end = 0 🔗
Riduce le dimensioni dell'area di trascinamento e di split_bar_background della barra di divisione alla fine del contenitore.
Sposta l'area di trascinamento sull'asse del contenitore per evitare che si sovrapponga alla ScrollBar o ad altri Control selezionabili di un nodo figlio.
bool drag_nested_intersections = false 🔗
Aggiunge trascinatori in più all'intersezione dei trascinatori di due SplitContainer per consentire di trascinare entrambi alla volta. Deve essere impostata su true per entrambi gli SplitContainer, e uno deve essere un discendente dell'altro. Devono inoltre essere ortogonali (avere i loro vertical diversi) e il discendente deve trovarsi accanto ad almeno uno dei trascinatori dell'antenato (entro minimum_grab_thickness).
DraggerVisibility dragger_visibility = 0 🔗
void set_dragger_visibility(value: DraggerVisibility)
DraggerVisibility get_dragger_visibility()
Determina la visibilità del trascinatore. Questa proprietà non determina se il trascinamento è abilitato o meno. Utilizzare dragging_enabled a questo scopo.
bool dragging_enabled = true 🔗
Abilita o disabilita il trascinamento diviso.
Deprecato: Use split_offsets instead. The first element of the array is the split offset between the first two children.
Il primo elemento di split_offsets.
PackedInt32Array split_offsets = PackedInt32Array(0) 🔗
void set_split_offsets(value: PackedInt32Array)
PackedInt32Array get_split_offsets()
Offset in pixel per ciascun trascinatore. Ciascuno è l'offset della divisione tra i nodi Control prima e dopo il trascinatore, con 0 che indica la posizione predefinita. La posizione predefinita si basa sui flag di espansione e sulle dimensioni minime dei nodi Control. Vedi Control.size_flags_horizontal, Control.size_flags_vertical e Control.size_flags_stretch_ratio.
Se nessuno dei nodi Control prima del trascinatore è espanso, la posizione predefinita sarà all'inizio dello SplitContainer. Se nessuno dei nodi Control dopo il trascinatore è espanso, la posizione predefinita sarà alla fine dello SplitContainer. Se il trascinatore si trova tra nodi Control espansi, la posizione predefinita sarà al centro, in base ai valori di Control.size_flags_stretch_ratio e alle dimensioni minime.
Nota: Se gli offset di suddivisione fanno sovrapporre i nodi Control, la prima suddivisione avrà la priorità per risolvere le posizioni.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedInt32Array for more details.
bool touch_dragger_enabled = false 🔗
Se true, sarà abilitato un trascinatore ottimizzato per il tocco per migliorare l'usabilità su schermi più piccoli. A differenza del grabber standard, questo trascinatore si sovrappone agli elementi figlio del SplitContainer e non influisce sulla loro separazione minima. Il grabber standard non sarà più visualizzato quando questa opzione è abilitata.
Se true, lo SplitContainer organizzerà i suoi elementi figlio verticalmente, anziché orizzontalmente.
Non può essere modificato quando si utilizzano HSplitContainer e VSplitContainer.
Descrizioni dei metodi
void clamp_split_offset(priority_index: int = 0) 🔗
Limita i valori di split_offsets per garantire che rientrino in intervalli validi e non si sovrappongano. In caso di sovrapposizioni, questo metodo da priorità a un offset di suddivisione (all'indice priority_index) limitando a esso tutti gli offset di suddivisione sovrapposti.
Control get_drag_area_control() 🔗
Deprecato: Use the first element of get_drag_area_controls() instead.
Restituisce l'area di trascinamento Control. Ad esempio, è possibile spostare un pulsante preconfigurato nell'area di trascinamento Control in modo che scorra insieme alla barra di divisione. Provare a impostare gli ancoraggi del Button su center prima della chiamata reparent().
$BarnacleButton.reparent($SplitContainer.get_drag_area_control())
Nota: L'area di trascinamento Control viene disegnata sui figli di SplitContainer, quindi anche gli oggetti di disegno CanvasItem chiamati da Control e i figli aggiunti a Control appariranno sui figli di SplitContainer. Provare a impostare Control.mouse_filter dei figli personalizzati su Control.MOUSE_FILTER_IGNORE per evitare di bloccare il trascinamento del mouse, se è desiderato.
Attenzione: Questo è un nodo interno obbligatorio, rimuoverlo e liberarlo potrebbe causare un arresto anomalo.
Array[Control] get_drag_area_controls() 🔗
Restituisce un Array dei Control area di trascinamento. Questi sono i nodi Control interattivi tra ciascun elemento figlio. Ad esempio, è possibile spostare un pulsante preconfigurato in un Control area di trascinamento in modo che scorra insieme alla barra di divisione. Prova a impostare gli ancoraggi del Button su center prima di chiamare Node.reparent().
$BarnacleButton.reparent($SplitContainer.get_drag_area_controls()[0])
Nota: I Control area di trascinamento sono disegnati sopra i figli di SplitContainer, quindi anche gli oggetti di disegno CanvasItem chiamati da un'area di trascinamento e i figli aggiunti appariranno sui figli di SplitContainer. Provare a impostare Control.mouse_filter dei figli personalizzati su Control.MOUSE_FILTER_IGNORE per evitare di bloccare il trascinamento del mouse, se è desiderato.
Attenzione: Questi sono nodi interni obbligatori, rimuoverli o liberarli potrebbe causare un arresto anomalo.
Descrizioni delle proprietà del tema
Color touch_dragger_color = Color(1, 1, 1, 0.3) 🔗
Il colore del trascinatore di tocco.
Color touch_dragger_hover_color = Color(1, 1, 1, 0.6) 🔗
Il colore del trascinatore di tocco al passaggio del mouse.
Color touch_dragger_pressed_color = Color(1, 1, 1, 1) 🔗
Il colore del trascinatore di tocco quando premuto.
Valore booleano. Se 1 (true), i trascinatori si nasconderanno automaticamente quando non si trovano sotto il cursore. Se 0 (false), i trascinatori sono sempre visibili. dragger_visibility deve essere DRAGGER_VISIBLE.
int minimum_grab_thickness = 6 🔗
Lo spessore minimo dell'area su cui gli utenti possono cliccare per afferrare una barra di divisione. Questo garantisce che la barra di divisione sia comunque trascinabile se separation o le dimensioni di h_grabber / v_grabber sono troppo fini da selezionare facilmente.
Lo spessore della barra di divisione, ovvero lo spazio tra ogni figlio del contenitore. Questo è sovrascritto dalle dimensioni dell'icona del grabber se dragger_visibility è impostato su DRAGGER_VISIBLE o DRAGGER_HIDDEN e separation è minore della dimensione dell'icona del grabber sullo stesso asse.
Nota: Per ottenere valori di separation minori delle dimensioni dell'icona del grabber, ad esempio una linea sottile di 1 px, imposta h_grabber o v_grabber su un nuovo ImageTexture, che imposta effettivamente le dimensioni dell'icona del grabber su 0 px.
L'icona utilizzata per il grabber disegnato nelle separazioni. È utilizzata solo in HSplitContainer e VSplitContainer. Per SplitContainer, vedi invece h_grabber e v_grabber.
L'icona utilizzata per il grabber disegnato nelle separazioni quando vertical è false.
L'icona utilizzata per il trascinatore quando touch_dragger_enabled è true e vertical è false.
L'icona utilizzata per il trascinatore quando touch_dragger_enabled è true. Questa è utilizzata solo in HSplitContainer e VSplitContainer. Per SplitContainer, vedi invece h_touch_dragger e v_touch_dragger.
L'icona utilizzata per il grabber disegnato nelle separazioni quando vertical è true.
L'icona utilizzata per trascinatore quando touch_dragger_enabled è true e vertical è true.
StyleBox split_bar_background 🔗
Determina lo sfondo della barra di divisione se il suo spessore è maggiore di zero.