Перейти к содержанию

DockingRoot

Корневой визуальный виджет системы докинга IDE, объединяющий узлы дерева, полосы вкладок, разделители, предпросмотр сброса и отрыв в плавающие окна.

Обзор

DockingRoot — корневой визуальный виджет, объединяющий всю систему докинга.

Основные функции

  • Отображает иерархическое дерево узлов с интерактивными разделителями.
  • Отрисовывает панели вкладок с кнопками закрытия, иконками и индикаторами активной вкладки.
  • Интегрируется с оконными хостами WindowWidget для плавающих окон.
  • Показывает визуальный предпросмотр сброса и крестообразный индикатор докинга.
  • Генерирует события жизненного цикла (onLayoutChanged, onDropPreviewChanged).

Настройка DockingRoot и добавление панелей

DockingRoot root = new DockingRoot();
root.addDocument("code-1", "CodeEditor.java", editorWidget);
root.addToolPane("proj-1", "Project", projectTreeWidget, DockArea.LEFT);

Связанные ссылки

  • DockPane: Дескриптор отдельной панели докинга, содержащей виджет содержимого, заголовок вкладки, иконку, признак несохраненных правок и стражи закрытия.
  • DockTheme: Тема оформления системы докинга, настраивающая палитру цветов (DockColor), геометрию вкладок, разделители, тени и ручки изменения размера окон.
  • DockingManager: Невизуальный контроллер раскладки, управляющий иерархическим деревом докинга, добавлением панелей, разделениями, порядком вкладок и снимками раскладки.

API

DockingRoot()

Конструирует новый виджет DockingRoot со стандартной темой и стилями.

DockingRoot::acceptsDockDrops()

Проверяет, разрешен ли прием перетаскиваемых панелей в данный DockingRoot.

Возвращает boolean: True, если корень принимает операции сброса при докинге..

DockingRoot::addDocument(String, String, Widget)

Создает и добавляет документную панель с указанным содержимым.

Параметр Тип Описание
id String Уникальный идентификатор панели.
title String Текст заголовка панели.
content Widget Виджет содержимого панели.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::addPane(DockPane)

Добавляет панель в раскладку докинга.

Параметр Тип Описание
pane DockPane Панель DockPane для добавления.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::addToolPane(String, String, Widget, DockArea)

Создает и добавляет инструментальную панель в указанную область докинга.

Параметр Тип Описание
id String Уникальный идентификатор панели.
title String Текст заголовка панели.
content Widget Виджет содержимого панели.
area DockArea Область докинга, куда помещается панель.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::allowFloatingOutsideHost()

Проверяет, разрешено ли плавающим окнам выходить за границы хоста.

Возвращает boolean: True, если плавающие окна могут выходить за границы хоста..

DockingRoot::allowFloatingOutsideHost(boolean)

Задает, могут ли плавающие окна выходить за границы хоста.

Параметр Тип Описание
allowFloatingOutsideHost boolean Разрешено ли плавающим окнам выходить за границы хоста.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::clearForeignWindowDropPreview(WindowWidget)

Очищает активный предпросмотр сброса внешнего плавающего окна.

Параметр Тип Описание
window WindowWidget Перетаскиваемое плавающее окно.

DockingRoot::closeActivePane()

Закрывает текущую выбранную активную вкладку.

Возвращает boolean: True, если панель была закрыта; иначе false..

DockingRoot::crossCellRect(RectView, DockArea)

Вычисляет экранные границы одной из ячеек крестообразного индикатора сброса.

Параметр Тип Описание
leafBounds RectView Экранные границы листового узла докинга.
area DockArea Область докинга, куда помещается панель.

Возвращает MutableRect: Прямоугольник границ целевой ячейки докинга..

DockingRoot::dockDragging()

Проверяет, активен ли в данный момент жест перетаскивания вкладки докинга.

Возвращает boolean: True, если операция перетаскивания докинга активна..

DockingRoot::dockDropPreview()

Возвращает текущее намерение предпросмотра сброса при перетаскивании.

Возвращает DockDropIntent: Текущее намерение предпросмотра сброса или null..

DockingRoot::dockForeignWindow(WindowWidget, float, float)

Интегрирует плавающее окно в дерево докинга в указанную область.

Параметр Тип Описание
window WindowWidget Перетаскиваемое плавающее окно.
rootX float Корневая координата X указателя.
rootY float Корневая координата Y указателя.

Возвращает boolean: True, если панель была успешно пристыкована; иначе false..

DockingRoot::dockingManager()

Возвращает связанный экземпляр менеджера раскладки DockingManager.

Возвращает DockingManager: Лежащий в основе менеджер DockingManager, управляющий раскладкой..

DockingRoot::dragController()

Возвращает контроллер жестов перетаскивания вкладок.

Возвращает DockDragController: Контроллер DockDragController, управляющий жестами вкладок..

DockingRoot::dropPreviewRenderer()

Возвращает делегат отрисовщика предпросмотра сброса или null.

