Skriptbaserad logik för det grafiskt användargränssnittet

Medan anslutning av egenskaper som beskrivs ovan ofta är nog, är det flexiblare eller bekvämare att använda JS för att hantera det grafiska användargränssnittets logik med ett skript. På detta sätt skulle exemplet ovan kunna skrivas om som:

[...]
        <code file="code.js"/>
'
        <logic>
                <script><![CDATA[
                        // ECMA-skript kod i blocket
                        // toppnivåsatsen anropas bara en gång
                        gui.addChangeCommand ("mode.string", "modeChanged ()");

                        // funktionen anropas så fort "mode" ändras
                        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">
        [...]
        

Den första kodraden talar om för RKWard att funktionen modeChanged() ska anropas så fort värdet på alternativknappen id="mode" ändras. Inne i funktionen definierar vi hjälpvariabeln "varmode" som är sann när läget är "variable" och falsk när det är "constant" . Sedan använder vi gui.setValue() för att ställa in egenskaperna enabled för "y" och "constant", precis på samma sätt som vi tidgare gjorde med satsen <connect>.

Skriptmetoden för logik i det grafiska användargränssnittet är särskilt användbart när de tillgängliga alternativen behöver ändras enligt typ av objekt som användaren väljer. Se referenskapitlet för tillgängliga funktioner.

Observera att skriptmetoden för logik i det grafiska användargränssnittet kan blandas med satserna <connect> och <convert> om du vill. Observera också att taggen <script> tillåter ett skriptfilnamn som tillägg till eller alternativ till att inbädda skriptkoden. Oftast är det dock bekvämast att inbädda den som visas ovan.