Типы значений атрибутов AppXML-тэгов

language

Двухбуквенное обозначение языка в соответствии с ISO 639 (ISO 639-1).

id_name

[имя объекта]

Строковое значение идентификатора.
Идентификатор не должен начинаться с цифры, а также содержать пробелы и некоторые символы: . , : ; $ =
Кроме этого существуют зарезервированные слова, запрещенные к использованию в качестве идентификатора: this, global, color, loginInfo.
В любом случае интерпретатор будет контролировать правильность идентификатора и в случае проблем выдаст сообщение.

Рекомендуемые варианты написания идентификаторов:

  • window
  • mainWindow
  • main-window
  • window2

number

[обычное целое числовое значение]

Абсолютное (положительное или отрицательное) целое числовое значение.

ext-number

[целое числовое значение c расширенными возможностями]

Абсолютное или относительное целое числовое значение.
Для указания относительного значения поддерживаются знаки математических действий: + - / *

Примеры:

// абсолютная позиция, например, окна
<window id="mainWindow" x="100" y="150" />

// изменение позиции окна относительно текущей
<fn id="moveWindow">
	mainWindow.set("x=+50 y=-10"); // сдвинуть вправо на 50 пикселей и вверх на 10 пикселей
</fn>

string

[строковое значение]

Строковое значение. Допускаются любые символы.

boolean

[логическое значение]

Допустимые значения: «true», «false»

Примеры:

visible="true"
enable="false"

path

[путь к объекту]

Абсолютный или относительный путь к объекту, находящемуся на диске.
Для объекта, находящего внутри zip-архива указывается префикс «zip:«, путь к архиву и путь внутри архива. В качестве архива можно использовать также jar-файлы.

Примеры:

icon="./img/world.png"
// пиктограмма world.png находится в подкаталоге img текущего каталога

icon="zip:./skins/vista.zip/main/world.png
/* пиктограмма world.png находится в архиве vista.zip в заархивированном каталоге main, 
   архив находится в подкаталоге skins текущего каталога. */

icon="zip:./skins/vista.skin/main/world.png
/* пиктограмма world.png находится в архиве vista.skin в заархивированном каталоге main, 
   архив находится в подкаталоге skins текущего каталога. */

code

[программный код]

Программный код, записываемый или в атрибуте или во вложенном тэге с таким же именем. Программный код пишется на языке AppScript.
Подробнее об использовании AppScript и Java в AppXML-приложениях написано в соответствующем разделе документации.

Примеры:

// Вариант 1
onCreated="msg('Hello, World!')"

// Вариант 2
<onCreated>
   // Поскольку код великоват для записи в атрибуте, пишем его в отдельном тэге с именем атрибута

   // объявляем переменные
   var a="Hello, World!", max=3;

   // выводим сообщение max раз
   for(i=0; i<max; i++)
      msg(a + " (" + i + ")");
</onCreated>

location

[местоположение объекта]

Допустимые значения: top-left, top-right, center, bottom-left, bottom-right

Примеры:

location="center"

tag or link2object

[либо тэг, либо атрибут. Здесь описывается не только тип значения элемента, но и использование самого элемента]

Название элемента может использоваться либо как имя атрибут, либо как имя тэга.
Если оно используется как имя атрибута, то его значение интерпретируется как ссылка на id объекта, который описан в тэге <common>.

Пример c описанием меню окна:

// Вариант1: описание меню окна во вложенном тэге(!) с именем menu
<main>
   <window id="mainWindow">
      <menu id="mainMenu">
         <menuitem text="File">
            <menuitem text="Open" onAction="msg(this.text + ' item clicked')"/>
            <menuitem/>
            <menuitem text="Exit" onAction="mainWindow.close='true'" />
         </menuitem
      </menu>
      <menuitem text="Help">
            <menuitem text="User's Guide" onAction="msg(this.text + ' item clicked')"/>
            <menuitem/>
            <menuitem text="About" onAction="msg(this.text + ' item clicked')"/>
      </menu>
   <window id="mainWindow" />
</main>


// Вариант2: ссылка, указываемая в атрибуте(!) с именем menu, на внешнее описание меню окна
<main>
   <window id="mainWindow" menu="mainMenu" />
</main>

<common>
   <menu id="mainMenu">
      <menuitem text="File">
         <menuitem text="Open" onAction="msg(this.text + ' item clicked')"/>
         <menuitem/>
         <menuitem text="Exit" onAction="mainWindow.close='true'" />
      </menuitem
   </menu>
   <menuitem text="Help">
         <menuitem text="User's Guide" onAction="msg(this.text + ' item clicked')"/>
         <menuitem/>
         <menuitem text="About" onAction="msg(this.text + ' item clicked')"/>
   </menu>
</common>

event-name

[имя события]

Совпадает именем событийного атрибута. Например, «onCreated», «onAction», «onChanged»

color-name

[цвет]

