Der Skript-Editor
Der Skript-Editor dient zur Erstellung und Veränderung von CTRL-Skripts und Libraries.
Sie öffnen den Skript-Editor im Grafikeditor über das Menü
oderDer Skript-Editor kann auch als separates Fenster in einem UI Manager gestartet werden. Dies geschieht mittels der Option "-editor", optional kann noch ein spezifischer Dateipfad hinzugefügt werden.
Bei Grafikobjekten programmieren Sie jedoch den gewünschten Code direkt für das gewünschte Ereignis. Das heißt: Sie programmieren den Code z.B. für das Ereignis "Initialize" (der Code wird bei der Initialisierung durchgeführt) oder für das Ereignis "DoubleClicked" (der Code wird beim Doppelklick auf das Objekt durchgeführt).
Der Skript-Editor kann auch über CTRL + E geöffnet werden. Das Panel oder ein spezifisches Objekt sowie das gewünschte Ereignis (z.B. DoubleClicked) kann auf der linken Seite selektiert werden. Beachten Sie, dass ein Script nicht gleichzeitig mit zwei unterschiedlichen Script-Editoren (Editor über CTRL + E und Editor, der über das Eigenschaftenfenster geöffnet wird) geändert wird.
Welche Ereignisse für die verschiedenen Objekte zur Verfügung stehen, wird im Kapitel Ereignisse von Grafikobjekten erklärt.
Der Skript-Editor wird mit einem leeren Skript geöffnet.
Das Fenster des Skript-Editors beinhaltet eine Menüleiste mit vier Menüs: Datei, Editieren, Ansicht, Werkzeuge.
Über Tabulator-Taste können Sie eine selektierte Zeile ein und ausrücken. Für Tabulator-Einstellungen, siehe Kapitel Das Menü Edit.
Der Skript-Editor stellt eine Reihe von besonderen Eingabehilfen (Tastenkürzel) zur Verfügung, die das Arbeiten im Skript-Editor erleichtern. Für die Auflistung dieser Eingabehilfen siehe Der Control-Editor.
Beachten Sie, dass in der Abbildung oberhalb Funktionsnamen, die mit "is" anfangen, angezeigt werden, da der Cursor an der Position "is" ist und die Tabulator-Taste gedrückt wurde. Mit dem Anfangsbuchstaben einer Funktion und der Tabulator-Taste können alle Funktionen, die mit diesen Buchstaben anfangen oder dies enthalten, angezeigt werden.
Ctrl + Leerzeichen innerhalb von Funktionsargumenten zeigt den Tooltip für die Funktion.
Über die Schaltflächen des Skript-Editors stehen Ihnen die gleichen Funktionen wie im Edit-Menü zur Verfügung.
Zusätzlich können Sie den Code speichern und einen Syntax Check durchführen. Solange der Code eines Skripts nicht der Syntax entspricht, lässt sich der Editor nur mit der Bestätigung eines zusätzlichen Speichern-Dialoges schließen.
Durch Klick auf Schließen (schwarzes X) rechts oben, erscheint eine Meldung, ob die Änderungen gespeichert werden sollen. Ja speichert das Skript und schließt den Skript-Editor, Nein schließt den Skript-Editor ohne die Änderungen zu speichern und Abbrechen kehrt zum aktuellen Skript im Editor zurück. Zudem bietet der Skript-Editor jetzt Positionshistorie an. Die Historie enthält bis zu 30 Schritte. So kann zwischen mehreren Punkten hin- und hergesprungen werden. Siehe folgende Abbildung:
Die Automatische Vervollständigung
- Die Automatische Vervollständigung kann entweder zu Beginn der Eingabe oder durch Drücken der Tabulator-Taste aktiviert werden. Dieses Verhalten kann in den Einstellungen definiert werden. Das Script Editor EWO verwendet hierzu das Attribut "autoCompletition"
- Die Liste zur automatischen Vervollständigung zeigt Einträge in welchen der partielle String mittig übereinstimmt kursiv am Ende der Liste.
- Der Panelname kann aus der automatischen Vervollständigung hinzugefügt werden. Dies kann für Panelnamen und deren Pfade aus allen Projektpfaden in allen ChildPanelOn* oder RootPanelOn* Funktionen mit dem Tabulator aktiviert werden, wenn der String bereits begonnen wurde (d.h.: wenn das " Zeichen vorhanden ist). Es kann für Panelnamen mit ALT + P in jedem String aktiviert werden.
- Wenn der Panel-Skript-Editor verwendet wird, werden in der automatischen Vervollständigung nur Einträge zum derzeitigen Grafikobjekt angezeigt.
Weitere Hinweise zur Funktionalität
- Sobald Sie eine Funktion geschrieben haben und die zugehörige Klammer für die Parameter öffnen, erscheint ein Tooltip für die Funktion, der die Parameter und die zugehörigen Datentypen anzeigt. Für benutzerdefinierte Funktionen werden auch Default-Werte angezeigt.
- Es stehen dem Benutzer neben den Control-Funktionen auch die Library-Funktionen zur Verfügung!
- Bei der Verwendung von Klassen (siehe Objektorientiertes Skripting (CTRL++)) kann mittels rechter Maustaste von einer Instanz eine Klasse auf deren Definition gesprungen werden.
- Es ist möglich zusätzliche Dockmodule mit der Funktion moduleAddDockModule() hinzuzufügen.
- Der Skript-Editor kann Code mit der Tastenkombination CTRL + , automatisch in astyle formatieren. Eine Standardkonfiguration ist mitgeliefert. Es kann aber auch eine eigene Konfiguration als "astyle.config" erstellt werden, welches in allen Config Verzeichnissen gesucht wird.
- Der Skript-Editor färbt alle Klassen Member-Funktionen. Die Farbe wird allerdings nur verwendet, wenn der Funktionsaufruf
innerhalb einer Funktion dieser Klasse erfolgt, und nicht innerhalb einer Instanz der Klasse. Z.B.:
class X { foo() { } bar() { foo(); // verwendet die Farbe SomeClass c; c.someFunc(); // Verwendet die Farbe nicht. } };
- Funktions-Definitionen mit unpassenden Rückgabewerten werfen einen Syntax-fehler, und verhindern die Ausführung des Skripts.
- Die aktuelle Funktion wird in der Funktionsübersicht hervorgehoben.
- Mit der Tastenkombination CTRL + H oder über das Menü kann zum Anfang der aktuellen Funktion gesprungen werden.
- Mit der Tastenkombination CTRL und PageUp oder PageDown kann seitenweise gescrollt werden.
- Das Schweben des Mauszeigers über einer Variablen zeigt den Variablentypen als Tooltip.
- Ganze Zeilen werden mit den Tastenkombinationen CTRL + UP oder CTRL + DOWN ausgewählt.
- Die Schneiden und Kopieren Operationen ohne Auswahl wählen jetzt die gesamte Zeile, in welcher sich der Cursor befindet, aus.
- Der Skript-Editor kann verschlüsselte Skripte analysieren und die API Informationen in der automatischen Vervollständigung und den Tootips verwenden.
- Bei der Verwendung des Script Editors auf einem ESXi Server muss die 3D Beschleunigung aktiviert werden.