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...
EditorDock
Експериментальний: This class may be changed or removed in future versions.
Успадковує: MarginContainer < Container < Control < CanvasItem < Node < Object
Успадковано від: FileSystemDock
Закріплюваний контейнер для редактора.
Опис
EditorDock — це вузол Container, який можна закріпити в одному зі слотів док-станції редактора. Доки додаються плагінами, щоб забезпечити місце для елементів керування, пов'язаних з EditorPlugin. Редактор постачається з кількома вбудованими доками, такими як док-станція Scene, док-станція FileSystem тощо.
Ви можете додати док-станцію за допомогою методу EditorPlugin.add_dock(). Док-станцію можна налаштувати, змінивши її властивості.
@tool
extends EditorPlugin
# Посилання на док-станцію.
var dock
# Ініціалізація плагіна.
func _enter_tree():
dock = EditorDock.new()
dock.title = "Мій Док"
dock.dock_icon = preload("./dock_icon.png")
dock.default_slot = EditorDock.DOCK_SLOT_RIGHT_UL
var dock_content = preload("./dock_content.tscn").instantiate()
dock.add_child(dock_content)
add_dock(dock)
# Очищення плагіна.
func _exit_tree():
remove_dock(dock)
dock.queue_free()
dock = null
Посібники
Властивості
accessibility_region |
|
|
BitField[DockLayout] |
|
|
|
||
|
||
Texture2D |
||
Shortcut |
||
|
||
|
||
StringName |
|
|
String |
|
|
String |
|
|
|
||
|
Методи
void |
_load_layout_from_config(config: ConfigFile, section: String) virtual |
void |
_save_layout_to_config(config: ConfigFile, section: String) virtual const |
void |
_update_layout(layout: int) virtual |
void |
close() |
void |
|
void |
open() |
Сигнали
closed() 🔗
Викликається, коли док закривається кнопкою «Закрити» у контекстному спливаючому вікні, перед тим, як його видаляють з батьківського елемента. Див. closable.
opened() 🔗
Emitted when the dock is opened via the Editor > Editor Docks menu, before it's made visible.
Переліки
flags DockLayout: 🔗
DockLayout DOCK_LAYOUT_VERTICAL = 1
Дозволяє розмістити док у вертикальних слотах док-станції з обох боків редактора.
DockLayout DOCK_LAYOUT_HORIZONTAL = 2
Allows placing the dock in the horizontal dock slots at the bottom.
DockLayout DOCK_LAYOUT_FLOATING = 4
Дозволяє зробити док плаваючим (відкритим як окреме вікно).
DockLayout DOCK_LAYOUT_ALL = 7
Дозволяє розмістити док-станцію у всіх доступних слотах.
enum DockSlot: 🔗
DockSlot DOCK_SLOT_NONE = -1
Док закритий.
DockSlot DOCK_SLOT_LEFT_UL = 0
Дак слот, ліва сторона, верхній лівий (порожня в макеті за замовчуванням).
DockSlot DOCK_SLOT_LEFT_BL = 1
Дак слот, ліва сторона, низ-ліва (порожня в макеті за замовчуванням).
DockSlot DOCK_SLOT_LEFT_UR = 2
Дак слот, ліва сторона, верхній правий (в розкладі за замовчуванням включає сцену і імпорт доки).
DockSlot DOCK_SLOT_LEFT_BR = 3
Слот для док-станції, ліворуч, внизу праворуч (у стандартній розкладці включає доки файлової системи та історії).
DockSlot DOCK_SLOT_RIGHT_UL = 4
Слот для застикання, справа, угорі ліворуч (у стандартній розкладці включає застикання Інспектора, Сигнала та Групи).
DockSlot DOCK_SLOT_RIGHT_BL = 5
Дак слот, права сторона, низ-ліва (порожня в макеті за замовчуванням).
DockSlot DOCK_SLOT_RIGHT_UR = 6
Дак слот, права сторона, верхній правий (порожня в макеті за замовчуванням).
DockSlot DOCK_SLOT_RIGHT_BR = 7
Дак слот, права сторона, нижня права (порожня в макеті за замовчуванням).
DockSlot DOCK_SLOT_BOTTOM = 8
Нижня панель.
DockSlot DOCK_SLOT_BOTTOM_L = 9
Dock slot at the bottom, below bottom panel, on the left side.
DockSlot DOCK_SLOT_BOTTOM_R = 10
Dock slot at the bottom, below bottom panel, on the right side.
DockSlot DOCK_SLOT_MAX = 11
Представляє розмір DockSlot enum.
Описи властивостей
BitField[DockLayout] available_layouts = 5 🔗
void set_available_layouts(value: BitField[DockLayout])
BitField[DockLayout] get_available_layouts()
Доступні макети для цього доку у вигляді бітовій маски. За замовчуванням док дозволяє вертикальні та плаваючі макети.
Якщо true, док можна закрити кнопкою «Закрити» у контекстному вікні. Доки з увімкненим global завжди можна закрити..
Стандартний слот дока, який використовується під час додавання дока за допомогою EditorPlugin.add_dock().
Після додавання дока його можна перемістити в інший слот, і редактор автоматично запам'ятає його положення між сеансами. Якщо видалити та знову додати док, його значення буде скинуто до стандартного.
Texture2D dock_icon 🔗
void set_dock_icon(value: Texture2D)
Texture2D get_dock_icon()
Піктограма для дока, як текстура. Якщо вказано, вона замінить icon_name.
Shortcut dock_shortcut 🔗
void set_dock_shortcut(value: Shortcut)
Shortcut get_dock_shortcut()
Ярлик, який використовується для відкриття дока.
bool force_show_icon = false 🔗
If true, the dock will always display an icon, regardless of EditorSettings.interface/editor/docks/dock_tab_style or EditorSettings.interface/editor/docks/bottom_dock_tab_style.
Якщо true, док відображається в меню Редактор > Доки редактора і його можна закрити. Неглобальні доки все ще можна закрити за допомогою методу close або коли closable true.
StringName icon_name = &"" 🔗
void set_icon_name(value: StringName)
StringName get_icon_name()
Піктограма для дока, як назва з типу теми EditorIcons у темі редактора. Список доступних піктограм можна знайти тут.
String layout_key = "" 🔗
void set_layout_key(value: String)
String get_layout_key()
Ключ, що представляє цей док у файлі макета редактора. Якщо порожній, буде використано відображену назву дока.
String title = "" 🔗
void set_title(value: String)
String get_title()
Назва вкладки дока. Якщо порожня, буде використано Node.name дока. Якщо назва згенерована автоматично (містить @), буде використано назву першого дочірнього елемента.
Color title_color = Color(0, 0, 0, 0) 🔗
Колір заголовка вкладки Dock. Якщо його альфа-кадр дорівнює 0.0, буде використано колір шрифту за замовчуванням.
Якщо значення true, док не відкривається та не закривається автоматично під час завантаження макета редактора, а лише переміщується. Його також не можна відкрити за допомогою комбінації клавіш. Це призначено для доків, які відкриваються та закриваються в певних випадках, наприклад, під час вибору вузла TileMap або AnimationTree.
Описи методів
void _load_layout_from_config(config: ConfigFile, section: String) virtual 🔗
Реалізуйте цей метод для обробки завантаження макета цього дока. Він еквівалентний EditorPlugin._set_window_layout(). section – це унікальна секція, що базується на layout_key.
void _save_layout_to_config(config: ConfigFile, section: String) virtual const 🔗
Реалізуйте цей метод для збереження макета цього дока. Він еквівалентний методу EditorPlugin._get_window_layout(). section – це унікальна секція, що базується на layout_key.
void _update_layout(layout: int) virtual 🔗
Реалізуйте цей метод для обробки перемикання макета для цього доку. layout є однією з констант DockLayout.
func _update_layout(layout):
box_container.vertical = (layout == DOCK_LAYOUT_VERTICAL)
void close() 🔗
Закриває док, приховуючи його вкладку.
void make_visible() 🔗
Фокусує вкладку дока (або вікно, якщо воно плаваюче). Якщо док був закритий, він буде відкритий. Якщо це нижній док, робить нижню панель видимою.
void open() 🔗
Відкриває док. Він з’явиться в останньому використаному слоті дока. Якщо док не має слота за замовчуванням, він буде відкритий плаваючим.
Примітка: Це не переводить док у фокус. Якщо ви хочете відкрити та перевести док у фокус, використовуйте make_visible().