Хоча з’єднання властивостей, описаного вище, часто достатньо, іноді гнучкішим і зручнішим способом керування логікою графічного інтерфейсу є використання скриптів JS. У цей спосіб наведений вище приклад може бути переписано так:
[...]
<code file="code.js"/>
'
<logic>
<script><![CDATA[
// У цьому блоці використано код ECMAScript
// інструкція вищого рівня викликається лише один раз
gui.addChangeCommand ("mode.string", "modeChanged ()");
// ця функція викликається кожного разу, коли змінюється режим «mode»
modeChanged = function () {
var varmode = (gui.getString ("mode.string") == "variable");
gui.setValue ("y.enabled", varmode);
gui.setValue ("constant.enabled", !varmode);
}
]]></script>
</logic>
<dialog label="T-Test">
[...]
Перший рядок коду повідомляє RKWard, що слід викликати modeChanged(), щоб визначити, чи змінилося значення пункту варіанта id="mode". Всередині цієї функції ми визначаємо допоміжну змінну "varmode", яка має значення true, якщо mode має значення "variable" як "constant". Далі, ми використовуємо gui.setValue() для встановлення властивостей «enabled» "y" і "constant" у той самий спосіб, як ми робили це з інструкціями <connect> раніше.
Керування логікою графічного інтерфейсу за допомогою скриптів корисне зокрема тоді, коли ви хочете змінити доступні параметри відповідно до типу об’єкта, який вибрано користувачем. Із списком доступних функцій можна ознайомитися у довідковому розділі.
Зауважте, що підхід до керування графічним інтерфейсом за допомогою скриптів може бути поєднано із інструкціями <connect> і <convert>, якщо це потрібно. Крім того, зауважте, що теґ <script> надає змогу вказати назву файла скрипту на додачу або як альтернативу до вбудовування скриптового коду до файла інтерфейсу. Втім, типово, продемонстроване вище вбудовування коду є зручнішим.