Der Skriptbaukasten

KDE-Anwendungen können extern von einem anderen Programm von der Befehlszeile aus kontrolliert werden oder von einem Shell-Skript, dass das Inter-Process Communication Protocol (D-Bus) 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 Demonstration für ein astronomisches Konzept in der Schule zu erstellen.

Das Problem mit D-Bus-Skripten ist, dass deren Erstellen ein bisschen wie Programmieren ist und dass es ein entmutigende Aufgabe für Menschen sein kann, die damit keine Erfahrung haben. Das Hilfsmittel Skriptbaukasten bietet eine Oberfläche zum klicken und ziehen, um KStars-D-Bus-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?.


Hilfsmittel „Skriptbaukasten“

Der Skriptbaukasten wird im obigen Bildschirmfoto gezeigt. Auf der linken Seite sehen Sie das Feld Aktuelles Skript; mit der Liste der Befehle, die das aktuelle Skript umfasst. Das Feld auf der rechten Seite ist die Funktionsauswahl, sie zeigt eine Liste aller verfügbaren Skriptfunktionen an. Unter der Funktionsauswahl 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 Feld für Funktionsargumente, wenn eine Funktion im Feld 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, um ein Skript insgesamt zu bearbeiten. 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 zur Seite schieben, bevor Sie diesen Knopf drücken, damit Sie die Ergebnisse sehen können.

In der Mitte des Fenster finden Sie eine Spalte mit Knöpfen, die die einzelnen Skriptfunktionen steuern. Von oben nach unten sind es: 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). Die übrigen Knöpfe bearbeiten die 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 vorzustellen, präsentieren wir ein kleines Beispiel, in dem wir ein Skript erstellen, das den Mond verfolgt, während die Zeit beschleunigt abläuft.

Wenn wir den Mond verfolgen wollen, wir müssen die Anzeige darauf 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 in das Feld aktuelles Skript einzufü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 das Feld manuell eingeben oder den Knopf Objekt drücken und das Fenster Objekt suchen benutzen, um den Mond aus der Liste der bekannten Objekte auszuwählen. Beachten Sie, dass als Standard bei der Zentrierung automatisch die Objektverfolgung angeschaltet wird, also muss die Funktion setTracking nicht nochmal benutzt werden.

Da jetzt die Verfolgung auf den Mond eingestellt ist, soll als nächstes der Zeitablauf beschleunigt werden. 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.

Nun haben wir die Anzeige auf den Mond gerichtet und die Uhr beschleunigt. Nun möchten wir, dass das Skript einfach eine Weile wartet, während die Anzeige die Spur des Mondes verfolgt. Fügen Sie die Funktion waitFor zum Skript hinzu und benutzen Sie das Feld Funktionsargumente um anzugeben, dass es 20 Sekunden warten soll, ehe der nächste Schritt ausgeführt wird.

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 noch nicht ganz fertig. Wir sollten vielleicht sicherstellen, das die Ansicht auf äquatoriale Koordinaten geschaltet ist, bevor das Skript dem Mond Folgt. Wenn die Ansicht auf horizontale Koordinaten geschaltet ist, wird sich die Anzeige sehr schnell um große Winkel drehen, wenn 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 Einstellung UseAltAz benutzen, können wir sie einfach auswählen. Jedoch ist die Liste sehr lang und es gibt keine Erklärung für jeden Eintrag. Deshalb ist es vielleicht einfacher, mit dem Knopf Baum durchforsten ein Fenster mit einer Baumliste aller Anzeigeeinstellungen, geordnet nach Themen, zu öffnen. Zusätzlich hat jeder Eintrag eine kurze Erklärung über die Einstellung und den Datentyp des Einstellungswertes. Wir finden UseAltAz in der Kategorie Himmelskarteneinstellungen. Wählen Sie einfach den Eintrag und drücken Sie Ok und er wird im Feld Funktionsargumente ausgewählt. Zum Schluss setzen Sie den Wert auf false (falsch) oder 0.

Ein weiterer Schritt: Das Ändern von UseAltAz am Ende des Skriptes hat keine Auswirkungen, da UseAltAz geändert werden muss, bevor andere Funktionen aufgerufen werden. Also wählen Sie diese Funktion in der Feld Aktuelles Skript und drücken solange den Knopf Nach oben verschieben, bis die Funktion an erster Stelle steht.

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 und Ihren Namen als Autor ein 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. Wenn Ihr Dateiname nicht mit .stars endet, wird 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 Befehlszeile können Sie einfach das Skript ausführen, während KStars läuft. Alternativ können Sie das Skript aus KStars mit dem Eintrag Skript ausführen aus dem Menü Datei starten.