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. Редактор поставляется с несколькими встроенными док-панелями, такими как док-панель сцены, док-панель файловой системы и т. д.
Вы можете добавить док-панель, используя EditorPlugin.add_dock(). Док-панель можно настроить, изменив её свойства.
@tool
extends EditorPlugin
# Ссылка на док
var dock
# Инициализация плагина.
func _enter_tree():
dock = EditorDock.new()
dock.title = "My Dock"
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] |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методы
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() 🔗
Событие возникает при закрытии панели Dock с помощью кнопки «Закрыть» во всплывающем окне контекста, до того, как панель будет удалена из родительского элемента. См. closable.
opened() 🔗
Вызывается при открытии панели Dock через меню «Редактор > Панели редактора», до того, как она станет видимой.
Перечисления
flags DockLayout: 🔗
DockLayout DOCK_LAYOUT_VERTICAL = 1
Позволяет размещать панель Dock в вертикальных слотах Dock по обеим сторонам редактора.
DockLayout DOCK_LAYOUT_HORIZONTAL = 2
Позволяет расположить док-станцию в горизонтальные слоты внизу.
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
Док слот расположен внизу, под нижней панелью, с левой стороны.
DockSlot DOCK_SLOT_BOTTOM_R = 10
Док слот расположен внизу, под нижней панелью, с правой стороны.
DockSlot DOCK_SLOT_MAX = 11
Представляет размер перечисления DockSlot.
Описания свойств
BitField[DockLayout] available_layouts = 5 🔗
void set_available_layouts(value: BitField[DockLayout])
BitField[DockLayout] get_available_layouts()
Доступные варианты расположения элементов для этой панели Dock представлены в виде битовой маски. По умолчанию панель Dock поддерживает вертикальное и плавающее расположение элементов.
Если true, панель Dock можно закрыть с помощью кнопки «Закрыть» во всплывающем окне. Панели Dock с включенной опцией global всегда можно закрыть.
Слот док-панели по умолчанию, используемый при добавлении док-панели с помощью EditorPlugin.add_dock().
После добавления док-панели её можно переместить в другой слот, и редактор автоматически запомнит её положение между сессиями. Если вы удалите и снова добавите док-панель, её положение будет сброшено до значения по умолчанию.
Иконка для панели Dock в виде текстуры. Если указано, она переопределит icon_name.
Быстрая клавиша для открытия док-станции.
bool force_show_icon = false 🔗
Если true, то на панели Dock всегда будет отображаться значок, независимо от EditorSettings.interface/editor/docks/dock_tab_style или 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()
Значок для панели Dock, название которого взято из типа темы EditorIcons в теме редактора. Список доступных значков можно найти здесь.
Ключ, представляющий эту панель в файле макета редактора. Если поле пустое, будет использоваться отображаемое имя панели.
Заголовок вкладки панели Dock. Если поле пустое, будет использовано имя Node.name панели Dock. Если имя генерируется автоматически (содержит @), вместо него будет использовано имя первого дочернего элемента.
Color title_color = Color(0, 0, 0, 0) 🔗
Цвет заголовка вкладки в доке. Если его прозрачность равна 0.0, будет использоваться цвет шрифта по умолчанию.
Если true, панель Dock не открывается и не закрывается автоматически при загрузке макета редактора, а только перемещается. Её также нельзя открыть с помощью сочетания клавиш. Это относится к панелям Dock, которые открываются и закрываются в определённых случаях, например, при выборе узла TileMap или AnimationTree.
Описания метода
void _load_layout_from_config(config: ConfigFile, section: String) virtual 🔗
Реализуйте этот метод для обработки загрузки макета этой панели Dock. Он эквивалентен методу 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 🔗
Реализуйте этот метод для обработки переключения макета для этой панели DockLayout. layout — одна из констант DockLayout.
func _update_layout(layout):
box_container.vertical = (layout == DOCK_LAYOUT_VERTICAL)
void close() 🔗
Закрывает панель Dock, скрывая соответствующую вкладку.
void make_visible() 🔗
Фокусирует вкладку (или окно, если оно плавающее) док-панели. Если док-панель была закрыта, она откроется. Если это нижняя док-панель, делает видимой нижнюю панель.
void open() 🔗
Открывает док-панель. Она появится в последнем использованном слоте док-панели. Если у док-панели нет слота по умолчанию, она будет открыта в плавающем режиме.
Примечание: Этот метод не фокусирует док-панель. Если вы хотите открыть и сфокусировать док-панель, используйте make_visible().