Возвращает WidgetRender: Запрошенный отрисовщик..

DockingRoot::dropPreviewRenderer(WidgetRender)

Задает пользовательский делегат отрисовщика предпросмотра сброса.

Параметр Тип Описание
dropPreviewRenderer WidgetRender Пользовательский отрисовщик предпросмотра сброса.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::findPane(String)

Находит панель по уникальному идентификатору.

Параметр Тип Описание
paneId String Идентификатор панели для поиска или выбора.

Возвращает DockPane: Найденная панель DockPane или null, если не найдена..

DockingRoot::finishForeignWindowDrop(WindowWidget, float, float)

Завершает операцию сброса внешнего окна с интеграцией в дерево докинга.

Параметр Тип Описание
window WindowWidget Перетаскиваемое плавающее окно.
rootX float Корневая координата X указателя.
rootY float Корневая координата Y указателя.

Возвращает boolean: True, если панель была успешно пристыкована; иначе false..

DockingRoot::floatingWindowsRedockLocked()

Проверяет, заблокирован ли повторный докинг для плавающих окон этого корня.

Возвращает boolean: True, если плавающие окна заблокированы от повторного докинга..

DockingRoot::floatingWindowsRedockLocked(boolean)

Блокирует или разблокирует возможность повторного докинга для плавающих окон.

Параметр Тип Описание
floatingWindowsRedockLocked boolean Заблокирован ли повторный докинг плавающих окон.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::lastFloatingWindow()

Возвращает последнее оторванное плавающее окно или null.

Возвращает WindowWidget: Последнее оторванное плавающее окно или null..

DockingRoot::manager()

Синоним для получения экземпляра менеджера DockingManager.

Возвращает DockingManager: Лежащий в основе менеджер DockingManager, управляющий раскладкой..

DockingRoot::onDragEnded(EventListener)

Регистрирует слушатель событий завершения перетаскивания вкладки.

Параметр Тип Описание
listener EventListener Слушатель событий изменения предпросмотра сброса.

Возвращает EventSubscription: Токен подписки для отмены регистрации слушателя..

DockingRoot::onDragMoved(EventListener)

Регистрирует слушатель событий перемещения перетаскиваемой вкладки.

Параметр Тип Описание
listener EventListener Слушатель событий изменения предпросмотра сброса.

Возвращает EventSubscription: Токен подписки для отмены регистрации слушателя..

DockingRoot::onDragStarted(EventListener)

Регистрирует слушатель событий начала перетаскивания вкладки.

Параметр Тип Описание
listener EventListener Слушатель событий изменения предпросмотра сброса.

Возвращает EventSubscription: Токен подписки для отмены регистрации слушателя..

DockingRoot::onDropPreviewChanged(EventListener)

Регистрирует слушатель событий изменения предпросмотра сброса.

Параметр Тип Описание
listener EventListener Слушатель событий изменения предпросмотра сброса.

Возвращает EventSubscription: Токен подписки для отмены регистрации слушателя..

DockingRoot::onLayoutChanged(EventListener)

Регистрирует слушатель событий изменения раскладки дерева докинга.

Параметр Тип Описание
listener EventListener Слушатель событий изменения предпросмотра сброса.

Возвращает EventSubscription: Токен подписки для отмены регистрации слушателя..

DockingRoot::onLayoutRestored(EventListener)

Регистрирует слушатель событий успешного восстановления раскладки из снимка.

Параметр Тип Описание
listener EventListener Слушатель событий изменения предпросмотра сброса.

Возвращает EventSubscription: Токен подписки для отмены регистрации слушателя..

DockingRoot::paneRenderer()

Возвращает пользовательский делегат отрисовщика панелей или null.

Возвращает WidgetRender: Запрошенный отрисовщик..

DockingRoot::paneRenderer(WidgetRender)

Задает пользовательский делегат отрисовщика панелей.

Параметр Тип Описание
paneRenderer WidgetRender Пользовательский отрисовщик предпросмотра сброса.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::previewForeignWindowDrop(WindowWidget, float, float)

Вычисляет и активирует предпросмотр сброса для перетаскиваемого внешнего плавающего окна.

Параметр Тип Описание
window WindowWidget Перетаскиваемое плавающее окно.
rootX float Корневая координата X указателя.
rootY float Корневая координата Y указателя.

DockingRoot::restoreLayout(DockLayoutSnapshot, Map)

Восстанавливает раскладку докинга из снимка с использованием реестра панелей.

Параметр Тип Описание
snapshot DockLayoutSnapshot Снимок раскладки для восстановления.
paneRegistry Map Реестр соответствия ID панелей экземплярам DockPane.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::rootNode()

Возвращает корневой узел текущей иерархии дерева докинга.

Возвращает DockNode: Корневой узел дерева докинга..

DockingRoot::selectNextTab()

Переключает выбор на следующую вкладку в текущей группе.

Возвращает boolean: True, если активная вкладка изменилась; иначе false..

