SplitContainer

Успадковує: Container < Control < CanvasItem < Node < Object

Успадковано від: HSplitContainer, VSplitContainer

Контейнер, що розщеплює дві дитини, горизонтально або вертикально і забезпечує зчеплення для регулювання співвідношення спліту.

Опис

Контейнер, який приймає тільки два дочірні елементи, потім влаштовує їх горизонтально або вертикально і створює дивізор між ними. Дивізор може бути перетягований навколо, щоб змінити співвідношення розмірів між контрольами дитини.

Посібники

Властивості

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

Методи

void

clamp_split_offset()

Control

get_drag_area_control()

Властивості теми

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


Сигнали

drag_ended() 🔗

Видається, коли користувач завершує перетягування.


drag_started() 🔗

Видається, коли користувач починає перетягувати.


dragged(offset: int) 🔗

Випробувано, коли перетягування користувачем.


Переліки

enum DraggerVisibility: 🔗

DraggerVisibility DRAGGER_VISIBLE = 0

Піктограма розділеного перетягувача завжди видима, якщо autohide має значення false, інакше вона відображається лише тоді, коли на неї наводиться курсор.

Розмір піктограми захоплення визначає мінімальний separation.

Піктограма перетягування автоматично приховується, якщо довжина піктограми захоплювача більша за смугу розділення.

DraggerVisibility DRAGGER_HIDDEN = 1

Значок розділеного перетягувача ніколи не відображається незалежно від значення autohide.

Розмір піктограми захоплення визначає мінімальний separation.

DraggerVisibility DRAGGER_HIDDEN_COLLAPSED = 2

Значок розділеного перетягувача не видно, а панель розділення згорнуто до нульової товщини.


Описи властивостей

bool collapsed = false 🔗

  • void set_collapsed(value: bool)

  • bool is_collapsed()

Якщо true, перетягувач буде вимкнено, а розмір дочірніх елементів буде таким, якби split_offset було 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()

Виділяє область перетягування Rect2, щоб ви могли бачити, де вона знаходиться під час розробки. Зона перетягування є золотою, якщо dragging_enabled має значення true, і червоною, якщо false.


int drag_area_margin_begin = 0 🔗

  • void set_drag_area_margin_begin(value: int)

  • int get_drag_area_margin_begin()

Зменшує розмір області перетягування та панелі розділення split_bar_background на початку контейнера.


int drag_area_margin_end = 0 🔗

  • void set_drag_area_margin_end(value: int)

  • int get_drag_area_margin_end()

Зменшує розмір області перетягування та панелі розділення split_bar_background у кінці контейнера.


int drag_area_offset = 0 🔗

  • void set_drag_area_offset(value: int)

  • int get_drag_area_offset()

Зміщує область перетягування на осі контейнера, щоб запобігти перекриттю області перетягування ScrollBar або іншого вибраного Control дочірнього вузла.


DraggerVisibility dragger_visibility = 0 🔗

Визначає видимість перетягувача. Ця властивість не визначає, чи ввімкнено перетягування. Для цього використовуйте dragging_enabled.


bool dragging_enabled = true 🔗

  • void set_dragging_enabled(value: bool)

  • bool is_dragging_enabled()

Вмикає або вимикає розділене перетягування.


int split_offset = 0 🔗

  • void set_split_offset(value: int)

  • int get_split_offset()

Початковий зсув розщеплення між двома Controls, з 0 на кінець першого Control.


bool touch_dragger_enabled = false 🔗

  • void set_touch_dragger_enabled(value: bool)

  • bool is_touch_dragger_enabled()

Якщо значення true, буде ввімкнено сенсорний маркер перетягування для кращої зручності використання на менших екранах. На відміну від стандартного інструмента захоплення, цей маркер перетягування перекриває дочірні елементи SplitContainer і не впливає на їх мінімальну відстань. Стандартний інструмент захоплення більше не відображатиметься, коли ця опція ввімкнена.


bool vertical = false 🔗

  • void set_vertical(value: bool)

  • bool is_vertical()

Якщо true, то SplitContainer влаштує своїх дітей вертикально, а не горизонтально.

Не можна змінити при використанні HSplitContainer і VSplitContainer.


Описи методів

void clamp_split_offset() 🔗

Затискає значення split_offset, щоб не вийти за межі наявного мінімального і максимального значення.


Control get_drag_area_control() 🔗

Повертає область перетягування Control. Наприклад, ви можете перемістити попередньо налаштовану кнопку в область перетягування Control, щоб вона рухалася разом із роздільною смугою. Спробуйте встановити прив’язки Button на center перед викликом reparent().

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

Примітка: Область перетягування Control малюється поверх дочірніх елементів SplitContainer, тому об’єкти малювання CanvasItem, викликані з Control, і дочірні об’єкти, додані до Control, також відображатимуться над дочірніми елементами SplitContainer. Спробуйте встановити Control.mouse_filter користувацьких дочірніх елементів на Control.MOUSE_FILTER_IGNORE, щоб запобігти блокуванню перетягування мишею, якщо це потрібно.

Попередження: Це обов’язковий внутрішній вузол, його видалення та звільнення може призвести до збою.


Описи тематичної нерухомості

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 🔗

Логічне значення. Якщо 1 (true), захоплювач автоматично сховається, якщо він не знаходиться під курсором. Якщо 0 (false), він завжди видимий. dragger_visibility має бути DRAGGER_VISIBLE.


int minimum_grab_thickness = 6 🔗

Мінімальна товщина області, яку користувачі можуть натиснути, щоб захопити розділену смугу. Це гарантує, що смугу розділення можна буде перетягнути, якщо розмір separation або h_grabber / v_grabber занадто малий, щоб легко вибрати.


int separation = 12 🔗

Товщина розділеної смуги, тобто зазор між двома дочірніми елементами контейнера. Це замінюється розміром піктограми захоплювача, якщо dragger_visibility встановлено на DRAGGER_VISIBLE або DRAGGER_HIDDEN, а separation менший за розмір піктограми захоплювача на тій самій осі.

Примітка: Щоб отримати значення separation, менші за розмір піктограми захоплення, наприклад 1 пікс, встановіть для h_grabber або v_grabber нове значення ImageTexture, яке фактично встановлює розмір піктограми захоплення 0 пікселів.


Texture2D grabber 🔗

Піктограма, яка використовується для інструмента захоплення, намальованого в середній області. Використовується лише в HSplitContainer та VSplitContainer. Для SplitContainer дивіться h_grabber та v_grabber замість цього.


Texture2D h_grabber 🔗

Піктограма, яка використовується для граббера, намальованого в середній області, коли vertical є false.


Texture2D h_touch_dragger 🔗

Піктограма, яка використовується для маркера перетягування, коли touch_dragger_enabled має значення true, а vertical має значення false.


Texture2D touch_dragger 🔗

Піктограма, яка використовується для ручки перетягування, коли touch_dragger_enabled має значення true. Використовується лише в HSplitContainer та VSplitContainer. Для SplitContainer дивіться h_touch_dragger та v_touch_dragger.


Texture2D v_grabber 🔗

Ікона, що використовується для захоплення, намальованої в середній зоні, коли vertical true.


Texture2D v_touch_dragger 🔗

Піктограма, яка використовується для маркера перетягування, коли touch_dragger_enabled має значення true, а vertical має значення true.


StyleBox split_bar_background 🔗

Визначає фон розділеної смуги, якщо її товщина більша за нуль.