# Het hulpmiddel Scriptbouwer

Toepassingen in KDE kunnen worden bestuurd vanuit een ander programma, vanaf de opdrachtregel in een tekstscherm, of met behulp van een shellscript, waarbij het "Desktop Communication Protocol" (DCOP) wordt gebruikt. In KStars wordt dit gebruikt voor het vastleggen van tamelijk complex gedrag in een script, dat daarna elk moment kan worden afgespeeld. Men kan hiervan bijvoorbeeld gebruik maken voor het maken van een demonstratie in de klas, om een astronomisch begrip toe te lichten.

Het probleem met DCOP-scripts is dat het schrijven ervan een beetje lijkt op programmeren, waartegen iemand zonder programmeerervaring kan opzien. Het hulpmiddel Scriptbouwer heeft een GUI-interface, waarin u alleen maar hoeft te klikken om DCOP-scripts te maken voor KStars, waarmee het maken van complexe scripts erg eenvoudig wordt.

## Inleiding tot de Scriptbouwer

Voor de uitleg hoe de Scriptbouwer moet worden gebruikt, geef ik een korte inleiding tot alle GUI-componenten; als u meer wilt weten, kunt u de "Wat is dit"-functie gebruiken.

Het hulpmiddel Scriptbouwer
Het hulpmiddel Scriptbouwer

In de schermafbeelding hierboven ziet u de Scriptbouwer. Het vak links is het vak Huidig script; hierin ziet u de lijst van opdrachten in het huidige script. Het vak rechts is de Functiebrowser, hierin ziet u een lijst van alle beschikbare functies. Onder het Functiebrowser is een klein paneel met informatie over de in de Functiebrowser geselecteerde functie. In het paneel onder het vak "Huidige script"ziet u de Functieargumenten; als een functie in het vak "Huidig script" is geselecteerd, vindt u hier de gegevens over de eventuele argumenten die deze functie nodig heeft.

Aan de bovenkant van het venster ziet u een rij knoppen waarmee u bewerkingen op het hele script kunt uitvoeren. Van links naar rechts zijn dit: Nieuw Script, Script openen, Script opslaan, Script opslaan als..., en Script testen. Het is duidelijk waar deze knoppen voor dienen, behalve misschien de laatste. Als u op de knop Script testen drukt, zal geprobeerd worden om het huidige script uit te voeren in het hoofdvenster van KStars. Het venster van de Scriptbouwer moet uit de weg worden verplaatst, om het resultaat te kunnen zien.

In het midden van het venster is een rij knoppen voor bewerkingen op de individuele scriptfuncties. Van boven naar beneden zijn dit de knoppen: Functie toevoegen, Functie verwijderen, Functie kopiëren, Omhoog, en Omlaag. Met de knop Functie toevoegen voegt u de in de Functiebrowser geselecteerde functie toe aan het vak "Huidige script" (u kunt ook de functie toevoegen door erop te dubbelklikken). Met de overige knoppen voert u bewerkingen uit op de functie die in het vak "Huidig script" is geselecteerd: verwijderen, kopiëren, of verplaatsen in het huidige script.

## Gebruik van de Scriptbouwer

Om het gebruik van de Scriptbouwer toe te lichten, geven we hier een klein leerzaam voorbeeld waarin we een script maken dat de maan volgt, terwijl de klok sneller loopt.

Als we de maan willen volgen, moeten we er eerst op focussen. Daarvoor gebruiken we de functie lookToward (kijk in de richting van). Kies deze functie in de Functiebrowser, en bekijk de documentatie in het paneel onder de browser. Druk op de knop Functie toevoegen om deze functie toe te voegen in het vak "Huidig script". In het paneel "Functieargumenten" ziet u nu een comboveld met de tekst dir, wat direction (richting) betekent. Dit is de richting van de focus van het beeldscherm. Het comboveld bevat alleen de hoofd- en tussenstreken van het kompas, en niet de maan of andere objecten. U kunt of Maan met de hand invullen in het comboveld, of op de knop Object drukken om het venster Object zoeken te kunnen gebruiken om hierin de Maan te selecteren uit de lijst van objecten met een naam. Merk op, dat zoals gewoonlijk, het centreren op een object het volgen automatisch inschakelt, het is dus niet nodig om de functie setTracking (volgen aanzetten) toe te voegen na lookToward.

