SplitContainer

Eredita: Container < Control < CanvasItem < Node < Object

Ereditato da: HSplitContainer, VSplitContainer

Un contenitore che divide due controlli figlio orizzontalmente o verticalmente e fornisce un grabber per regolare il rapporto di divisione.

Descrizione

Un contenitore che accetta solo due controlli figlio, quindi li dispone orizzontalmente o verticalmente e crea un divisore tra di essi. Il divisore può essere trascinato per modificare la relazione di dimensione tra i controlli figlio.

Tutorial

Proprietà

bool

collapsed

false

bool

drag_area_highlight_in_editor

false

int

drag_area_margin_begin

0

int

drag_area_margin_end

0

int

drag_area_offset

0

DraggerVisibility

dragger_visibility

0

bool

dragging_enabled

true

int

split_offset

0

bool

touch_dragger_enabled

false

bool

vertical

false

Metodi

void

clamp_split_offset()

Control

get_drag_area_control()

Proprietà del tema

Color

touch_dragger_color

Color(1, 1, 1, 0.3)

Color

touch_dragger_hover_color

Color(1, 1, 1, 0.6)

Color

touch_dragger_pressed_color

Color(1, 1, 1, 1)

int

autohide

1

int

minimum_grab_thickness

6

int

separation

12

Texture2D

grabber

Texture2D

h_grabber

Texture2D

h_touch_dragger

Texture2D

touch_dragger

Texture2D

v_grabber

Texture2D

v_touch_dragger

StyleBox

split_bar_background


Segnali

drag_ended() 🔗

Emesso quando l'utente finisce di trascinare.


drag_started() 🔗

Emesso quando l'utente inizia a trascinare.


dragged(offset: int) 🔗

Emesso quando il trascinatore 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.

DraggerVisibility DRAGGER_HIDDEN = 1

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).

DraggerVisibility DRAGGER_HIDDEN_COLLAPSED = 2

L'icona del trascinatore divisore non è visibile, e la barra di divisione è ridotta a spessore zero.


Descrizioni delle proprietà

bool collapsed = false 🔗

  • void set_collapsed(value: bool)

  • bool is_collapsed()

Se true, il dragger sarà disabilitato e i figli saranno ridimensionati come se split_offset fosse 0.


bool drag_area_highlight_in_editor = false 🔗

  • void set_drag_area_highlight_in_editor(value: bool)

  • bool is_drag_area_highlight_in_editor_enabled()

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 🔗

  • void set_drag_area_margin_begin(value: int)

  • int get_drag_area_margin_begin()

Reduces the size of the drag area and split bar split_bar_background at the beginning of the container.


int drag_area_margin_end = 0 🔗

  • void set_drag_area_margin_end(value: int)

  • int get_drag_area_margin_end()

Reduces the size of the drag area and split bar split_bar_background at the end of the container.


int drag_area_offset = 0 🔗

  • void set_drag_area_offset(value: int)

  • int get_drag_area_offset()

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.


DraggerVisibility dragger_visibility = 0 🔗

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 🔗

  • void set_dragging_enabled(value: bool)

  • bool is_dragging_enabled()

Abilita o disabilita il trascinamento diviso.


int split_offset = 0 🔗

  • void set_split_offset(value: int)

  • int get_split_offset()

L'offset iniziale della separazione tra i due Control, dove 0 è la fine del primo Control.


bool touch_dragger_enabled = false 🔗

  • void set_touch_dragger_enabled(value: bool)

  • bool is_touch_dragger_enabled()

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.


bool vertical = false 🔗

  • void set_vertical(value: bool)

  • bool is_vertical()

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() 🔗

Limita il valore di split_offset per rimanere nell'intervallo definito dai valori minimo e massimo attualmente possibili.


Control get_drag_area_control() 🔗

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.


Descrizioni delle proprietà del tema

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

The color of the touch dragger.


Color touch_dragger_hover_color = Color(1, 1, 1, 0.6) 🔗

The color of the touch dragger when hovered.


Color touch_dragger_pressed_color = Color(1, 1, 1, 1) 🔗

The color of the touch dragger when pressed.


int autohide = 1 🔗

Valore booleano. Se 1 (true), il grabber si nasconderà automaticamente quando non si trova sotto il cursore. Se 0 (false), è sempre visibile. dragger_visibility deve essere DRAGGER_VISIBLE.


int minimum_grab_thickness = 6 🔗

Lo spessore minimo dell'area su cui gli utenti possono cliccare per afferrare la barra di divisione. Questo garantisce che la barra di divisione sia comunque trascinabile se separation o h_grabber / v_grabber sono troppo piccoli da selezionare facilmente.


int separation = 12 🔗

Spessore della barra di divisione, ovvero lo spazio tra i due elementi figlio del contenitore. Questo viene sovrascritto dalle dimensioni dell'icona del grabber se dragger_visibility è impostato su DRAGGER_VISIBLE o DRAGGER_HIDDEN e separation è inferiore alla dimensione dell'icona grabber sullo stesso asse.

Nota: Per ottenere valori di separation inferiori alle dimensioni dell'icona del grabber, ad esempio 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.


Texture2D grabber 🔗

L'icona utilizzata per il grabber è disegnata nell'area centrale. È utilizzata solo in HSplitContainer e VSplitContainer. Per SplitContainer, vedi invece h_grabber e v_grabber.


Texture2D h_grabber 🔗

L'icona utilizzata per il grabber disegnato nell'area centrale quando vertical è false.


Texture2D h_touch_dragger 🔗

L'icona utilizzata per il trascinatore quando touch_dragger_enabled è true e vertical è false.


Texture2D touch_dragger 🔗

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.


Texture2D v_grabber 🔗

L'icona utilizzata per il grabber disegnato nell'area centrale quando vertical è true.


Texture2D v_touch_dragger 🔗

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.