WindowWidget
Оконный виджет в стиле рабочего стола с поддержкой заголовка, перетаскивания, изменения размера, сворачивания и модальности.
Обзор
WindowWidget — полнофункциональный контейнер плавающего окна в стиле рабочего стола с заголовком, кнопками управления, перетаскиванием, изменением размера, сворачиванием, поддержкой модальности и интеграцией с системой докинга.
Ключевые возможности:
- Заголовок с поддержкой обычного и форматированного текста, иконки и кнопок управления (свернуть, закрыть).
- Изменение размера по 8 направлениям и углам с настраиваемыми ограничениями минимального размера и стилями углового маркера.
- Ограничение перемещения в пределах родительского контейнера (constrainToHost).
- Поддержка модального режима с блокирующим затемнением фона.
- Бесшовная интеграция с деревьями докинга DockingRoot и панелями DockPane.
Создание и позиционирование оконного виджета
Связанные ссылки
- DockingRoot: Корневой визуальный виджет системы докинга IDE, объединяющий узлы дерева, полосы вкладок, разделители, предпросмотр сброса и отрыв в плавающие окна.
- OverlayLayer: Полноэкранный слой оверлеев, управляющий модальными подложками, диалогами, всплывающими окнами и проверкой попаданий.
- WindowManager: Менеджер окон, управляющий z-порядком, стеком фокуса, активными состояниями и расположением окон.
API
WindowWidget()
Создает пустой WindowWidget с заголовком и размерами по умолчанию.
WindowWidget(RichText, Widget)
Создает WindowWidget с заголовком RichText и вложенным виджетом контента.
| Параметр | Тип | Описание |
|---|---|---|
title |
RichText |
Компонент заголовка с форматированным текстом RichText. |
content |
Widget |
Вложенный виджет контента. |
WindowWidget(String, Widget)
Создает WindowWidget с простым текстовым заголовком и вложенным виджетом контента.
| Параметр | Тип | Описание |
|---|---|---|
title |
String |
Текстовая строка заголовка. |
content |
Widget |
Вложенный виджет контента. |
WindowWidget::acceptsDocking()
Возвращает true, если это окно может принимать перетаскиваемые в него панели.
Возвращает boolean: True, если это окно может принимать перетаскиваемые панели докинга..
WindowWidget::active()
Возвращает true, если это окно удерживает фокус в своем WindowManager.
Возвращает boolean: True, если окно активно и находится в фокусе..
WindowWidget::arrangeInHost(RectView)
Позиционирует окно внутри границ родительского контейнера.
| Параметр | Тип | Описание |
|---|---|---|
bounds |
RectView |
Прямоугольная область границ родительского контейнера. |
WindowWidget::captionless()
Возвращает true, если окно отображается без панели заголовка.
Возвращает boolean: True, если у окна отсутствует панель заголовка..
WindowWidget::close()
Закрывает окно.
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::closeButton()
Возвращает виджет кнопки закрытия в панели заголовка.
Возвращает Button: Экземпляр кнопки в панели заголовка..
WindowWidget::closeButtonVisible()
Возвращает true, если кнопка закрытия окна отображается.
Возвращает boolean: True, если кнопка закрытия отображается..
WindowWidget::closeButtonVisible(boolean)
Устанавливает видимость кнопки закрытия окна.
| Параметр | Тип | Описание |
|---|---|---|
closeButtonVisible |
boolean |
Видимость кнопки закрытия в заголовке окна. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::closeOnOutsideClick()
Возвращает true, если клик снаружи приводит к закрытию окна.
Возвращает boolean: True, если закрытие по клику вне виджета включено..
WindowWidget::closeOnOutsideClick(boolean)
Настраивает, закрывается ли окно при клике снаружи.
| Параметр | Тип | Описание |
|---|---|---|
closeOnOutsideClick |
boolean |
Закрывать ли виджет автоматически при клике вне его области. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::collapseButtonVisible()
Возвращает true, если кнопка сворачивания отображается в заголовке.
Возвращает boolean: True, если кнопка сворачивания отображается..
WindowWidget::collapseButtonVisible(boolean)
Устанавливает видимость кнопки сворачивания в заголовке.
| Параметр | Тип | Описание |
|---|---|---|
visible |
boolean |
Флаг целевой видимости. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::collapsed()
Возвращает true, если окно в данный момент свернуто.
Возвращает boolean: True, если окно в данный момент свернуто..
WindowWidget::collapsed(boolean)
Устанавливает свернутое состояние окна.
| Параметр | Тип | Описание |
|---|---|---|
collapsed |
boolean |
Свернуто ли окно до панели заголовка. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::commitDockHost()
Закрепляет автоматически созданный хост докинга, делая его постоянным.
WindowWidget::constrainToHost()
Возвращает true, если перемещение окна ограничено границами контейнера.
Возвращает boolean: True, если перемещение окна ограничено границами родительского контейнера..
WindowWidget::constrainToHost(boolean)
Настраивает ограничение перемещения окна границами контейнера.
| Параметр | Тип | Описание |
|---|---|---|
constrainToHost |
boolean |
Ограничено ли перемещение окна строго рамками родительского контейнера. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::content()
Возвращает вложенный виджет контента окна.
Возвращает Widget: Вложенный виджет контента..
WindowWidget::content(Widget)
Устанавливает вложенный виджет контента окна.
| Параметр | Тип | Описание |
|---|---|---|
content |
Widget |
Вложенный виджет контента. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::dockDocument(String, String, Widget)
Прикрепляет панель документов во встроенный контейнер докинга этого окна.
| Параметр | Тип | Описание |
|---|---|---|
id |
String |
Уникальный строковый идентификатор. |
title |
String |
Текстовая строка заголовка. |
content |
Widget |
Вложенный виджет контента. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::dockKind()
Возвращает тип панели (DOCUMENT или TOOL) при докинге.
Возвращает DockPaneKind: Тип панели докинга, настроенный для этого окна..
WindowWidget::dockKind(DockPaneKind)
Устанавливает тип классификации панели при докинге.
| Параметр | Тип | Описание |
|---|---|---|
dockKind |
DockPaneKind |
Тип исходной панели докинга. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::dockPane(DockPane)
Прикрепляет панель во встроенный контейнер докинга этого окна.
| Параметр | Тип | Описание |
|---|---|---|
pane |
DockPane |
Экземпляр панели докинга. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::dockPaneId()
Возвращает строковый идентификатор панели, представляющей это окно при докинге.
Возвращает String: Строковое значение..
WindowWidget::dockPaneId(String)
Устанавливает строковый идентификатор панели при докинге.
| Параметр | Тип | Описание |
|---|---|---|
dockPaneId |
String |
Идентификатор исходной панели докинга. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::dockPolicy()
Возвращает политику докинга (FULL, GUEST_ONLY, DISABLED).
Возвращает DockPolicy: Политика докинга, настроенная для этого окна..
WindowWidget::dockPolicy(DockPolicy)
Устанавливает политику интеграции с системой докинга.
| Параметр | Тип | Описание |
|---|---|---|
dockPolicy |
DockPolicy |
Политика размещения докинга. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::dockRedockLocked()
Возвращает true, если повторное прикрепление окна в докинг заблокировано.
Возвращает boolean: True, если повторное прикрепление в докинг заблокировано..
WindowWidget::dockRedockLocked(boolean)
Блокирует или разблокирует возможность повторного прикрепления окна в докинг.
| Параметр | Тип | Описание |
|---|---|---|
dockRedockLocked |
boolean |
Заблокировано ли повторное прикрепление окна обратно в докинг. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::dockSourceId()
Возвращает идентификатор исходного узла докинга, от которого было отсоединено окно.
Возвращает String: Идентификатор исходной панели докинга..
WindowWidget::dockSourcePane()
Возвращает исходное представление DockPane при плавающем состоянии.
Возвращает DockPane: Исходная панель докинга, связанная с этим окном..
WindowWidget::dockSourcePane(DockPane)
Устанавливает исходное представление DockPane.
| Параметр | Тип | Описание |
|---|---|---|
pane |
DockPane |
Экземпляр панели докинга. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::dockTool(String, String, Widget)
Прикрепляет панель инструментов во встроенный контейнер докинга этого окна.
| Параметр | Тип | Описание |
|---|---|---|
id |
String |
Уникальный строковый идентификатор. |
title |
String |
Текстовая строка заголовка. |
content |
Widget |
Вложенный виджет контента. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::dockable()
Возвращает true, если это окно может быть прикреплено во внешний контейнер докинга.
Возвращает boolean: True, если окно может быть прикреплено к панели докинга..
WindowWidget::dockable(boolean)
Включает или отключает возможность прикрепления окна в докинг.
| Параметр | Тип | Описание |
|---|---|---|
dockable |
boolean |
Возможность прикрепления окна в контейнер докинга. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::dockingEnabled()
Возвращает true, если функции докинга включены для этого окна.
Возвращает boolean: True, если функции докинга включены для этого окна..
WindowWidget::dockingEnabled(boolean)
Включает или отключает интеграцию с системой докинга.
| Параметр | Тип | Описание |
|---|---|---|
dockingEnabled |
boolean |
Включена ли поддержка докинга для этого окна. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::dockingRoot()
Возвращает внутренний DockingRoot, размещенный внутри окна, или null.
Возвращает DockingRoot: Внутренний экземпляр DockingRoot, управляющий панелями докинга окна..
WindowWidget::draggable()
Возвращает true, если перетаскивание окна за заголовок разрешено.
Возвращает boolean: True, если окно можно перетаскивать за заголовок..
WindowWidget::draggable(boolean)
Включает или отключает возможность перетаскивания окна.
| Параметр | Тип | Описание |
|---|---|---|
draggable |
boolean |
Возможность перемещения окна перетаскиванием за заголовок. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::dragging()
Возвращает true, если окно в данный момент перетаскивается.
Возвращает boolean: True, если окно в данный момент перетаскивается пользователем..
WindowWidget::ensureDockHost()
Инициализирует и возвращает встроенный экземпляр DockingRoot в качестве контента.
Возвращает DockingRoot: Внутренний экземпляр DockingRoot, управляющий панелями докинга окна..
WindowWidget::fixedModal()
Возвращает true, если позиция модального окна зафиксирована.
Возвращает boolean: True, если модальное окно зафиксировано на месте..
WindowWidget::fixedModal(boolean)
Настраивает, зафиксировано ли положение модального окна без возможности перетаскивания.
| Параметр | Тип | Описание |
|---|---|---|
fixedModal |
boolean |
Заблокировано ли перемещение модального диалога. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::headerColor()
Возвращает изменяемый цвет фона панели заголовка окна.
Возвращает MutableColor: Экземпляр изменяемого цвета..
WindowWidget::headerHeight()
Возвращает высоту панели заголовка в пикселях интерфейса.
Возвращает float: Высота панели заголовка окна..
WindowWidget::headerHeight(float)
Устанавливает высоту панели заголовка в пикселях интерфейса.
| Параметр | Тип | Описание |
|---|---|---|
headerHeight |
float |
Высота панели заголовка окна в пикселях. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::headerSeparatorColor()
Возвращает изменяемый цвет линии-разделителя между заголовком и контентом.
Возвращает MutableColor: Экземпляр изменяемого цвета..
WindowWidget::icon()
Возвращает иконку панели заголовка окна.
Возвращает UiIcon: Иконка в заголовке окна..
WindowWidget::icon(UiIcon)
Устанавливает иконку панели заголовка окна.
| Параметр | Тип | Описание |
|---|---|---|
icon |
UiIcon |
Иконка, отображаемая в заголовке окна. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::lastDragRootX()
Возвращает последнюю экранную координату X курсора во время перетаскивания.
Возвращает float: Координата положения окна..
WindowWidget::lastDragRootY()
Возвращает последнюю экранную координату Y курсора во время перетаскивания.
Возвращает float: Координата положения окна..
WindowWidget::mergeDockingFrom(WindowWidget)
Объединяет панели докинга из другого окна во встроенный хост докинга этого окна.
| Параметр | Тип | Описание |
|---|---|---|
source |
WindowWidget |
Значение параметра для source. |
Возвращает boolean: True, если состояние докинга было успешно объединено..
WindowWidget::minWindowSize(float, float)
Устанавливает минимальные ограничения ширины и высоты при изменении размера окна.
| Параметр | Тип | Описание |
|---|---|---|
width |
float |
Ширина в пикселях. |
height |
float |
Высота в пикселях. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::modal()
Возвращает true, если окно открыто в модальном режиме, блокируя нижние слои.
Возвращает boolean: True, если окно открыто в модальном режиме..
WindowWidget::modal(boolean)
Настраивает модальный режим для этого окна.
| Параметр | Тип | Описание |
|---|---|---|
modal |
boolean |
Работает ли окно как модальный диалог, блокирующий нижние слои. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::open()
Открывает окно.
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::open(boolean)
Устанавливает состояние открытия окна.
| Параметр | Тип | Описание |
|---|---|---|
open |
boolean |
Флаг целевого состояния открытия. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::openModal()
Открывает это окно в качестве модального диалога.
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::opened()
Возвращает true, если окно в данный момент открыто на слое оверлея.
Возвращает boolean: True, если виджет в данный момент открыт..
WindowWidget::padding()
Возвращает внутренние отступы содержимого окна.
Возвращает EdgeInsets: Внутренние отступы контента..
WindowWidget::padding(EdgeInsets)
Устанавливает внутренние отступы содержимого окна.
| Параметр | Тип | Описание |
|---|---|---|
padding |
EdgeInsets |
Внутренние отступы контента. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::position(float, float)
Устанавливает координаты окна в пикселях интерфейса.
| Параметр | Тип | Описание |
|---|---|---|
x |
float |
Горизонтальная координата X. |
y |
float |
Вертикальная координата Y. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::releaseAutoDockHost()
Освобождает автоматически созданный хост докинга, если он пуст.
WindowWidget::resizable()
Возвращает true, если изменение размеров окна пользователем разрешено.
Возвращает boolean: True, если размеры окна могут изменяться пользователем..
WindowWidget::resizable(boolean)
Включает или отключает возможность изменения размеров окна.
| Параметр | Тип | Описание |
|---|---|---|
resizable |
boolean |
Возможность изменения размеров окна пользователем. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::resizeGrip()
Возвращает активный визуальный стиль углового маркера изменения размера.
Возвращает ResizeGripStyle: Визуальный стиль углового маркера изменения размера..
WindowWidget::resizeGrip(ResizeGripStyle)
Устанавливает визуальный стиль углового маркера изменения размера.
| Параметр | Тип | Описание |
|---|---|---|
resizeGrip |
ResizeGripStyle |
Визуальный стиль углового маркера изменения размера. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::resizeGripVisible()
Возвращает true, если угловой маркер изменения размера отображается.
Возвращает boolean: True, если угловой маркер изменения размера отображается..
WindowWidget::resizeGripVisible(boolean)
Устанавливает, отображается ли угловой маркер изменения размера.
| Параметр | Тип | Описание |
|---|---|---|
visible |
boolean |
Флаг целевой видимости. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::resizeHandle()
Возвращает идентификатор активного маркера изменения размера (например, BOTTOM_RIGHT).
Возвращает String: Идентификатор границы или угла, за который выполняется изменение размера..
WindowWidget::resizing()
Возвращает true, если в данный момент изменяются размеры окна.
Возвращает boolean: True, если окно в данный момент изменяет свой размер..
WindowWidget::richTitle()
Возвращает компонент заголовка окна RichText.
Возвращает RichText: Компонент заголовка с форматированным текстом RichText..
WindowWidget::richTitle(RichText)
Устанавливает форматированный заголовок окна RichText.
| Параметр | Тип | Описание |
|---|---|---|
title |
RichText |
Компонент заголовка с форматированным текстом RichText. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::theme()
Возвращает активную тему DockTheme, примененную к обрамлению окна.
Возвращает DockTheme: Значение DockTheme..
WindowWidget::theme(DockTheme)
Применяет пользовательскую тему DockTheme к элементам обрамления и управления окна.
| Параметр | Тип | Описание |
|---|---|---|
theme |
DockTheme |
Конфигурация темы докинга. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::title()
Возвращает строку заголовка окна.
Возвращает String: Текстовая строка заголовка..
WindowWidget::title(String)
Устанавливает простой текстовый заголовок окна.
| Параметр | Тип | Описание |
|---|---|---|
title |
String |
Текстовая строка заголовка. |
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::titleColor()
Возвращает изменяемый цвет текста заголовка окна.
Возвращает MutableColor: Экземпляр изменяемого цвета..
WindowWidget::toggle()
Переключает открытое и закрытое состояние окна.
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::toggleCollapsed()
Переключает свернутое и развернутое состояние окна.
Возвращает WindowWidget: Текущий экземпляр виджета для цепочки вызовов..
WindowWidget::windowX()
Возвращает горизонтальную координату X окна.
Возвращает float: Координата положения окна..
WindowWidget::windowY()
Возвращает вертикальную координату Y окна.
Возвращает float: Координата положения окна..