# Das Hilfsmittel "Skriptbaukasten"

KDE-Anwendungen können extern von einem anderen Programm von der Kommandozeile aus kontrolliert werden oder von einem Shell-Skript, das das Desktop COmmunication-Protokoll (DCOP) benutzt. KStars benutzt diese Funktionen, um wirklich komplexe Verhaltensweisen in Skripte zu integrieren und zu jeder Zeit aufrufen zu können. Das kann dafür genutzt werden, um zum Beispiel eine Klassenraumdemonstration für ein astronomisches Konzept zu erstellen.

Das Problem mit DCOP-Skripten ist, das das Erstellen ein bisschen wie Programmieren ist und das ein entmutigende Aufgabe für Menschen sein kann, die damit keine Erfahrung haben. Das Skriptbaukasten-Hilfsmittel bietet eine Oberfläche zum klicken und ziehen um KStars-DCOP-Skripte zu erstellen und macht es dadurch sehr einfach, komplexe Skripte zu erstellen.

## Einführung in den Skriptbaukasten

Bevor erklärt wird, wie Sie den Skriptbaukasten benutzen, gebe ich hier eine sehr einfache Einführung in alle Oberflächenkomponenten. Für weitere Informationen benutzen Sie die Funktion "Was ist das?".

Das Hilfsmittel "Skriptbaukasten"
Hilfsmittel "Skriptbaukasten"

Der Skriptbaukasten wird im obigen Bildschirmfoto gezeigt. Die Box auf der linken Seite ist die Box Aktuelles Skript; sie zeigt die Liste der Befehle, die das aktuelle Skript umfasst. Die Box auf der rechten Seite ist die Funktionsauswahl, sie zeigt eine Liste aller verfügbaren Skriptfunktionen an. Unter dem Funktionsbrowser ist ein kleines Feld, das eine kurze Dokumentation über die Skriptfunktion anzeigt, die in der Funktionsauswahl ausgewählt ist. Das Feld unter dem aktuellen Skript ist das Funktionsargumente-Feld; wenn eine Funktion in der Box "Aktuelles Skript" ausgewählt ist, enthält dieses Feld Einträge, um die Argumente der hervorgehobenen Funktion zu bearbeiten.

Oben im Fenster ist eine Reihe von Knöpfen, die mit dem ganzen Skript zusammenhängen. Von links nach rechts gibt es: Neues Skript, Skript öffnen, Skript speichern, Skript speichern unter... und Skript testen was das aktuelle Skript im KStars-Fenster ausführt. Sie sollten das Skriptbaukasten-Fenster aus dem Weg bringen, bevor Sie diesen Knopf drücken, damit Sie die Ergebnisse sehen können.

In der Mitte des Fenster ist eine Spalte von Knöpfen, die die individuellen Skriptfunktionen steuern. Von oben nach unten sind sie: Funktion hinzufügen, Funktion entfernen, Funktion kopieren, Nach oben verschieben und Nach unten verschieben. Funktion hinzufügen fügt die aktuell ausgewählte Funktion in der Funktionsauswahl zu dem aktuellen Skript hinzu (Sie können die Funktion auch durch einen Doppelklick hinzufügen). Der Rest der Knöpfe funktioniert mit der Funktion, die im aktuellen Skript ausgewählt ist. Sie entfernen sie, duplizieren sie oder ändern ihre Position im Skript.

## Den Skriptbaukasten benutzen

Um die Benutzung des Skriptbaukastens zu illustrieren, präsentieren wir ein kleines Beispiel, in dem wir ein Skript erstellen, das den Mond verfolgt, während die Uhr schneller läuft.

Wenn wir den Mond verfolgen wollen, wir müssen die Anzeige auf ihm zentrieren. Die Funktion lookToward wird dazu benutzt. Wählen Sie diese Funktion in der Funktionsauswahl. und beachten Sie die Beschreibung im Feld unter der Auswahl. Drücken Sie den Knopf Funktion hinzufügen um diese Funktion zur Box "aktuelles Skript" hinzuzufügen. Das Feld für die Funktionsargumente wird nun ein Auswahlfeld namens Richtung haben. Das ist die Richtung, in die die Anzeige zeigen soll. Das Auswahlfeld enthält nur kardinale Kompasspunkte, nicht den Mond oder andere Objekte. Sie können entweder Moon (engl. für Mond) in die Box manuell eingeben oder den Knopf Objekt drücken und das Fenster Objekt suchen benutzen, um den Mond aus der Liste der benannten Objekte auszuwählen. Beachten Sie, dass wie immer, bei der Zentrierung automatisch die Objektverfolgung angeschaltet wird, also muss die Funktion setTracking nicht nochmal benutzt werden.

Nun da wir uns auf den Mond konzentriert haben, möchten wir eine schnellere Laufrate für die Uhr angeben. Benutzen Sie die Funktion setClockScale dafür. Fügen Sie sie dem Skript durch ein Doppelklick darauf in der Funktionsauswahl hinzu. Das Funktionsargumentefeld enthält ein Einstellfeld für den gewünschten Zeitschritt. Ändern Sie den Zeitschritt in 3 Stunden.

OK, wir haben die Anzeige nun auf den Mond gerichtet und die Uhr beschleunigt. Nun möchten wir, dass das Skript einfach eine weile pausiert, während wir die Spur des Mondes zeigen. Fügen Sie die Funktion waitFor zum Skript hinzu und benutzen Sie das Feld "Funktionsargumente" um anzugeben, dass es 20 Sekunden warten soll bevor dem weitermachen.

Um das Ganze abzuschließen, lassen Sie uns den Zeitschritt auf den normalen Wert von einer Sekunde zurücksetzen. Fügen Sie eine weitere Funktion "setClockScale" hinzu und setzen Sie den Wert auf eine Sekunde.

Wir sind nocht nicht ganz fertig. Wir sollen vielleicht sicherstellen, das die Ansicht auf äquatoriale Koordinaten geschaltet ist, bevor das Skript dem Mond verfolgt. Wenn die Ansicht auf waagerechte Koordinaten geschaltet ist, wird die Anzeige sehr schnell rotieren, durch die großen Winkel, bei denen der Mond auf- und untergeht. Das kann sehr verwirrend sein und wird vermieden, indem die Ansichtsoption UseAltAz auf false gesetzt wird. Um die Ansichtseinstellungen zu verändern, benutzen Sie die Funktion changeViewOption. Fügen Sie diese Funktion Ihrem Skript hinzu und schauen Sie in das Argumentefeld. Hier ist ein Auswahlfeld, das alle Anzeigeeinstellungen enthält, die von "changeViewOption" verändert werden können. Da wir wissen, dass wir die Einstellunge UseAltAz benutzen, können wir sie einfach auswählen. Jedoch ist die Liste sehr lang und es gibt keine Erklärung wozu jeder Eintrag da ist. Deshalb könnte es einfacher sein, den Knopf Baum durchforsten, das ein Fenster mit einer Baumliste aller Anzeigeeinstellungen enthält, geordnet nach Themen. Zusätzlich hat jeder Eintrag eine kurze Erklärung was sie tut und der Datentyp des Einstellungswertes. Wir finden UseAltAz in der Kategorie Himmelskarteneinstellungen. Wählen Sie einfach den Eintrag und drücken Sie Ok und er wird ausgewählt in dem Feld "Funktionsargumente". Letzendlich setzen Sie den Wert auf false (falsch) oder 0.

Ein weiterer Schritt: Das Ändern von UseAltAz am Ende des Skriptes bringt uns nichts ,da wir die ändern müssen, bevor alles andere stattfindet. Also wählen Sie die Funktion in der Box "Aktuelles Skript" drücken den Knopf Nach oben verschieben bis es die erste Funktion ist.

Nun da wir das erste Skript erstellt haben, sollten wir es speichern. Drücken Sie den Knopf Skript speichern. Das öffnet zuerst ein Fenster, in das Sie den Namen für das Skript und Ihren Namen als Autor eintragen können. Geben Sie Verfolgung des Mondes als Namen ein und Ihren Namen als Autor und drücken OK. Als nächstes sehen Sie einen &kde;-Speichern-Dialog. Geben Sie einen Dateinamen für das Skript an und drücken Ok um es zu speichern. Beachten Sie, dass wenn Ihr Dateiname nicht mit .stars endet, diese Erweiterung wird automatisch angefügt. Wenn Sie neugierig sind, können Sie die Skriptdatei mit jedem Texteditor ansehen.

Nun haben wir ein komplettes Skript, wir können es auf verschieden Wegen starten. Von einer Kommandozeile können Sie einfach das Skript ausführen, während KStars läuft. Alternativ können Sie das Skript aus KStars starten mittels des Eintrags Skript ausführen aus dem Menü Datei.