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 |
Виджет-хост для плавающих окон. |