WindowManager
Менеджер окон, управляющий z-порядком, стеком фокуса, активными состояниями и расположением окон.
Обзор
WindowManager управляет жизненным циклом, z-порядком, стеком фокуса и пространственным положением плавающих окон рабочего стола внутри OverlayLayer.
Основные задачи:
- Регистрация, активация и передача фокуса между окнами.
- Управление z-порядком отображения с помощью bringToFront и sendToBack.
- Стек модальных диалогов, блокирующий взаимодействие с нижележащими окнами до закрытия модального окна.
- Запросы текущего активного окна и перечисление зарегистрированных окон.
Управление плавающими окнами
Связанные ссылки
- 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: Неизменяемый список всех зарегистрированных оконных виджетов..