Елементи, які буде використано у описі XML додатка.

Властивості елементів наведено у окремому розділі.

Загальні елементи

<document>

Має бути у будь-якому файлі description.xml як кореневий вузол. Не має спеціальних функцій. Не має атрибутів.

<about>

Відомості щодо цього додатка (автор, умови ліцензування тощо). Цей елемент можна використовувати у файлах .xml окремих додатків та у файлах .pluginmap. Докладний опис можна знайти у довіднику щодо файлів .pluginmap, вступні зауваження — у розділі щодо даних «about».

<code>

Визначає, де шукати шаблон JS додатка. Можна використовувати у файлі лише один раз, як дочірній елемент теґу document. Атрибути:

file

Назва файла шаблона JS відносно каталогу, у якому зберігається файл .xml додатка.

<help>

Визначає, де шукати файл довідки додатка. Можна використовувати у файлі лише один раз, як дочірній елемент теґу document. Атрибути:

file

Назва файла довідки відносно каталогу, у якому зберігається файл .xml додатка.

<copy>

Можна використовувати як дочірню властивість (безпосередню або опосередковану) елементів основного компонування, тобто <dialog> та <wizard>. Використовується для буквального копіювання цілого блоку елементів xml. Атрибути:

id

Ідентифікатор, який слід шукати. Теґ <copy> шукатиме попередній щодо нього елемент XML, якому надано той самий ідентифікатор і копіюватиме його разом із усіма підлеглими елементами.

copy_element_tag_name

Іноді, у вас може виникнути потреба у майже буквальній копії, але зі зміною назви теґу елемента, який слід скопіювати. Найважливішим прикладом таких випадків є випадок, коли вам потрібно скопіювати вкладку <tab> з інтерфейсу діалогового вікна на сторінку <page> інтерфейсу майстра. У цьому випадку вам слід встановити copy_element_tag_name="page", щоб виконати перетворення автоматично.

Визначення інтерфейсу

<dialog>

Визначає інтерфейс типу діалогового вікна. У цьому тезі ви маєте визначити графічний інтерфейс. Теґ можна використовувати лише один раз у одному файлі, як дочірній елемент теґу document. У додатку має бути принаймні один теґ «dialog» або «wizard». Атрибути:

label

Надпис діалогового вікна

recommended

Визначає, чи має бути використано діалогове вікно як «рекомендований» інтерфейс (тобто інтерфейс, який буде типово показано, якщо користувач не налаштував RKWard на використання визначеного ним інтерфейсу). Цей атрибут у поточній версії не використовується, оскільки неявним чином він має значення «true», якщо рекомендованим не визначено інтерфейс майстра.

<wizard>

Визначає інтерфейс типу вікна майстра. У цьому тезі ви маєте визначити графічний інтерфейс. Теґ можна використовувати лише один раз у одному файлі, як дочірній елемент теґу document. У додатку має бути принаймні один теґ «dialog» або «wizard». Приймає як безпосередні дочірні елементи лише теґи <page> і <. Атрибути:

label

Надпис майстра

recommended

Визначає, чи має бути використано вікно майстра як «рекомендований» інтерфейс (тобто інтерфейс, який буде типово показано, якщо користувач не налаштував RKWard на використання визначеного ним інтерфейсу). Необов’язковий, типовим значенням є «false» («ні»).

Елементи компонування

В усіх елемента з цього розділу можна використовувати атрибут id="рядок-ідентифікатор". Цей атрибут є необов’язковим для усіх елементів. Ним можна скористатися, наприклад, для приховування або вимикання цілого елемента компонування та усіх елементів, які у ньому містяться (див. розділ щодо логіки графічного інтерфейсу). Рядок-ідентифікатор не повинен містити символів «.» (крапка) та «;» (крапка з комою), і, загалом, має складатися із літер латинської абетки, цифр та символів підкреслювання («_»). У списках атрибутів наведено лише необов’язкові атрибути.

<page>

Визначає нову сторінку у майстрі. Може використовуватися лише як дочірній елемент елемента <wizard>.

<row>

Усі безпосередні дочірні елементи теґу «row» буде розташовано зліва праворуч.

<column>

Усі безпосередні дочірні елементи теґу «column» буде розташовано згори вниз.

<stretch>

Типово, елементи графічного інтерфейсу займатимуть увесь доступний простір. Наприклад, якщо у інтерфейсі є два стовпчика пунктів, і лівий з них заповнено пунктами, а у правому міститься лише один елемент <radio>, елемент <radio> буде розгорнуто вертикально, навіть якщо для цього не потрібне усе доступне місце. Це виглядатиме доволі потворно. Щоб уникнути таких проблем, потрібно додати «порожній» елемент під <radio>. Для цього використовують елемент <stretch>. Він просто займає місце. Не зловживайте ним, оскільки, зазвичай, графічні елементи найкраще виглядають, коли займають усе доступне місце. Лише іноді це призводить до проблем із компонуванням. Елемент <stretch> не приймає жодних аргументів, навіть «id». Крім того, не можна розташовувати дочірні елементи всередині елемента <stretch> (іншими словами, він використовується лише як «<stretch/>»).

<frame>

Малює рамку навколо свого безпосереднього дочірнього елемента. Може бути використаний для візуального групування пов’язаних параметрів. Компонування у рамці виконується згори вниз, якщо ви не вкажете всередині теґу <row>. Атрибути:

label

Надпис для фрейма (необов’язковий)

checkable

Рамки можна зробити придатними для позначення. Якщо у рамки є поле для позначки і воно порожнє (не позначено), усі елементи у рамці буде вимкнено аж доти, доки користувач не поставить у полі позначку. (Необов’язковий, типовим значенням є «false».)

checked

Лише для рамок із позначками: визначає, чи має бути пункт рамки типово позначено. Типовим значенням є «true». Не обробляється для рамок без позначок.

<tabbook>

Збирає елементи у вікно з вкладками (tabbook). Як дочірні елементи можна використовувати лише елементи <tab>.

<tab>

Визначає сторінку у tabbook. Усередині цього елемента слід розташовувати визначення графічного інтерфейсу вкладки. Можна використовувати лише як безпосередній дочірній елемент теґу <tabbook>. У <tabbook> має бути принаймні дві визначені вкладки. Атрибути:

label

Надпис для сторінки із вкладками (обов’язковий)

<text>

Показує текст, розташований всередині цього теґу у графічному інтерфейсі. Передбачено підтримку простої розмітки у стилі HTML (зокрема <b>, <i>, <p> та <br/>). Будь ласка, не зловживайте форматуванням. За допомогою додавання порожнього рядка можна вручну почати новий абзац тексту. Атрибути:

type

Тип тексту. Одне зі значень: "normal", "warning" або "error". Впливає на вигляд тексту (необов’язковий, типовим є значення «normal»).

Активні елементи

Усім елементам у цьому розділі можна передавати атрибут id="рядок_ідентифікатора". Цей атрибут є обов’язковим для усіх елементів. Нижче наведено лише додаткові атрибути. Рядок ідентифікатора не повинен містить символів «.» (крапок).

<varselector>

Надає список доступних об’єктів, з який користувач може вибрати один або декілька. Для використання слід вказати всередині елемента один або декілька елементів <varslot>. Атрибути:

label

Мітка varselector (необов’язкова, типовим є значення «Select variable(s)»)

<varslot>

Використовується у поєднанні з «varselector» для того, щоб вибрати одну або декілька змінних. Атрибути:

label

Мітка для varslot (рекомендовано вказати, типовим значенням є «Variable:»)

source

Елемент varselector, з якого слід отримувати варіанти вибору (обов’язковий, якщо немає з’єднування вручну або використання source_property).

source_property

Довільна властивість, з якої слід скопіювати значення, коли натиснуто кнопку вибору. Якщо вказано, перевизначає атрибут «source».

required

Визначає для надсилання коду, чи є обов’язковою наявність у varslot коректного значення. Див. документацію до властивості required (необов’язкова, типовим значенням є true).

multi

Визначає, містить varslot лише один (типовий варіант, «false») чи декілька об’єктів.

allow_duplicates

Визначає, може varslot приймати лише унікальні об’єкти (типовий варіант, «false») чи той самий об’єкт може бути додано декілька разів.

min_vars

Має значення, лише якщо multi="true": мінімальна кількість змінних, які має бути позначено, щоб позначення вважалося коректним (необов’язковий, типовим значенням є 1).

min_vars_if_any

Має значення, лише якщо multi="true": деякі varslot-и можуть вважатися коректними, якщо, наприклад, varslot є порожнім або містить принаймні два значення. Цей атрибут визначає, скільки змінних має бути позначено, якщо змінні позначено (2 у нашому прикладі). (необов’язковий, типовим значенням є «1»)

max_vars

Має значення, лише якщо multi="true": максимальна кількість змінних, які може бути позначено (необов’язковий, типовим значенням є 0, що означає, що максимальну кількість не обмежено).

класи

