Все описания интерфейсов — статические. Для улучшения восприятия пользователем интерфейса можно добавить немного динамики, такой как скрытие или «засеривание» неиспользуемых полей формы. Описание эффектов выглядит в виде последовательности правил. Виджеты в правилах адресуются по именам, указанным в описании интерфейса при помощи атрибута name. Допустимо указывать одно и тоже имя и для самого поля и для его метки. Синтаксис правил зависит от синтаксиса используемого языка сценариев (scheme, javascript), но различия незначительны.
В поставке с alterator идёт несколько самых распространённых эффектов.
html://effectDisable(<виджет>, <другой виджет>, <значение другого виджета>);//
qt: (effect-disable <виджет> <другой виджет> <значение другого виджета>)
Виджет станет неактивным, если выполнены соответствующие условия. Параметры:
html://effectShow(<виджет>, <другой виджет>, <значение другого виджета>);//
qt: (effect-show <виджет> <другой виджет> <значение другого виджета>)
Виджет будет появляться, если выполнены соответствующие условия. Параметры такие же как и у effectDisable.
html: initEffect();
qt: (init-effect)
Запуск подсистемы визуализации эффектов.
Данную функцию Необходимо вызывать только один раз. В html вызов данной функции происходит автоматически. В qt необходимо поместить вызов этой функции после того как заданы правила и завершено первоначальное заполнение полей формы.
html: updateEffect();
qt: (update-effect)
Обновление состояния полей и меток.
При изменений значений полей эффект корректируется автоматически. Но если одна та же форма используется представления параметров однотипных объектов, может потребоваться явное обновление состояния визуального представления. В html при использовании стандартных worflow (/design/script/select.js, /design/scripts/card-index.js) все необходимые вызовы происходят автоматически.
В html описание помещается внутри тега script, в заголовке документа:
В qt описание помещается в конце документа перед вызовом функций, делающих первоначальное заполнение полей: