SplitContainer

Hereda: Container < Control < CanvasItem < Node < Object

Heredado por: HSplitContainer, VSplitContainer

A container that splits two child controls horizontally or vertically and provides a grabber for adjusting the split ratio.

Descripción

Un contenedor que acepta solo dos controles hijo, luego los organiza horizontal o verticalmente y crea un divisor entre ellos. El divisor se puede arrastrar para cambiar la relación de tamaño entre los controles hijo.

Tutoriales

Propiedades

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

Métodos

void

clamp_split_offset()

Control

get_drag_area_control()

Propiedades 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


Señales

drag_ended() 🔗

Emitida cuando el usuario deja de arrastrar.


drag_started() 🔗

Emitida cuando el usuario comienza a arrastrar.


dragged(offset: int) 🔗

Emitida cuando el arrastrador es arrastrado por el usuario.


Enumeraciones

enum DraggerVisibility: 🔗

DraggerVisibility DRAGGER_VISIBLE = 0

El icono del divisor siempre está visible cuando autohide es false, de lo contrario, solo es visible cuando el cursor lo sobrevuela.

El tamaño del icono del divisor determina la separation mínima.

El icono del divisor se oculta automáticamente si la longitud del icono del divisor es mayor que la barra divisoria.

DraggerVisibility DRAGGER_HIDDEN = 1

El icono del divisor nunca es visible independientemente del valor de autohide.

El tamaño del icono del divisor determina la separation mínima.

DraggerVisibility DRAGGER_HIDDEN_COLLAPSED = 2

El icono del divisor no está visible, y la barra divisoria se reduce a cero de grosor.


Descripciones de Propiedades

bool collapsed = false 🔗

  • void set_collapsed(value: bool)

  • bool is_collapsed()

If true, the dragger will be disabled and the children will be sized as if the split_offset was 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()

Resalta el área de arrastre Rect2 para que puedas ver dónde está durante el desarrollo. El área de arrastre es dorada si dragging_enabled es true, y roja si es false.


int drag_area_margin_begin = 0 🔗

  • void set_drag_area_margin_begin(value: int)

  • int get_drag_area_margin_begin()

Reduce el tamaño del área de arrastre y la barra divisoria split_bar_background al principio del contenedor.


int drag_area_margin_end = 0 🔗

  • void set_drag_area_margin_end(value: int)

  • int get_drag_area_margin_end()

Reduce el tamaño del área de arrastre y la barra divisoria split_bar_background al final del contenedor.


int drag_area_offset = 0 🔗

  • void set_drag_area_offset(value: int)

  • int get_drag_area_offset()

Desplaza el área de arrastre en el eje del contenedor para evitar que el área de arrastre se superponga al ScrollBar u otro Control seleccionable de un nodo hijo.


DraggerVisibility dragger_visibility = 0 🔗

Determina la visibilidad del arrastrador. Esta propiedad no determina si el arrastre está habilitado o no. Usa dragging_enabled para eso.


bool dragging_enabled = true 🔗

  • void set_dragging_enabled(value: bool)

  • bool is_dragging_enabled()

Enables or disables split dragging.


int split_offset = 0 🔗

  • void set_split_offset(value: int)

  • int get_split_offset()

El desplazamiento inicial de la división entre los dos Controls, con 0 estando al final del primer Control.


bool touch_dragger_enabled = false 🔗

  • void set_touch_dragger_enabled(value: bool)

  • bool is_touch_dragger_enabled()

Si es true, se habilitará un asa de arrastre táctil para mejorar la usabilidad en pantallas más pequeñas. A diferencia del agarrador estándar, esta asa de arrastre se superpone a los hijos de SplitContainer y no afecta su separación mínima. El agarrador estándar ya no se dibujará cuando esta opción esté habilitada.


bool vertical = false 🔗

  • void set_vertical(value: bool)

  • bool is_vertical()

Si es true, el SplitContainer organizará a sus hijos verticalmente, en lugar de horizontalmente.

No se puede cambiar cuando se usa HSplitContainer y VSplitContainer.


Descripciones de Métodos

void clamp_split_offset() 🔗

Bloquea el valor split_offset para que no se salga de los valores mínimos y máximos actualmente posibles.


Control get_drag_area_control() 🔗

Returns the drag area Control. For example, you can move a pre-configured button into the drag area Control so that it rides along with the split bar. Try setting the Button anchors to center prior to the reparent() call.

$BarnacleButton.reparent($SplitContainer.get_drag_area_control())

Note: The drag area Control is drawn over the SplitContainer's children, so CanvasItem draw objects called from the Control and children added to the Control will also appear over the SplitContainer's children. Try setting Control.mouse_filter of custom children to Control.MOUSE_FILTER_IGNORE to prevent blocking the mouse from dragging if desired.

Warning: This is a required internal node, removing and freeing it may cause a crash.


Descripciones de las propiedades del tema

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

El color del control táctil de arrastre.


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

El color del control táctil de arrastre cuando está en foco.


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

El color del control táctil de arrastre cuando se pulsa.


int autohide = 1 🔗

Boolean value. If 1 (true), the grabber will hide automatically when it isn't under the cursor. If 0 (false), it's always visible. The dragger_visibility must be DRAGGER_VISIBLE.


int minimum_grab_thickness = 6 🔗

El grosor mínimo del área en la que los usuarios pueden hacer clic para agarrar la barra divisoria. Esto asegura que la barra divisoria todavía se pueda arrastrar si el separation o el tamaño de h_grabber / v_grabber es demasiado pequeño para seleccionarlo fácilmente.


int separation = 12 🔗

El grosor de la barra divisoria, es decir, el espacio entre los dos hijos del contenedor. Esto se anula por el tamaño del icono del agarrador si dragger_visibility se establece en DRAGGER_VISIBLE, o DRAGGER_HIDDEN, y separation es menor que el tamaño del icono del agarrador en el mismo eje.

Nota: Para obtener valores de separation menores que el tamaño del icono del agarrador, por ejemplo, una línea fina de 1 px, establece h_grabber o v_grabber a una nueva ImageTexture, lo que establece el tamaño del icono del agarrador a 0 px.


Texture2D grabber 🔗

El icono utilizado para el agarrador dibujado en el área central. Esto solo se usa en HSplitContainer y VSplitContainer. Para SplitContainer, véase h_grabber y v_grabber en su lugar.


Texture2D h_grabber 🔗

El icono usado para el agarrador dibujado en el área central cuando vertical es false.


Texture2D h_touch_dragger 🔗

El icono usado para el control de arrastre cuando touch_dragger_enabled es true y vertical es false.


Texture2D touch_dragger 🔗

El icono utilizado para el control de arrastre cuando touch_dragger_enabled es true. Esto solo se usa en HSplitContainer y VSplitContainer. Para SplitContainer, mira h_touch_dragger y v_touch_dragger en su lugar.


Texture2D v_grabber 🔗

El icono usado para el agarrador dibujado en el área central cuando vertical es true.


Texture2D v_touch_dragger 🔗

El icono usado para el control de arrastre cuando touch_dragger_enabled es true y vertical es true.


StyleBox split_bar_background 🔗

Determina el fondo de la barra divisoria si su grosor es mayor que cero.