DockingRoot::selectPane(String)

Делает указанную панель активной выбранной вкладкой.

Параметр Тип Описание
paneId String Идентификатор панели для поиска или выбора.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::selectPreviousTab()

Переключает выбор на предыдущую вкладку в текущей группе.

Возвращает boolean: True, если активная вкладка изменилась; иначе false..

DockingRoot::splitHandleRenderer()

Возвращает пользовательский делегат отрисовщика разделителей или null.

Возвращает WidgetRender: Запрошенный отрисовщик..

DockingRoot::splitHandleRenderer(WidgetRender)

Задает пользовательский делегат отрисовщика разделителей.

Параметр Тип Описание
splitHandleRenderer WidgetRender Пользовательский отрисовщик предпросмотра сброса.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::splitHandleStyle()

Возвращает визуальный стиль отрисовки разделителей.

Возвращает SplitHandleStyle: Текущий визуальный стиль разделителей..

DockingRoot::splitHandleStyle(SplitHandleStyle)

Задает визуальный стиль отрисовки разделителей (BLOCK или SEAM).

Параметр Тип Описание
splitHandleStyle SplitHandleStyle Визуальный стиль разделителей.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::splitHandleThickness()

Возвращает толщину разделителей в пикселях.

Возвращает float: Толщина разделителя в пикселях..

DockingRoot::splitHandleThickness(float)

Задает толщину разделителей в пикселях.

Параметр Тип Описание
splitHandleThickness float Толщина разделителей в пикселях.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::splitPane(String, DockArea, DockPane)

Разделяет листовой узел с targetPaneId вдоль указанной области.

Параметр Тип Описание
targetPaneId String ID опорной панели для разделения или объединения во вкладки.
area DockArea Область докинга, куда помещается панель.
pane DockPane Панель DockPane для добавления.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::splitPane(String, DockArea, DockPane, float)

Разделяет листовой узел с targetPaneId вдоль указанной области с заданным коэффициентом.

Параметр Тип Описание
targetPaneId String ID опорной панели для разделения или объединения во вкладки.
area DockArea Область докинга, куда помещается панель.
pane DockPane Панель DockPane для добавления.
splitRatio float Коэффициент разделения области.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::tabBounds(String)

Вычисляет экранные прямоугольные границы заголовка указанной вкладки.

Параметр Тип Описание
paneId String Идентификатор панели для поиска или выбора.

Возвращает RectView: Экранные границы заголовка запрошенной вкладки..

DockingRoot::tabCloseBounds(String)

Вычисляет экранные прямоугольные границы кнопки закрытия указанной вкладки.

Параметр Тип Описание
paneId String Идентификатор панели для поиска или выбора.

Возвращает RectView: Экранные границы кнопки закрытия вкладки..

DockingRoot::tabHeight()

Возвращает высоту полосы вкладок в пикселях.

Возвращает float: Высота панели вкладок в пикселях..

DockingRoot::tabHeight(float)

Задает высоту полосы вкладок в пикселях.

Параметр Тип Описание
tabHeight float Высота заголовков вкладок в пикселях.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::tabPane(String, DockPane)

Группирует новую панель во вкладки с целевой панелью.

Параметр Тип Описание
targetPaneId String ID опорной панели для разделения или объединения во вкладки.
pane DockPane Панель DockPane для добавления.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::tearOffOnDragOut()

Проверяет, приводит ли вытягивание вкладки за пределы области к отрыву в плавающее окно.

Возвращает boolean: True, если перетаскивание вкладки наружу создает плавающее окно..

DockingRoot::tearOffOnDragOut(boolean)

Включает или выключает автоматический отрыв вкладок в плавающие окна при сбросе вне док-зон.

Параметр Тип Описание
tearOffOnDragOut boolean Отрывать ли вкладку в плавающее окно при вытягивании наружу.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::theme()

Возвращает активную тему DockTheme данного корня.

Возвращает DockTheme: Текущая тема оформления докинга..

DockingRoot::theme(DockTheme)

Применяет пользовательскую тему DockTheme к данному корню.

Параметр Тип Описание
theme DockTheme Конфигурация темы докинга.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::useDefaultDockingRenderers()

Сбрасывает все отрисовщики на стандартные встроенные реализации.

Возвращает DockingRoot: Данный DockingRoot для цепочки вызовов..

DockingRoot::windowDragZoneAt(float, float)

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

Параметр Тип Описание
rootX float Корневая координата X указателя.
rootY float Корневая координата Y указателя.

Возвращает boolean: True, если координаты указателя попали в зону перетаскивания окна..

DockingRoot::windowHost()

Возвращает родительский хост WindowWidget или null, если корень верхнего уровня.

Возвращает WindowWidget: Виджет-хост, содержащий плавающие окна..

DockingRoot::windowHost(WindowWidget)

Привязывает данный корень докинга к виджету-хосту WindowWidget.

Параметр Тип Описание
windowHost WindowWidget Виджет-хост для плавающих окон.