Illustrator InDesign Photoshop Scripting

ScriptUI Scaffolder

15.04.2019

Watt is een Scaffolder? Nu, da stelle mer uns janz dumm und fraang Wikipedia:

Scaffolding, as used in computing, refers to one of two techniques: The first is a code generation technique related to database access in some model–view–controller frameworks; the second is a project generation technique supported by various tools.

Hier geht es um das zweite.

ScriptUI Dialoge zu programmieren ist eine große Menge Tipparbeit. Das, so dachte ich, müsste sich deutlich runterdampfen lassen. Warum soll ich für diesen Dialog

einfach nach dem Namen fragen

50 Zeilen Code schreiben, wenn alles, was ich festlegen will, sich auf das hier zusammendampfen lässt?

<?xml version="1.0" ?>
<root>
  <text id="vorname" label="Ihr Vorname">
    <value>Max</value>
  </text>
  <text id="nachname" label="Ihr Nachname">
    <value>Muster</value>
  </text>
  <button id="defaultElement" label="OK" />
</root>
Alle Optionen des Scaffolders in einem Dialog

Ein Scaffolder nimmt das XML und macht daraus all den Programmcode (jedenfalls das Gerüst (daher der Name)), den man für den Dialog braucht.

Der Scaffolder liegt hier. Beispiel XML-Dateien liegen hier.

Wichtige Anmerkung: Das Script ist „so nebenbei“ entstanden und ich bin nicht stolz auf die Struktur. Es gab mehrere konzeptionelle Änderungen und daher müsste der Code als nächstes aufgeräumt werden. Da es aber funktional ist und alles kann, was ich brauche, wird es dazu durch mich aber nicht kommen.
Stattdessen stelle ich es hier rein, weil es vermutlich auch in der jetzigen Form für den einen oder anderen nützlich sein kann.
Feedback oder Fragen wie immer über Facebook oder Twitter (im Footer). Thank you, deutsches Recht, dass ein Kommentarbereich heutzutage eine nicht-lohnende rechtliche Grauzone ist.

Gebrauchsanweisung

  1. Erstelle eine XML-Datei
  2. Starte das Script und wähle die XML-Datei aus
  3. Öffne das .JSX, das der Scaffolder neben die XML-Datei gelegt hat und passe den generierten Code an

Detaillierte Videoanleitung

Um mir keinen Wolf zu schreiben, habe ich die Details mal als Screencast hinterlegt.

Das Scaffolder Konzept

Texteingabefelder

Checkboxen

Dropdownmenüs

Listenfelder

Buttons

Gruppierungen/Layout

Beispieldialog

Update 20.5.19:
Wer es lieber grafisch mag: Joonas Paakko hatte anscheinend das gleiche Problem wie ich, aber Zeit und Lust ein viiiielfaches an Zeit in die Lösung zu stecken.
Herausgekommen ist ein phänomenales Point und Click Interface:

Tolles UI zum Bauen von ScriptUI Dialogen