Nu we ervoor hebben gezorgd dat er op de maan wordt gefocust, willen we de tijd sneller laten lopen. Gebruik hiervoor de functie setClockScale (Kloksnelheid instellen). Voeg deze functie toe aan het script door erop te dubbelklikken in de Functiebrowser. Het paneel "Functieargumenten" heeft een tijdstap-spinveld om de gewenste tijdstap voor de simulatieklok te kiezen. Verander de tijdstap in 3 uur.

Goed, we hebben nu gefocust op de maan, en de klok versneld. Nu willen we dat het script enkele seconden wacht, terwijl in het beeld de maan wordt gevolgd. Voeg de functie waitFor (wacht) toe aan het script, en gebruik het paneel "Functieargumenten" om aan te geven dat er 20 seconden moet worden gewacht alvorens verder te gaan.

Tenslotte zetten we de tijdstap van de klok terug naar de normale waarde van 1 seconde. Voeg de functie setClockscale nog een keertje toe, met als argument 1 sec.

Eigenlijk zijn we nu nog niet klaar. We moeten er eigenlijk zeker van zijn dat er op het scherm equatoriale coördinaten worden gebruikt, voordat het script de maan versneld gaat volgen. Anders, als horizontale coördinaten worden gebruikt, zal het scherm zeer snel veranderen over grote hoeken op de momenten dat de maan opkomt of ondergaat. Dit is erg verwarrend, en kan worden vermeden door de weergaveoptie UseAltAz (gebruik AltAz) op "false" (onwaar) in te stellen. Om een weergaveoptie te veranderen, gebruikt u de functie changeViewOption (verander de weergaveoptie). Voeg deze functie toe aan het script, en bestudeer het paneel "Functieargumenten". Er is een comboveld met een lijst van alle weergaveopties die door changeViewOption kunnen worden veranderd. Omdat we weten dat we de UseAltAz-optie moeten hebben, kunnen we die gewoon kiezen in het comboveld. Maar de lijst is erg lang, en er is geen uitleg bij elke regel. Het is daarom wellicht eenvoudiger om op de knop Lijst doorbladeren te drukken, waardoor een venster wordt geopend met een lijst van alle weergaveopties, ingedeeld naar onderwerp. Er is bovendien uitleg bij elke optie, en het gegevenstype van de waarde van elke optie. We vinden "UseAltAz" in de categorie Hemelkaartopties. Kies het en druk op de knop OK, en het zal worden gekozen in het combinatieveld van het paneel "Functieargumenten". Tenslotte maakt u de waarde ervan false of 0.

Nog een stap: het veranderen van "UseAltAz" aan het eind van het script zal ons niet helpen, dit moet gebeuren voor alles wat er gebeurt. Dus kies deze functie in het vak "Huidig script" en druk op de knop Omhoog totdat het de eerste functie in het script is.

Nu dat we met het script klaar zijn, moeten we het nog opslaan op de schijf. Druk op de knop Script opslaan. Hierdoor wordt eerst een venster geopend, waarin u een naam kunt invullen van het script, en uw naam als de auteur. Vul als naam in Volgen van de Maan, en uw naam als auteur, en druk op OK. U zult daarna de standaarddialoog "Bestand opslaan" van &kde; zien. Voer een bestandsnaam in voor het script. Merk op dat de extensie .kstars automatisch wordt toegevoegd als u die vergeet. Als u nieuwsgierig bent, kunt u met elke tekstverwerker het scriptbestand bekijken.

Nu we een script hebben gemaakt, kunnen we het op een aantal manieren laten werken. U kunt het script uitvoeren vanaf de opdrachtregel in een tekstscherm, als er een KStars draait. U kunt ook het script uitvoeren vanuit KStars, met Script uitvoeren in het menu Bestand.