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
Обучающие материалы
Свойства
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.
Перечисления
flags DockLayout: 🔗
DockLayout DOCK_LAYOUT_VERTICAL = 1
Позволяет размещать панель Dock в вертикальных слотах Dock по обеим сторонам редактора.
DockLayout DOCK_LAYOUT_HORIZONTAL = 2
Позволяет разместить панель Dock в нижней панели редактора.
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_MAX = 9
Представляет размер перечисления 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/dock_tab_style или EditorSettings.interface/editor/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().