Якщо у цьому атрибуті ви вкажете одну або декілька назв класів R (відокремлених пробілами (« »)), varslot прийматиме лише об’єкти, що належать цим класам (необов’язковий, користуйтеся дуже обережно, не можна забороняти користувачеві вибирати коректні варіанти, а у R є багато різних класів!)

types

Якщо у цьому атрибуті ви вкажете один або декілька типів змінних (відокремлених пробілами (" ")), varslot прийматиме лише об’єкти вказаних типів. Коректними вважаються такі типи: «unknown», «number», «string», «factor», «invalid». (необов’язковий, користуйтеся дуже обережно — не можна забороняти користувачеві вибирати коректні варіанти, а RKWard не завжди може визначити тип змінної)

num_dimensions

Кількість розмірностей, які повинен мати об’єкт. «0» (типове значення) означає, що прийнятними є усі розмірності. (Необов’язкова, типовим значенням є «0»)

min_length

Мінімальна довжина, яку повинен мати об’єкт, щоб бути прийнятним. (Необов’язкова, типовим є значення «0»)

max_length

Максимальна довжина, яку повинен мати об’єкт для того, щоб бути прийнятним. (Необов’язкова, типовим є значення найбільшого цілого числа, яке може бути представлене операційною системою)

<valueselector>

Містить список доступних рядків (не об’єктів R), які можна вибрати у одному або декількох пов’язаних <valueslot>. Пункти рядків можна визначити за допомогою безпосередніх дочірніх теґів <option> (див. нижче) або встановити за допомогою динамічних властивостей. Атрибути:

label

Мітка для поля вибору значень (необов’язкова, типово мітки не буде)

<valueslot>

Використовується у поєднанні з <valueselector> для уможливлення вибору користувачем одного або декількох рядкових пунктів. Цей елемент здебільшого ідентичний до <varslot> і має ті самі атрибути, окрім тих, що відповідають властивостям прийнятних пунктів (тобто classes, types, num_dimensions, min_length, max_length).

<radio>

Визначає групу взаємовиключних кнопок-варіантів (одночасно позначено може бути лише один пункт варіанта). Потребує принаймні два безпосередніх дочірніх теґи <option>. Інші теґи не можуть бути дочірніми теґами radio. Атрибути:

label

Мітка для поля вибору з варіантів (рекомендовано вказати, типовою є «Select one:»)

<dropdown>

Визначає групу пунктів, серед яких можна вибрати один і лише один за допомогою спадного списку. Функціонально еквівалентний до <radio>, але виглядає інакше. Потребує визначення принаймні двох безпосередніх дочірніх теґів <option>. Інші дочірні теґи використовувати не можна. Атрибути:

label

Мітка для спадного списку (рекомендовано вказати, типовою є «Select one:»)

<select>

Містить список доступних рядків з яких користувач може вибрати довільну кількість рядків. Пункти рядків можна визначити за допомогою безпосередніх дочірніх теґів <option> (див. нижче) або встановити за допомогою динамічних властивостей. Атрибути:

label

Мітка для <select> (необов’язкова, типово її не буде)

single

Якщо встановлено значення «true», вибрати можна буде лише одне значення, а не декілька значень одразу (булевий параметр, типове значення — «false»)

<option>

Можна використовувати лише як безпосередній дочірній теґ елемента <radio>, <dropdown>, <valueselector> або <select>. Відповідає одному придатному для вибору пункту у списку вибору з варіантів або спадному списку. Оскільки елементи <option> завжди є частиною списку елементів, зазвичай, у них немає власного ідентифікатора (атрибута «id»), але можливі варіанти і з таким атрибутом (див. нижче). Атрибути:

label

Мітка варіанта (обов’язкова)

value

Рядкове значення, яке повертатиме батьківський елемент, якщо пункт буде позначено або вибрано (обов’язкове)

checked

Визначає, чи має бути типово позначено пункт, «true» або «false». У <radio> і <dropdown> значення checked="true" може бути використано лише для одного пункту. Якщо для жодного пункту не встановлено «checked», автоматично буде позначено перший пункт у батьківському елементі. У <select> може бути встановлено значення «checked» для довільної кількості пунктів. (необов’язкове, типовим значенням є «false»)

id

Визначення параметра «id» для елементів <option> є необов’язковим (фактично, не рекомендуємо вам встановлювати «id», якщо у цьому немає нагальної потреби). Втім, визначення «id» надасть вам змогу вмикати або вимикати <option> у динамічному режимі, встановивши з’єднання із булевою властивістю ідентифікатор_radio.ідентифікаор_пунктуX.enabled. У поточній версії програми це працює лише у елементах <radio> і <dropdown>; для пунктів <valueselector> і <select> підтримки ідентифікаторів для пунктів не передбачено.