Цвет задается следующими способами:

  1. c помощью
    • десятичного («123654789»),
    • шестнадцатеричного («0хFFAA55» или »#FFAA55») или
    • восьмеричного (с лидирующим нулем - «0777») значения
  2. RGB
  3. c помошью простых имен (в терминах java.awt.Color):(Внимание! Важна высота букв!)
    • white,
    • lightGray,
    • gray,
    • darkGray,
    • black,
    • red,
    • pink,
    • orange,
    • yellow,
    • green,
    • magenta,
    • cyan,
    • blue
  4. c помощью сложных имен с префиксом «SystemColor.», учитывающих цвет текущей темы в ОС (т.е. в терминах java.awt.SystemColor):(Внимание! Важна высота букв в названии цвета)
    • SystemColor.activeCaption The color rendered for the window-title background of the currently active window.
    • SystemColor.activeCaptionBorder The color rendered for the border around the currently active window.
    • SystemColor.activeCaptionText The color rendered for the window-title text of the currently active window.
    • SystemColor.control The color rendered for the background of control panels and control objects, such as pushbuttons.
    • SystemColor.controlDkShadow The color rendered for dark shadow areas on 3D control objects, such as pushbuttons.
    • SystemColor.controlHighlight The color rendered for light areas of 3D control objects, such as pushbuttons.
    • SystemColor.controlLtHighlight The color rendered for highlight areas of 3D control objects, such as pushbuttons.
    • SystemColor.controlShadow The color rendered for shadow areas of 3D control objects, such as pushbuttons.
    • SystemColor.controlText The color rendered for the text of control panels and control objects, such as pushbuttons.
    • SystemColor.desktop The color rendered for the background of the desktop.
    • SystemColor.inactiveCaption The color rendered for the window-title background of inactive windows.
    • SystemColor.inactiveCaptionBorder The color rendered for the border around inactive windows.
    • SystemColor.inactiveCaptionText The color rendered for the window-title text of inactive windows.
    • SystemColor.info The color rendered for the background of tooltips or spot help.
    • SystemColor.infoText The color rendered for the text of tooltips or spot help.
    • SystemColor.menu The color rendered for the background of menus.
    • SystemColor.menuText The color rendered for the text of menus.
    • SystemColor.scrollbar The color rendered for the background of scrollbars.
    • SystemColor.text The color rendered for the background of text control objects, such as textfields and comboboxes.
    • SystemColor.textHighlight The color rendered for the background of selected items, such as in menus, comboboxes, and text.
    • SystemColor.textHighlightText The color rendered for the text of selected items, such as in menus, comboboxes, and text.
    • SystemColor.textInactiveText The color rendered for the text of inactive items, such as in menus.
    • SystemColor.textText The color rendered for the text of text control objects, such as textfields and comboboxes.
    • SystemColor.window The color rendered for the background of interior regions inside windows.
    • SystemColor.windowBorder The color rendered for the border around interior regions inside windows.
    • SystemColor.windowText The color rendered for text of interior regions inside windows.

А также поддерживается «прозрачный» цвет фона - transparent

Примеры:

color="123645789"
color="#996699"
color="25, 126, 209"
color="SystemColor.textHighlight"
background-color="transparent"

Visual Attributes

{перечень визуальных атрибутов]

Использование атрибутов зависит от контекста и иногда может быть бессмысленным. Например, при использовании атрибута x в семействе атрибутов field-* координата X элемента поля ввода изменяться не будет, т.к. элемент поля ввода является неотъемлимой частью всего поля ввода и атрибут x имеет смысл использовать только для всего поля ввода. Например, для string: (<string x=«50» id=«name» text=«User name»>)

Атрибут Описание
x Координата объекта по оси X. Если объектом является панель, то атрибут работает только если панель размещается в контейнере с layout=null. Для прочих layout атрибут не поддерживается
y Координата объекта по оси Y. Если объектом является панель, то атрибут работает только если панель размещается в контейнере с layout=null. Для прочих layout атрибут не поддерживается
height Высота объекта
width Ширина объекта
visible Видимость объекта
hint Всплывающая подсказка
enable Разрешение/запрещение возможности для пользователя взаимодействовать с объектом
color Цвет переднего плана объекта. Обычно имеется ввиду цвет текста. Т.е., например, для панели атрибут color не имеет смысла
background-color Цвет фона объекта
border border=«compound | lowered | raised | outer | windows | title:title_string | empty | null | line:color | {color} » - тип визуальной границы объекта. Синонимы: raised и outer. line подразумевает тонкую линию цвета color вокруг объекта. Кроме этого поддерживаются line-top, line-bottom, line-left, line-right, line-h (горизонтальные полосы сверху и снизу), line-v (верикальные полосы слева и справа)
layout layout=«border | flow | null | row:n | col:n» - тип менеджера компоновки (в терминах Java). border расставляет поступающие объекты по местам top, left, right, bottom, center. Координаты (x, y) игнорируются. flow расставляет объекта в порядке их поступления (добавления) друг за другом. Координаты (x, y) игнорируются. null расставляет объекты в соответствии с их координатами (x, y). row создает строку из n ячеек и располагает объекты друг за другом слева направо в порядке их поступления (добавления). col создает колонку из n ячеек и располагает объекты друг за другом сверху вниз в порядке их поступления (добавления)
font-name Имя шрифта. Поддерживается, вне зависимости от ОС, «Serif», «SansSerif», «Monospaced», «Dialog» и «DialogInput». Остальные - зависят от наличия в ОС
font-style Стиль начертания шрифта. Поддерживаются значения «plain», «bold», «italic», «bold+italic». Пустое значение эквивалентно значению «plain»
font-size Размер шрифта (кегль)
align align=«left | center | right» - выравнивание текста по горизонтали
valign valign=«top | middle | bottom» - выравнивание текста по вертикали
cursor cursor=»[default | hand | wait]» - внешний вид курсора в пределах визуального объекта. Пустое значение эквивалентно значению «default»

position

[положение объекта относительно другого объекта]

Допустимые значения: «top», «left», «bottom», «right», «center»

Использование значений зависит от контекста ситуации и иногда это может быть бессмысленным. Например, значение «center» для поля ввода, атрибут text-position.

Примеры:

<string text="User name" text-position="top" />

<panel position="center" />

align

[выравнивание объекта по горизонтали]

Допустимые значения: «left», «right», «center»

valign

[выравнивание объекта по вертикали]

Допустимые значения: «top», «bottom», «center»

 
intro/types.txt · Последние изменения: 29/10/2020 16:32 (внешнее изменение)
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS