# Skriptilooja tööriist

KDE rakendusi saab juhtida väljastpoolt mõnest muust rakendusest, konsoolilt või shelliskriptiga niinimetatud protsessidevahelist kommunikatsiooniprotokolli kasutades (DBus). KStars kasutab seda võimalust ära selleks, et võimaldada ka üpris keerukat käitumist kirja panna ning suvalisel ajal käivitada skripti abil. Seda on võimalik näiteks tarvitada koolitundides demona mõne astronoomilise mõiste selgitamisel.

DBus-skriptide hädaks on see, et nende kirjutamine näeb välja nagu korralik programmeerimine ja kui kasutajal ei ole programmeerimisega erilisi kokkupuuteid, võib see lausa eemale peletada. Skriptilooja pakub omalt poolt GUI, mis laseb ka lihtsalt hiirega klõpsates luua KStarsile DBus-skripte, olgu need siis kui tahes keerukad.

## Skriptilooja sissejuhatus

Enne skriptilooja kasutamise selgitamist tutvustan lühidalt kõiki GUI elemente. Kui soovid nende kohta rohkem infot, kasuta võimalust "Mis see on?"

Skriptilooja tööriist
Skriptilooja tööriist

Nagu pildil näha, asub skriptilooja vasakul pool käesoleva skripti kast, kus on näha käsud, millest koosneb parajasti töötav skript. Paremal asub funktsioonivalija, mis näitab kõiki saadaolevaid skriptifunktsioone. Funktsioonivalija all on väike paneel, mis näitab valijas esile tõstetud funktsiooni kohta lühiinfot. Käesoleva skripti kasti all paikneb funktsiooni argumentide paneel, kus juhul, kui mõni funktsioon on ära märgitud käesoleva skripti kastis, on näha kõigi skriptile vajalike argumentide väärtused.

Akna ülaosas on nupurida, mis võimaldab manipuleerida skripti kui tervikuga. Paremalt vasakule on nupud järgmised: Uus skript, Ava skript, Salvesta skript, Salvesta skript kui... ja Testi skripti. Nende mõte peaks olema ilmselge, kui vahest välja jätta viimane nupp. Klõps nupule Testi skripti püüab käivitada käesoleva skripti KStarsi peaaknas. Skriptilooja aken oleks mõttekas enne selle nupu kasutamist kuhugi kõrvale nihutada, et näha, mida skript siis KStarsis ette võtab.

Keset akent on nupurida, mis manipuleerib konkreetsete skriptifunktsioonidega. Ülalt alla on nupud järgmised: Lisa funktsioon, Eemalda funktsioon, Kopeeri funktsioon, Liiguta üles ja Liiguta alla. Lisa funktsioon lisab funktsioonivalijas parajasti esile tõstetud funktsiooni käesoleva skripti kasti (funktsiooni saab lisada ka selle nimel topeltklõpsu tehes). Ülejäänud nupud käivad käesoleva skripti kohta, eemaldades sealt esile tõstetud funktsiooni, kopeerides selle või muutes selle asukoha skriptis.

## Skriptilooja kasutamine

Skriptilooja kasutamise selgitamiseks näitame, kuidas valmistada skript, mis jälgib Kuud, samal ajal kui kell töötab kiirendusega.

Kui tahame Kuud jälgida, tuleb mõistagi kõigepealt vaade talle tsentreerida. Selleks tuleb kasutada funktsiooni lookToward. Märgi see funktsioonivalijas ning tutvu ka kasti alla ilmuva infoga. Klõpsa nupule Lisa funktsioon, et funktsioon liiguks käesoleva skripti kasti. Funktsiooni argumentide paneelil on nüüd näha liitkast märkega suund. See on suund, kuhu vaade tuleks tsentreerida. Liitkastis on ainult põhiilmakaared, mitte Kuu või mingeid muid taevakehasid. Soovi korral võib kirjutada kasti käsitsi Kuu või siis klõpsata nupule Objekt, mis avab objekti leidmise dialoogi, kus saab nimekirjast Kuu valida. Arvesta, et nagu ikka, toob objektile tsentreerimine automaatselt kaasa selle jälgimise, mistõttu ei ole funktsioonile lookToward vaja lisada funktsiooni setTracking.

Nüüd, kui vaade on suunatud Kuule, tuleb panna aeg kiiremini käima. Selleks sobib funktsioon setClockScale. Lisa see käesoleva skripti kasti, tehes funktsiooni nimel funktsioonivalijas topeltklõpsu. Funktsiooni argumentide paneelil on näha ajasammu kerimiskast, kus saab määrata kella vajaliku kiiruse. Määrame ajasammu väärtuseks 3 tundi.

Vaade on nüüd Kuul ja kell kiirendatud. Veel läheb meil vaja, et skript ootaks mõned sekundid, kuni vaade Kuud jälgib. Lisame skriptile funktsiooni waitFor ja määrame funktsiooni argumentide paneelil, et enne jätkamist tuleks oodata 20 sekundit.

Lõpetuseks seame kella ajasammu tagasi normaalväärtusele 1 sekund. Selleks lisa veel kord setClockScale ning määra selle väärtuseks 1 sekund.

Tegelikult ei ole see veel aga kõik. Tõenäoliselt soovime, et vaade kasutaks ekvaatorilisi koordinaate, enne kui skript hakkab kiirendatud ajasammuga Kuud jälgima. Kui kasutada horisondilisi koordinaate, hakkaks vaade hirmsa kiirusega pöörlema vastavalt Kuu tõusudele ja loojumistele. See oleks usutavasti üpris häiriv ning me väldime seda nii, et seame vaatevaliku UseAltAz väärtuseks väär. Mis tahes vaatevaliku muutmiseks tuleb kasutada funktsiooni changeViewOption. Lisame selle skriptile ja uurime nüüd funktsiooni argumentide paneeli. Liitkastis on kirjas kõik vaatevalikud, mida saab changeViewOption abil kasutada. Me teame, et meil läheb vaja võimalust UseAltAz, mistõttu võime selle lihtsalt liitkastist valida. Kuid nimekiri on päris pikk ja mitte miski ei seleta, mida mingi element täpselt teeb. Seepärast on mõttekam vajutada nuppu Lehitse puud, mis avab akna, kus vaatevalikud on teemade järgi puusse koondatud. Peale selle on iga elemendi juures ka lühiseletus ning valiku väärtuse andmetüüp. UseAltAz on kirjas kategooria Taevakaardi valikud all. Märgime seal selle elemendi ning vajutame nuppu OK, mille järel see ongi valitud funktsiooni argumentide paneelil. Lõpuks määrame selle väärtuseks väär või 0.

Ja veel üks asi: kui muuta UseAltAz skripti lõpus, ei ole sellest mingit tolku. See tuleb muuta enne seda, kui midagi üldse juhtuma hakkab. Seepärast märgi funktsioon käesoleva skripti kastis ära ning klõpsa nupule Liiguta üles, kuni sellest on saanud kõige esimene funktsioon.

Skript on valmis ja aeg on see kettale salvestada. Klõpsa nupule Salvesta skript. See avab akna, kus saab anda skriptile nime ning ennast selle autoriks tunnistada. Anna nimeks näiteks Kuu jälgimine ning kirjuta autori kohale enda nimi ja vajuta nupule OK. Seejärel ilmub tavapärane &kde; failisalvestamisdialoog. Siin tuleb määrata faili nimi ja skripti salvestamiseks klõpsata taas nupule OK. Pane tähele, et kui sa ei kirjuta ise failinime lõppu .kstars, lisatakse see laiend automaatselt. Kui huvi tunned, võid hiljem skripti uurida suvalise tekstiredaktoriga.

Nüüd, kus skript on valmis, võib selle käivitada mitmel viisil. Konsoolilt saab selle edukalt käivitada juhul, kui KStars parajasti töötab. Skripti saab käivitada ka KStarsi seest, valides menüüst Fail käsu Käivita skript.