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

WindowManager

Менеджер окон, управляющий z-порядком, стеком фокуса, активными состояниями и расположением окон.

Обзор

WindowManager управляет жизненным циклом, z-порядком, стеком фокуса и пространственным положением плавающих окон рабочего стола внутри OverlayLayer.

Основные задачи: - Регистрация, активация и передача фокуса между окнами. - Управление z-порядком отображения с помощью bringToFront и sendToBack. - Стек модальных диалогов, блокирующий взаимодействие с нижележащими окнами до закрытия модального окна. - Запросы текущего активного окна и перечисление зарегистрированных окон.

Управление плавающими окнами

WindowManager manager = overlayLayer.windows();
manager.activate(window);

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

  • OverlayLayer: Полноэкранный слой оверлеев, управляющий модальными подложками, диалогами, всплывающими окнами и проверкой попаданий.
  • WindowWidget: Оконный виджет в стиле рабочего стола с поддержкой заголовка, перетаскивания, изменения размера, сворачивания и модальности.

API

WindowManager::activate(WindowWidget)

Активирует указанное окно, перемещает его на передний план и передает фокус ввода.

Параметр Тип Описание
window WindowWidget Экземпляр оконного виджета.

Возвращает WindowManager: Текущий экземпляр виджета для цепочки вызовов..

WindowManager::activeWindow()

Возвращает текущий активный WindowWidget в фокусе или null, если активных окон нет.

Возвращает WindowWidget: Текущее активное окно в фокусе или null, если активных окон нет..

WindowManager::bringToFront(WindowWidget)

Перемещает указанное окно на передний план стека окон.

Параметр Тип Описание
window WindowWidget Экземпляр оконного виджета.

Возвращает WindowManager: Текущий экземпляр виджета для цепочки вызовов..

WindowManager::host()

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

Возвращает OverlayLayer: Родительский слой OverlayLayer, содержащий управляемые окна..

WindowManager::modalStackDepth()

Возвращает глубину стека активных модальных окон.

Возвращает int: Количество активных модальных окон в стеке модальности..

WindowManager::register(WindowWidget)

Регистрирует оконный виджет в этом менеджере.

Параметр Тип Описание
window WindowWidget Экземпляр оконного виджета.

Возвращает WindowManager: Текущий экземпляр виджета для цепочки вызовов..

WindowManager::registered(WindowWidget)

Возвращает true, если окно зарегистрировано в этом менеджере.

Параметр Тип Описание
window WindowWidget Экземпляр оконного виджета.

Возвращает boolean: True, если окно в данный момент зарегистрировано в менеджере..

WindowManager::topModalWindow()

Возвращает верхнее модальное окно или null, если модальных окон нет.

Возвращает WindowWidget: Верхнее активное модальное окно или null, если модальных окон нет..

WindowManager::unregister(WindowWidget)

Удаляет регистрацию оконного виджета из этого менеджера.

Параметр Тип Описание
window WindowWidget Экземпляр оконного виджета.

Возвращает WindowManager: Текущий экземпляр виджета для цепочки вызовов..

WindowManager::windows()

Возвращает неизменяемый список всех зарегистрированных окон.

Возвращает List: Неизменяемый список всех зарегистрированных оконных виджетов..