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

DockingManager

Невизуальный контроллер раскладки, управляющий иерархическим деревом докинга, добавлением панелей, разделениями, порядком вкладок и снимками раскладки.

Обзор

DockingManager — невизуальная модель и контроллер дерева раскладки докинга.

Выполняет структурные изменения дерева: - Добавление панелей со сплитом или объединением во вкладки (addPane, tabPane, splitPane). - Перемещение вкладок внутри группы (reorderPane). - Открепление панелей в плавающие окна (detachPaneForFloating). - Создание и восстановление снимков раскладки (snapshot, restore).

Разделение и группировка панелей во вкладки

dockingRoot.manager().splitPane("editor-1", DockArea.RIGHT, toolPane, 0.3f);

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

  • 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 для цепочки вызовов..