<checkbox>

Визначає пункт для позначки, тобто однозначну відповідь (так чи ні) на певне питання, яку дають позначенням пункту або зняттям з нього позначки. Атрибути:

label

Мітка поля для позначки (обов’язкова)

value

Значення, яке повертатиме пункт для позначки, якщо його позначено (обов’язкове)

value_unchecked

Значення, яке буде повернуто, якщо пункт для позначки не позначено (необов’язкове, типовим є "", тобто порожній рядок)

checked

Визначає, чи має бути пункт типово позначено, «true» (так) чи «false» (необов’язкова, типовим є значення «false»)

<frame>

Елемент рамки, загалом, використовується як суто елемент компонування. Його опис розміщено у розділі щодо елементів компонування. Втім, його можна також зробити придатним для позначення, щоб він працював як звичайний пункт для позначки.

<input>

Визначає поле для введення довільного тексту. Атрибути:

label

Мітка поля введення (обов’язкова)

initial

Початковий текст у полі (необов’язковий, типовим значенням є «», тобто порожній рядок)

size

Одне з таких значень: «small» (малий), «medium» (середній) та «large» (великий). «large» визначає багаторядкове поле для введення, «small» і «medium» — однорядкові (необов’язковий, типовим є значення «medium»).

required

Визначає для надсилання коду, чи є обов’язковим заповнення цього поля. Див. документацію до властивості required (необов’язкова, типовим значенням є true).

<matrix>

Таблиця для введення даних матриць (або векторів) у форматі графічного інтерфейсу.

Примітка

Цей елемент введення даних не оптимізовано для редагування великих масивів даних. Хоча немає строгих обмежень щодо розміру <matrix>, загалом, розмірності не повинні перевищувати десять рядків на десять стовпчиків. Якщо вам потрібен більший масив даних, дозвольте користувачам вибирати його як об’єкт R (цим варто скористатися як альтернативним варіантом майже всюди, де використовуються матриці).

Атрибути:

label

Мітка таблиці (обов’язкова)

mode

Одне зі значень, «integer», «real» або «string». Тип даних, які будуть прийнятними для таблиці (обов’язковий).

min

Мінімальне прийнятне значення (для матриць типу «integer» або «real») (необов’язкове, типовим значенням є найменше придатне для представлення число)

max

Максимальне прийнятне значення (для матриць типу «integer» або «real») (необов’язкове, типовим значенням є найбільше придатне для представлення число)

allow_missings

Визначає, чи можна використовувати пропуски (порожні значення) у матриці. Використовується у матрицях з рядкових значень або у режимі «string» (необов’язковий параметр, типовим є значення «false» або не можна).

allow_user_resize_columns

Якщо встановлено значення «true», користувач може додавати стовпчики введенням значень у найправіші (неактивні) комірки (необов’язковий параметр, типовим значенням є «true» або може).

allow_user_resize_rows

Якщо встановлено значення «true», користувач може додавати рядки введенням значень у найнижчі (неактивні) комірки (необов’язковий параметр, типовим значенням є «true» або може).

rows

Кількість рядків у матриці. Не працює, якщо allow_user_resize_rows="true".

Примітка

Цим значенням можна керувати за допомогою властивості "rows".

(Необов’язковий параметр, типовим є значення 2).

columns

Кількість стовпчиків у матриці. Не працює, якщо allow_user_resize_columns="true".

Примітка

Цим значенням можна керувати за допомогою властивості "columns".

(Необов’язковий параметр, типовим є значення 2).

min_rows

Мінімальна кількість рядків у матриці. Матрицю не можна буде стиснути до розміру, який є меншим за це значення. (Необов’язковий параметр, типовим є значення 0; див. також allow_missings.)

min_columns

Мінімальна кількість стовпчиків у матриці. Матрицю не можна буде стиснути до розміру, який є меншим за це значення. (Необов’язковий параметр, типовим є значення 0; див. також allow_missings.)

fixed_height

Примусово встановити для елемента графічного інтерфейсу його початкову висоту. Не використовуйте у поєднанні з матрицями, у яких у якийсь спосіб може змінитися кількість рядків. Особливо корисно, якщо створюються елементи введення векторів (columns="1"). Якщо для цього параметра встановлено значення «true», програма не показуватиме горизонтальної смужки гортання, навіть якщо матриця буде ширшою за доступну у вікні ширину (оскільки це впливатиме на висоту). (необов’язкова, типовим значенням є «false»).

fixed_width

Трохи оманлива назва: припустімо, що кількість стовпчиків не зміниться. Останній (або типово єдиний) стовпчик буде розтягнуто так, щоб він зайняв усю доступну ширину. Не використовуйте у поєднанні з матрицями, де кількість рядків може змінитися. Особливо корисно під час створення елементів введення векторів (rows="1"). (необов’язкова, типовим значенням є «false»)

horiz_headers

Рядки, які слід використовувати для горизонтального заголовка, відокремлені символом «;». Якщо встановити значення "", заголовок буде приховано. (Необов’язковий параметр, типовим значенням є номер стовпчика).

vert_headers

Рядки, які слід використовувати для вертикального заголовка, відокремлені символом «;». Якщо встановити значення "", заголовок буде приховано. (Необов’язковий параметр, типовим значенням є номер рядка).

<optionset>

Інтерфейс користувача для повторення набору параметрів для довільної кількості елементів (вступ до наборів параметрів). Атрибути:

min_rows

Якщо вказано, набір буде позначено як некоректний, якщо у ньому менше вказаної кількості рядків (необов’язковий атрибут, ціле число).

min_rows_if_any

Подібний до min_rows, але перевірка щодо нього виконуватиметься, лише якщо існує принаймні один рядок (необов’язковий атрибути, ціле число).

max_rows

Якщо вказано, набір буде позначено як некоректний, якщо у ньому більше вказаної кількості рядків (необов’язковий атрибут, ціле число).

keycolumn

Ідентифікатор стовпчика, який працюватиме як keycolumn. optionset із (коректним) keycolumn працюватиме як «керований» optionset. optionset без keycolumn надаватиме змогу вручну вставляти або вилучати записи. keycolumn має бути позначено як зовнішній (необов’язковий, типовою є відсутність keycolumn).

Дочірні елементи:

<optioncolumn>

Оголошує один елемент optioncolumn набору. Для кожного значення, яке ви хочете отримати з optionset вам слід оголосити окремий елемент <optioncolumn>. Атрибути:

id

Ідентифікатор optioncolumn (обов’язковий атрибут, рядок).

external

Встановіть значення true (так), якщо optioncolumn керується з-поза меж optionset (необов’язкова, булева, типовим значенням є false).

label

Якщо вказано, optioncolumn буде показано у стовпчику з цією міткою (необов’язковий, рядок, типово не показано).

connect

Властивість, з якою слід з’єднати цей optioncolumn, задана як ідентифікатор у області <content>. Для зовнішніх <optioncolumn> відповідне значення буде встановлено у зовнішньо встановлене значення. Для звичайних (не зовнішніх) <optioncolumn> буде встановлено значення відповідного рядка властивості <optioncolumn>, якщо властивість змінюється у області вмісту. (необов’язкова, рядкова, типове значення — «не з’єднано»).

default

Лише для зовнішніх стовпчиків: значення, яке є типовим для цього стовпчика, якщо значення у комірці немає. Використання є рідкісним. (необов’язкова, типовим значенням є порожній рядок)

<content>

Оголошує вміст або графічний інтерфейс набору. Не має атрибутів. Як дочірні елементи можна використовувати усі звичайні активні, пасивні елементи та елементи компонування. Крім того, у ранніх версіях RKWard (аж до 0.6.3) можна було використовувати спеціальний дочірній елемент <optiondisplay>. Цей елемент вважається застарілим з часу RKWard 0.6.4, його слід просто вилучити з наявних додатків.

<logic>

Додаткова специфікація логіки інтерфейсу, яку слід застосувати всередині області вмісту optionset. Див. довідкові матеріали щодо <logic>

<browser>

Елемент призначено для вибору одної назви файла (або назви каталогу). Зауважте, що це поле приймає будь-який рядок, хоча його призначено лише для назв файлів:

label

Мітка вікна вибору файла (необов’язкова, типовим значенням є «Enter filename»)

initial

Початковий текст у засобі вибору файлів (необов’язковий, типовим значенням є «», тобто порожній рядок)

type

Одне зі значень: "file", "dir" або "savefile". Щоб вибрати наявний файл, наявний каталог або файл, якого не існує, відповідно (необов’язковий аргумент, типовим значенням є "file")

allow_urls

Визначає, чи можна вибирати (нелокальні) адреси (необов’язковий аргумент, типовим є значення "false")

filter

