GUI-API: Unterschied zwischen den Versionen
Zeile 31: | Zeile 31: | ||
* ''Key'': Eindeutige Kennung der Komponente, seine ID | * ''Key'': Eindeutige Kennung der Komponente, seine ID | ||
* ''Type'': Art der Komponente. Kann folgende Werte annehmen: | * ''Type'': Art der Komponente. Kann folgende Werte annehmen: | ||
− | ** ''[[Title]]'': Title der Vorlage oder des Effekts | + | ** ''[[Dokumentation der Komponente Title|Title]]'': Title der Vorlage oder des Effekts |
− | ** ''[[Edit]]'': Eingabefeld | + | ** ''[[Dokumentation der Komponente Edit|Edit]]'': Eingabefeld |
− | ** ''[[ListBox]]'': Listenelement, enthält Strings | + | ** ''[[Dokumentation der Komponente ListBox|ListBox]]'': Listenelement, enthält Strings |
− | ** ''[[ComboBox]]'': Aufklappbarer Auswahldialog, enthält Strings | + | ** ''[[Dokumentation der Komponente ComboBox|ComboBox]]'': Aufklappbarer Auswahldialog, enthält Strings |
− | ** ''[[CheckBox]]'': Kästchen zur binären Auswahl | + | ** ''[[Dokumentation der Komponente CheckBox|CheckBox]]'': Kästchen zur binären Auswahl |
− | ** ''[[ImageComboBox]]'': Aufklappbarer Auswahldialog, enthält Bilder | + | ** ''[[Dokumentation der Komponente ImageComboBox|ImageComboBox]]'': Aufklappbarer Auswahldialog, enthält Bilder |
− | ** ''[[SpinEdit]]'': Eingabefeld für Ganzzahlen, liefert Integer-Werte | + | ** ''[[Dokumentation der Komponente SpinEdit|SpinEdit]]'': Eingabefeld für Ganzzahlen, liefert Integer-Werte |
− | ** ''[[Slider]]'': auch unter '''TrackBar''' bekannt, Schieberegler, liefert Integer-Werte | + | ** ''[[Dokumentation der Komponente Slider|Slider]]'': auch unter '''TrackBar''' bekannt, Schieberegler, liefert Integer-Werte |
* ''Caption'': Beschriftung der Komponente, kann leer sein. | * ''Caption'': Beschriftung der Komponente, kann leer sein. | ||
Zusätzlich gibt es das optionale '''Options'''-Objekt, welches bei Bedarf bestimmte Zusatzinformationen enthalten kann - je nach Type. | Zusätzlich gibt es das optionale '''Options'''-Objekt, welches bei Bedarf bestimmte Zusatzinformationen enthalten kann - je nach Type. |
Version vom 13. August 2012, 12:06 Uhr
Es ist manchmal notwendig, dass für Vorlagen und Effekte Einstellungen und Eingaben vom Benutzer gebraucht werden. Daher bietet die Scripting-API die Möglichkeit, einfache [Benutzeroberflächen] (GUI) zu gestalten.
Einfügen der GUI
Die Gestaltung geschieht innerhalb der vordefinierten Funktion GetGUI, die irgendwo im betreffenden Skript eingefügt sein muss:
function GetGUI(SlideShowObject: ISlideShowObject): string;
begin
Result := ;
end;
}
Diese Funktion hält einen Parameter SlideShowObject. Dieses ist eine Referenz auf das Objekt, welches das Skript ausführt. Das ist in der Regel das Effekt- bzw. das BlackBox-Objekt selbst.
Die Definition der GUI erfolgt mittels [[1]]-Syntax. Die Funktion liefert also einen JSON-String zurück.
Struktur des JSON-Strings
Das JSON-Objekt ist ein Array aus Komponenten-Objekten:
[
{
# Komponente 1
},
{
# Komponente 2
}
]
Jede Komponente benötigt das Key-Element, das Caption-Element und das Type-Element. Alle diese Elemente sind vom Datentyp String.
- Key: Eindeutige Kennung der Komponente, seine ID
- Type: Art der Komponente. Kann folgende Werte annehmen:
- Title: Title der Vorlage oder des Effekts
- Edit: Eingabefeld
- ListBox: Listenelement, enthält Strings
- ComboBox: Aufklappbarer Auswahldialog, enthält Strings
- CheckBox: Kästchen zur binären Auswahl
- ImageComboBox: Aufklappbarer Auswahldialog, enthält Bilder
- SpinEdit: Eingabefeld für Ganzzahlen, liefert Integer-Werte
- Slider: auch unter TrackBar bekannt, Schieberegler, liefert Integer-Werte
- Caption: Beschriftung der Komponente, kann leer sein.
Zusätzlich gibt es das optionale Options-Objekt, welches bei Bedarf bestimmte Zusatzinformationen enthalten kann - je nach Type.
- Beispiel für ein Edit-Feld und ein beschränktes Spin-Edit.
[
{
"Key" : "Edit1",
"Type" : "Edit",
"Caption" : "Dies ist eine Edit-Feld"
},
{
"Key" : "Spin1",
"Type" : "SpinEdit",
"Caption" : "Dies ist ein SpinEdit-Feld",
"Options" :
{
"Min" : 1,
"Max" : 10
}
}
]