DockingManager
Невизуальный контроллер раскладки, управляющий иерархическим деревом докинга, добавлением панелей, разделениями, порядком вкладок и снимками раскладки.
Обзор
DockingManager — невизуальная модель и контроллер дерева раскладки докинга.
Выполняет структурные изменения дерева:
- Добавление панелей со сплитом или объединением во вкладки (addPane, tabPane, splitPane).
- Перемещение вкладок внутри группы (reorderPane).
- Открепление панелей в плавающие окна (detachPaneForFloating).
- Создание и восстановление снимков раскладки (snapshot, restore).
Разделение и группировка панелей во вкладки
Связанные ссылки
- DockLayoutSnapshot: Неизменяемый снимок, представляющий рекурсивное дерево раскладки докинга и выбранные панели для сериализации и сохранения состояния.
- DockNode: Иерархический узел дерева докинга: листовой узел (LEAF) со вкладками DockPane или узел разделения (SPLIT), делящий детей горизонтально или вертикально.
- DockingRoot: Корневой визуальный виджет системы докинга IDE, объединяющий узлы дерева, полосы вкладок, разделители, предпросмотр сброса и отрыв в плавающие окна.
API
DockingManager::addPane(DockPane)
Добавляет панель в указанную область докинга относительно целевой панели.
| Параметр | Тип | Описание |
|---|---|---|
pane |
DockPane |
Панель DockPane для добавления или изменения. |
Возвращает DockingManager: Данный DockingManager для цепочки вызовов..
DockingManager::closeActivePane()
Закрывает текущую активную панель с вызовом стража закрытия.
Возвращает boolean: True, если панель была закрыта; иначе false..
DockingManager::closePane(String)
Закрывает панель по указанному строковому идентификатору.
| Параметр | Тип | Описание |
|---|---|---|
paneId |
String |
Идентификатор панели. |
Возвращает DockingManager: Данный DockingManager для цепочки вызовов..
DockingManager::containsPane(String)
Проверяет, открыта ли панель с указанным ID в текущем дереве докинга.
| Параметр | Тип | Описание |
|---|---|---|
paneId |
String |
Идентификатор панели. |
Возвращает boolean: True, если панель с указанным ID существует..
DockingManager::detachPaneForFloating(String)
Открепляет панель из дерева докинга для ручного управления плавающим окном.
| Параметр | Тип | Описание |
|---|---|---|
paneId |
String |
Идентификатор панели. |
Возвращает DockPane: Открепленный экземпляр DockPane..
DockingManager::dockPane(String, String, DockArea)
Пристыковывает панель в указанную позицию или сторону дерева докинга.
| Параметр | Тип | Описание |
|---|---|---|
paneId |
String |
Идентификатор панели. |
targetPaneId |
String |
Идентификатор опорной целевой панели. |
area |
DockArea |
Целевая область докинга. |
Возвращает boolean: True, если докинг прошел успешно; иначе false..
DockingManager::empty()
Проверяет, пуста ли иерархия докинга и не содержит ли зарегистрированных панелей.
Возвращает boolean: True, если дерево докинга не содержит панелей..
DockingManager::findPane(String)
Находит панель по строковому идентификатору или возвращает null.
| Параметр | Тип | Описание |
|---|---|---|
paneId |
String |
Идентификатор панели. |
Возвращает DockPane: Найденная панель DockPane или null, если не найдена..
DockingManager::floatPane(String)
Открепляет панель и помещает ее в плавающее окно хоста.
| Параметр | Тип | Описание |
|---|---|---|
paneId |
String |
Идентификатор панели. |
Возвращает WindowWidget: Созданный виджет плавающего окна WindowWidget с открепленной панелью..
DockingManager::paneCount()
Возвращает общее количество открытых панелей во всем дереве докинга.
Возвращает int: Общее количество панелей во всем дереве докинга..
DockingManager::panes()
Возвращает неизменяемую коллекцию всех зарегистрированных панелей докинга.
Возвращает List: Неизменяемая коллекция всех зарегистрированных панелей..
DockingManager::reorderPane(String, String)
Перемещает вкладку панели в пределах ее листового узла.
| Параметр | Тип | Описание |
|---|---|---|
paneId |
String |
Идентификатор панели. |
beforePaneId |
String |
Идентификатор панели, перед которой выполняется вставка. |
Возвращает boolean: True, если порядок вкладок изменился; иначе false..
DockingManager::restore(DockLayoutSnapshot, Map)
Восстанавливает иерархию дерева докинга и активные вкладки из сохраненного снимка.
| Параметр | Тип | Описание |
|---|---|---|
snapshot |
DockLayoutSnapshot |
Снимок раскладки для восстановления. |
paneRegistry |
Map |
Карта зарегистрированных панелей по ID. |
Возвращает RestoreResult: True, если снимок раскладки был успешно восстановлен..
DockingManager::rootNode()
Возвращает корневой узел текущей иерархии докинга.
Возвращает DockNode: Корневой узел иерархии докинга..
DockingManager::selectNextTab()
Переключает выбор на следующую вкладку в активном листовом узле.
Возвращает boolean: True, если активная вкладка переключена; иначе false..
DockingManager::selectPane(String)
Делает указанную панель активной выбранной вкладкой.
| Параметр | Тип | Описание |
|---|---|---|
paneId |
String |
Идентификатор панели. |
Возвращает DockingManager: Данный DockingManager для цепочки вызовов..
DockingManager::selectPreviousTab()
Переключает выбор на предыдущую вкладку в активном листовом узле.
Возвращает boolean: True, если активная вкладка переключена; иначе false..
DockingManager::selectedLeaf()
Возвращает текущий активный листовой узел дерева докинга.
Возвращает DockNode: Текущий выбранный листовой узел..
DockingManager::selectedPane()
Возвращает активную выбранную панель в текущем активном листовом узле.
Возвращает DockPane: Текущая выбранная активная панель DockPane..
DockingManager::snapshot()
Создает неизменяемый снимок текущего состояния раскладки докинга.
Возвращает DockLayoutSnapshot: Снятый снимок текущей раскладки докинга..
DockingManager::splitPane(String, DockArea, DockPane)
Разделяет листовой узел с targetPaneId вдоль указанной области с коэффициентом 0.5.
| Параметр | Тип | Описание |
|---|---|---|
targetPaneId |
String |
Идентификатор опорной целевой панели. |
area |
DockArea |
Целевая область докинга. |
pane |
DockPane |
Панель DockPane для добавления или изменения. |
Возвращает DockingManager: Данный DockingManager для цепочки вызовов..
DockingManager::splitPane(String, DockArea, DockPane, float)
Разделяет листовой узел с targetPaneId вдоль указанной области с пользовательским коэффициентом.
| Параметр | Тип | Описание |
|---|---|---|
targetPaneId |
String |
Идентификатор опорной целевой панели. |
area |
DockArea |
Целевая область докинга. |
pane |
DockPane |
Панель DockPane для добавления или изменения. |
splitRatio |
float |
Коэффициент разделения пространства. |
Возвращает DockingManager: Данный DockingManager для цепочки вызовов..
DockingManager::tabPane(String, DockPane)
Группирует панель во вкладки с целевой панелью.
| Параметр | Тип | Описание |
|---|---|---|
targetPaneId |
String |
Идентификатор опорной целевой панели. |
pane |
DockPane |
Панель DockPane для добавления или изменения. |
Возвращает DockingManager: Данный DockingManager для цепочки вызовов..