Фільтр типу файлів, наприклад ("*.txt *.csv" для файлів .txt і .csv). Автоматично буде додано запис "All files" (усі файли) (необов’язкова, типовим значенням є "", тобто «усі файли»).

required

Визначає для полів надсилання коду, чи обов’язково поле має бути заповнено. Зауважте, що це не обов’язково значить, що назва файла є коректною! Див. документацію щодо властивості required (необов’язкова, типовим значенням є true).

<saveobject>

Елемент призначено для вибору назви об’єкта R для збереження даних (тобто об’єкта, якого, загалом, ще не існує, на відміну від varslot):

label

Мітка поля введення (необов’язкова, типовим є значення «Save to:»)

initial

Початковий текст у полі введення (необов’язковий, типовим значенням є «my.data»)

required

Визначає для надсилання коду, чи є обов’язковою наявність у полі прийнятної назви об’єкта. Див. документацію до властивості required (необов’язкова, типовим значенням є true).

checkable

У багатьох випадках збереження до об’єкта R є необов’язковим. У таких випадках поле для позначки можна інтегрувати до елемента saveobject за допомогою цього атрибута. Якщо для нього встановлено значення true, saveobject буде активовано або деактивовано цим полем для позначки. Див. документацію щодо властивості active saveobject (необов’язковий, типовим значенням є false).

checked

Лише для saveobject з позначкою: визначає, чи буде пункт позначено типово (необов’язковий, типовим значенням є false (не позначено))

<spinbox>

Поле лічильника, у яке користувач може або безпосередньо ввести числове значення, або скористатися для того, щоб вказати значення, маленькими стрілочками вгору і вниз ліворуч від поля значення. Атрибути:

label

Мітка поля лічильника (рекомендуємо вказати, типовим значенням є «Enter value:»)

min

Найменше значення, яке користувач має право ввести до поля лічильника (необов’язкове, типовим значенням є найменше значення, яке технічно може бути показано у полі лічильника).

max

Найбільше значення, яке користувач має право ввести до поля лічильника (необов’язкове, типовим значенням є найбільше значення, яке технічно може бути показано у полі лічильника).

initial

Початкове значення, яке буде показано у полі лічильника (необов’язкове, типовим значенням є «0»)

type

Одне зі значень: "real" або "integer". Визначає, можна у полі лічильника вказувати дійсні числа чи лише цілі (необов’язковий аргумент, типовим значенням є "real")

default_precision

Має значення, лише якщо поле лічильника належить до типу «real». Впливає на кількість десяткових цифр, які може бути показано у полі лічильника (саме цю кількість кінцевих нулів буде показано). Після натискання користувачем кнопочки зі стрілкою вгору або вниз, ці десяткові знаки буде змінено. Втім, користувач може вручну ввести і значення із вищою точністю (див. нижче) (необов’язковий, типовим є значення «2»).

max_precision

Максимальна кількість цифр, які може бути введено (необов’язковий аргумент, типовим є значення «8»)

<formula>

За допомогою цього елемента із розширеними можливостями користувач може вибрати формулу або набір взаємодій на основі вибраних змінних. Наприклад, для узагальненої лінійної моделі користувач може вказати елементи взаємодії у моделі. Атрибути:

fixed_factors

Ідентифікатор varslot, що містить вибрані фіксовані фактори (обов’язковий)

dependent

Ідентифікатор varslot, що містить вибрану залежну змінну (обов’язковий)

<embed>

Вбудовування іншого додатка у поточний (див розділу щодо вбудовування). Атрибути:

component

Зареєстрована назва компонента для вбудовування (див. розділ щодо реєстрування компонентів) (обов’язкова)

as_button

Якщо встановлено значення «true», у графічному інтерфейсі, до якого вбудовується графічний інтерфейс, буде показано лише кнопку, натискання якої відкриватиме (у окремому вікні) вбудований інтерфейс (необов’язковий, типовим значенням є «false»).

label

Має значення, лише якщо as_button="true": мітка кнопки (рекомендуємо вказати, типовою є мітка "Options")

<preview>

Поле для позначки для вмикання або вимикання функціональної можливості попереднього перегляду. Зауважте, що починаючи з версії 0.6.5 RKWard елементи попереднього перегляду, <preview>, виокремлюються у діалогових вікнах додатків (не майстрів): вони розташовуються у стовпчику з кнопками, незалежно від того, де їх було визначено у описі графічного інтерфейсу. Втім, варто визначати їх у відповідному місці компонування з міркувань зворотної сумісності. Атрибути:

label

Мітка панелі (необов’язкова, типовим є значення "Preview")

mode

Тип попереднього перегляду. Підтримувані типи: «plot» (див. розділ щодо попереднього перегляду графіків), «output» (див. розділ щодо попереднього перегляду виведених даних (HTML)), «data» (див. розділ щодо попереднього перегляду даних) і «custom» (див. розділ щодо нетипових попередніх переглядів) (необов’язковий, типовим є тип «plot»)

placement

Розташування області попереднього перегляду: «attached» (у основній робочій області), «detached» (у окремому вікні), «docked» (у діалоговому вікні додатка) і «default» (у поточній версії те саме, що і «docked», але може стати чимось визначеним користувачем у майбутньому). Загалом, рекомендуємо лишити типовий варіант з міркувань збереження однорідності графічного інтерфейсу (необов’язковий, типовим є значення «default»).

active

Визначає, чи буде панель попереднього перегляду типово активною. Загалом, типово варто робити активними лише панелі попереднього перегляду у вікні додатка (docked), і навіть для цих панелей є причина не робити їх активними (необов’язковий, типовим значенням є «false»).

Розділ логіки

<logic>

Елемент, що визначає розділ «logic». Усі наведені нижче елементи можна використовувати лише всередині елемента <logic>. Елемент <logic> можна використовувати лише як безпосередній дочірній елемент елемента <document> (не більше одного на документ) або елемента <optionset> (не більше одного на optionset). Розділ logic документа одночасно стосується графічних інтерфейсів <dialog> і <wizard>.

<external>

Створює (рядкову) властивість, яка призначається для з’єднування із зовнішньою властивістю, якщо додаток вбудовують. Див. розділ щодо «незавершених» додатків. Атрибути:

id

Ідентифікатор нової властивості (обов’язковий)

default

Типове рядкове значення нової властивості, тобто значення, яке використовується, якщо властивість не з’єднано із зовнішньою властивість (необов’язкове, типовим значенням є порожній рядок).

<i18n>

Створює нову (рядкову) властивість, яка має забезпечувати роботу придатної до перекладу мітки. Атрибути:

id

Ідентифікатор нової властивості (обов’язковий)

label

Мітка. Її можна буде перекладати. (обов’язкова)

<set>

Встановлює для властивості фіксоване значення (звичайно ж, якщо ви додатково з’єднаєте властивість із якоюсь іншою властивістю, значення не залишатиметься фіксованим). Наприклад, якщо вами вбудовано додаток, але ви хочете приховати якісь з його елементів, ви можете встановити для властивості «visibility» цих елементів значення «false». Це особливо корисно для вбудованих додатків та додатків, до яких відбувається вбудовування. Зауваження: якщо для одного id вказано декілька <set>, пріоритет матиме останнє з визначень. Це іноді буває корисним, якщо використовуються фрагменти коду за допомогою <include>. Атрибути:

id

Ідентифікатор властивості для встановлення (обов’язковий)

to

Рядкове значення, яке слід встановити для властивості to (обов’язкове). Зауваження: для булевих властивостей, зокрема видимості, увімкненості, вам типово слід встановити для атрибута або to="true" або to="false".

<convert>

Створити нові булеві властивості, які залежать від стану однією або декількох різних властивостей. Атрибути:

id

Ідентифікатор нової властивості (обов’язковий)

sources

Ідентифікатори властивостей, від яких залежатиме ця властивість. Можна вказати одну властивість або декілька властивостей, відокремлених крапками з комами, «;» (обов’язковий).

mode

Режим перетворення або дії. Одне з таких значень: «equals», «notequals», «range», «and», «or». У режимі equals властивість матиме значення «true», лише якщо значення обох операндів дорівнюють атрибуту «standard» (див. нижче). У режимі notequals властивість матиме значення «true», лише якщо значення усіх операндів буде відмінним від атрибута «standard» (див. нижче). У режимі «range» усі операнди мають бути числовими (цілими або дійсними значеннями). Властивість матиме значення «true», лише якщо усі операнди належатимуть діапазону, що визначається атрибутами min і max (див. нижче). У режимі «and» операнди мають бути булевими властивостями. Властивість-результат матиме значення «true», лише якщо усі операнди одночасно дорівнюють «true». У режимі «or» усі операнди мають бути булевими властивостями. Властивість-результат матиме значення «true», якщо принаймні один з операндів матиме значення «true». (обов’язковий)

standard

Має значення лише у режимах equals або notequals: рядкове значення з яким слід виконати порівняння (обов’язковий, якщо використано один з цих режимів).

