5.5.1.2. XML-дескриптор
XML-дескриптор - это файл формата XML, описывающий источники данных и расположение визуальных компонентов экрана.
Схема XML доступна по адресу http://schemas.haulmont.com/cuba/6.8/window.xsd.
Рассмотрим структуру дескриптора.
window
− корневой элемент.
Атрибуты window
:
-
class
− имя класса контроллера -
messagesPack
− пакет сообщений данного экрана, который будет использован при получении локализованных строк без указания пакета из XML-дескриптора и из контроллера методомgetMessage()
-
caption
− заголовок экрана, может содержать ссылку на сообщение из вышеуказанного пакета, например,caption="msg://caption"
-
focusComponent
− идентификатор компонента, который получит фокус ввода при отображении экрана -
lookupComponent
- обязательный для экрана выбора атрибут, задающий идентификатор визуального компонента, из которого будет выбран экземпляр сущности. Поддерживаются компоненты следующих типов (и их наследников):-
Table
-
Tree
-
LookupField
-
PickerField
-
OptionsGroup
-
-
datasource
- обязательный для экрана редактирования атрибут, задающий идентификатор источника данных, в который будет проставлен экземпляр редактируемой сущности.
Элементы window
:
-
metadataContext
− элемент для инициализации представлений (views), необходимых данному экрану. Предпочтительным является определение всех представлений в одном общем файлеviews.xml
, так как все описатели представлений разворачиваются в один общий репозиторий, и при рассредоточении описателей по разным файлам трудно обеспечить уникальность имен. -
dsContext
− определяет источники данных данного экрана. -
dialogMode
- определяет параметры геометрии и поведения экрана при открытии его в виде диалогового окна.Атрибуты
dialogMode
:-
closeable
- определяет наличие в диалоговом окне кнопки закрытия. Возможные значения:true
,false
. -
closeOnClickOutside
- определяет возможность закрыть окно кликом по окружающей области, если диалог открыт в модальном режиме. Возможные значения:true
,false
. -
forceDialog
- указывает, что экран должен всегда открываться в режиме диалога, независимо от того, какойWindowManager.OpenType
был выбран в вызывающем коде. Возможные значения:true
,false
. -
height
- устанавливает высоту диалогового окна. -
maximized
- если выбрано значениеtrue
, диалог будет развёрнут во весь экран. Возможные значения:true
,false
. -
modal
- устанавливает модальный режим диалогового окна. Возможные значения:true
,false
. -
positionX
- задаёт положение левого верхнего угла диалога по осиx
. -
positionY
- задаёт положение левого верхнего угла диалога по осиy
. -
resizable
- определяет возможность пользователя изменять размеры диалога. Возможные значения:true
,false
. -
width
- устанавливает ширину диалогового окна.
Пример использования
dialogMode
:<dialogMode height="600" width="800" positionX="200" positionY="200" forceDialog="true" closeOnClickOutside="false" resizable="true"/>
-
-
actions
- определяет список действий данного экрана. -
timers
- определяет список таймеров данного экрана. -
companions
- определяет список классов-компаньонов данного контроллераЭлементы
companions
:-
web
- задает компаньон, реализованный в модуле web -
desktop
- задает компаньон, реализованный в модуле desktopКаждый из этих элементов содержит атрибут
class
, задающий класс компаньона.
-
-
layout
− корневой элемент компоновки экрана. Является сам по себе контейнером с вертикальным расположением компонентов, аналогичным vbox.Атрибуты
layout
: