3.5.1.2. XML-дескриптор экрана

Дескриптор экрана - это файл формата XML, декларативно описывающий визуальные компоненты, компоненты данных и некоторые параметры экрана.

Пример:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<window xmlns="http://schemas.haulmont.com/cuba/screen/window.xsd"
        caption="Sample Screen"
        messagesPack="com.company.sample.web.screens.monitor">
    <layout>
    </layout>
</window>

Схема XML доступна по адресу http://schemas.haulmont.com/cuba/7.2/screen/window.xsd.

Дескриптор содержит корневой элемент window.

Атрибуты корневого элемента:

  • class − имя класса контроллера.

  • messagesPackпакет сообщений данного экрана по умолчанию. Он будет использован при получении локализованных строк без указания пакета из XML-дескриптора и из контроллера методом getMessage().

  • caption − заголовок экрана, может содержать ссылку на сообщение из вышеуказанного пакета, например,

    caption="msg://credits"
  • focusComponent − идентификатор компонента, который получит фокус ввода при отображении экрана.

Элементы дескриптора:

  • data − описывает компоненты данных экрана.

  • 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 – определяет список таймеров данного экрана.

  • layout − корневой элемент компоновки экрана.