min

Має значення лише у режимі range: мінімальне значення, з яким слід виконувати порівняння (необов’язкове, типовим є найменше число із рухомою крапкою, яке може бути представлено на комп’ютері).

max

Має значення лише у режимі range: максимальне значення, з яким слід виконувати порівняння (необов’язкове, типовим є найбільше число із рухомою крапкою, яке може бути представлено на комп’ютері).

require_true

Якщо встановлено значення «true», властивість стане обов’язковою і вважатиметься встановленою коректно, якщо її станом буде true/увімкнено. Отже, якщо властивість має значення false, натискання кнопки Надіслати блокуватиметься (необов’язкова, типовим значенням є «false»).

Застереження

Якщо ви використовуєте цей атрибут, переконайтеся, що користувач зможе легко визначити, що слід робити, наприклад, покажіть йому пояснювальний текст за допомогою <text>.

<switch>

Створити нову властивість, яку буде пов’язано із різними іншими властивостями (або сталими рядками) на основі умов щодо певного значення властивості. Надає змогу створювати логічні конструкції, подібні до if() або switch(). Атрибути:

id

Ідентифікатор нової властивості (обов’язковий)

condition

Ідентифікатор властивості condition (обов’язковий)

Дочірні елементи:

<true>

Властивість, що визначає виконання умови, є булевою, ви можете вказати два дочірні елементи <true> і <false> (і лише ці елементи). (Обов’язковий, якщо також вказано <false>)

<false>

Якщо властивість, що визначає виконання умови, є булевою, ви можете вказати два дочірні елементи <true> і <false> (і лише ці елементи). (Обов’язковий, якщо також вказано <true>)

<case>

Якщо властивість в умові не є булевою, ви можете вказати довільну кількість елементів <case>, по одному на кожне значення властивості (обов’язково слід вказати принаймні один такий елемент, якщо властивість в умові не є булевою).

<default>

Якщо властивість, яка визначає умову, не є булевою, поведінку у випадку, якщо жоден з елементів <case> не відповідає значенню властивості в умові, можна визначити за допомогою додаткового елемента <default>. (необов’язковий, можна використовувати лише один раз у поєднанні із одним або декількома елементами <case>)

Дочірні елементи <true>, <false>, <case> і <default> приймають такі атрибути:

standard

Лише для елементів <case>: значення, з яким слід порівнювати властивість умови (обов’язковий, рядок).

fixed_value

Фіксований рядок, який має бути надано як значення властивості <switch>, якщо справджується поточна умова (обов’язковий, якщо не вказано dynamic_value).

dynamic_value

Ідентифікатор id властивості призначення, який має бути надано як значення властивості <switch>, якщо справджується поточна умова (обов’язковий, якщо не вказано fixed_value).

<connect>

З’єднує дві властивості. Клієнтську властивість буде змінено при зміні керівної властивості (але не навпаки!). Атрибути:

client

Ідентифікатор клієнтської властивості, тобто властивості, яку буде скориговано (обов’язковий)

governor

Ідентифікатор керівної властивості, тобто властивості, яка змінює клієнтську властивість. Може включати модифікатор (обов’язковий)

reconcile

Якщо має значення «true», клієнтська властивість скоригує керівну властивість під час з’єднання так, щоб керівна властивість приймала лише ті значення, які є прийнятними для клієнтської (наприклад, припустімо, що керівна властивість є числовою із мінімальним значенням «0», а клієнтська — числовою властивістю із мінімальним значенням «100». Мінімальне значення обох властивостей стане рівним 100, якщо reconcile="true"). Загалом, працює лише для властивостей, які належать до одного базового типу (необов’язковий, типовим значенням є «false»).

<dependency_check>

Створює булеву властивість, яка має значення true, якщо вказані залежності задоволено, і значення false, якщо це не так. Синтаксис xml цього елемента є таким самим, як і у елемента <dependencies>, описаного у довіднику щодо .pluginmap. У версії RKWard 0.6.1, до уваги беруться лише специфікації версій RKWard і R, а не залежності від пакунків або pluginmap-ів.

<script>

Визначає код скрипту для керування логікою графічного інтерфейсу. Докладніший опис можна знайти у розділі щодо керування логікою графічного інтерфейсу за допомогою скриптів. Код скрипту, який слід виконати, може бути подано або за допомогою атрибута "file", або як (коментований) текст у елементі. Елемент <script> не можна використовувати у розділі <logic> optionset. Атрибути:

file

Назва файла скрипту. (обов’язкова)