~ubuntu-branches/ubuntu/lucid/kde-l10n-et/lucid

« back to all changes in this revision

Viewing changes to docs/kdeedu/kstars/dcop.docbook

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Riddell
  • Date: 2008-07-25 14:39:15 UTC
  • mfrom: (1.1.7 upstream)
  • Revision ID: james.westby@ubuntu.com-20080725143915-4tvoet9zclx0m3w6
Tags: 4:4.1.0-0ubuntu1
* New upstream release
* Bump Standards-Version to 3.8.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<chapter id="dcop">
2
 
<title
3
 
>Skriptid ja KStars: DCOP liides</title>
4
 
<para
5
 
>&kstars;i üks eesmärke on pakkuda võimalust kasutada ka kõige keerulisemaid võimalusi skripti vahendusel. See lubab luua <quote
6
 
>virtuaalretki</quote
7
 
> taevakaardil ning aitab õpetajatel koolitöös illustreerida mõningaid astronoomilisi põhimõtteid ning üldse juttu ja teksti köitvamaks muuta. Juba praegu on võimalik &kstars;is selliseid skripte kasutada, kuigi veel ei saa pruukida kõiki funktsioone, mida me tahaksime pakkuda. Meil on küll graafiline skriptide loomise abivahend, kuid siiski tuleb skriptid ise veel käsitsi kirjutada. Käesolev peatükk selgitabki, kuidas &kstars;i skripte kirja panna. </para>
8
 
<para
9
 
>&kde; arhitektuur pakub skripte tarvitavatele rakendustele vajaliku raamistiku <abbrev
10
 
>DCOP</abbrev
11
 
> liidese näol. <abbrev
12
 
>DCOP</abbrev
13
 
> tähendab <quote
14
 
>töölaua kommunikatsiooniprotokolli</quote
15
 
> (inglise keeles Desktop COmmunication Protocol) ning just <abbrev
16
 
>DCOP</abbrev
17
 
> võimaldabki &kde; rakendusi juhtida teistest rakendustest, käsurealt või tekstiskripti abil. </para>
18
 
 
19
 
<sect1 id="dcop-interface">
20
 
<title
21
 
>DCOP funktsioonid</title>
22
 
<para
23
 
>&kstars;i <abbrev
24
 
>DCOP</abbrev
25
 
> kiides kasutab järgmisi funktsioone: <itemizedlist>
26
 
<listitem
27
 
><para
28
 
><function
29
 
> lookTowards( const QString suund )</function
30
 
>: tsentreerib vaate argumendiga määratud punkti. Selleks võib olla suvalise taevakeha nimi või mõni järgmistest sõnadest või lühenditest: zenith (või z) seniidi tähistusena, north (n) põhjakaare, northeast (ne) kirde, east (e) ida, southeast (se) kagu, south (s), southwest (sw) edela, west (w) lääne ja northwest (nw) loode tähistusena. </para
31
 
></listitem>
32
 
 
33
 
<listitem
34
 
><para
35
 
><function
36
 
> setRaDec( double OT, double kääne )</function
37
 
>: tsentreerib vaate määratud ekvaatorilistele koordinaatidele. </para
38
 
></listitem>
39
 
 
40
 
<listitem
41
 
><para
42
 
><function
43
 
> setAltAz(double h, double a)</function
44
 
>: tsentreerib vaate määratud horisondiliste koordinaatidele. </para
45
 
></listitem>
46
 
 
47
 
<listitem
48
 
><para
49
 
><function
50
 
> zoomIn()</function
51
 
>: suurendab vaate suurendust. </para
52
 
></listitem>
53
 
 
54
 
<listitem
55
 
><para
56
 
><function
57
 
> zoomOut()</function
58
 
>: vähendab vaate suurendust. </para
59
 
></listitem>
60
 
 
61
 
<listitem
62
 
><para
63
 
><function
64
 
> defaultZoom()</function
65
 
>: taastab vaikesuurenduse = 3. </para
66
 
></listitem>
67
 
 
68
 
<listitem
69
 
><para
70
 
><function
71
 
> setLocalTime(int aasta, int kuu, int päev, int tund, int min, int sek)</function
72
 
>: seab simulatsioonikella määratud kuupäevale ja ajale. </para
73
 
></listitem>
74
 
 
75
 
<listitem
76
 
><para
77
 
><function
78
 
> waitFor( double t )</function
79
 
>: paus t sekundit enne järgneva skriptikäsu rakendamist. </para
80
 
></listitem>
81
 
 
82
 
<listitem
83
 
><para
84
 
><function
85
 
> waitForKey( const QString klahv )</function
86
 
>: skripti rakendamine peatatakse, kuni kasutaja vajutab määratud klahvi. Praegu ei saa määrata klahvikombinatsioone (näiteks <keycombo action="simul"
87
 
>&Ctrl;<keycap
88
 
>C</keycap
89
 
></keycombo
90
 
>), vaid ainult üksikklahve. Tühikuklahvi jaoks tuleb kirjutada <quote
91
 
>space</quote
92
 
>. </para
93
 
></listitem>
94
 
 
95
 
<listitem
96
 
><para
97
 
><function
98
 
> setTracking( bool track )</function
99
 
>: jälgimisrežiimi näitamise lülitamine. </para
100
 
></listitem>
101
 
 
102
 
<listitem
103
 
><para
104
 
><function
105
 
> changeViewOption( const QString võimalus, const QString väärtus )</function
106
 
>: vaatevõimaluse määramine. Kasutada saab kümneid võimalusi, sisuliselt kõike, mida saab seadistada &kstars;i <guilabel
107
 
>vaateseadistuste aknas</guilabel
108
 
>. Esimene argument ongi võimalus (vastav nimi võetakse seadistustefailist <filename
109
 
>kstarsrc</filename
110
 
>), teine soovitud väärtus. Argumentide parser on püütud teha võimalikult <quote
111
 
>lollikindel</quote
112
 
>, nii et kui kirjutad midagi kogemata valesti, siis see lihtsalt ei rakendu. </para
113
 
></listitem>
114
 
 
115
 
<listitem
116
 
><para
117
 
><function
118
 
> setGeoLocation( const QString linn, const QString provints/maakond, const QString riik )</function
119
 
>: võimalus määrata vaatluskohaks mingi konkreetne linn. Kui argumendis määratud linna andmebaasist ei leita, ei tee see käsk midagi. </para
120
 
></listitem>
121
 
 
122
 
<listitem
123
 
><para
124
 
><function
125
 
> stop()</function
126
 
> [clock]: seiskab simulatsioonikella. </para
127
 
></listitem>
128
 
 
129
 
<listitem
130
 
><para
131
 
><function
132
 
> start()</function
133
 
> [clock]: käivitab simulatsioonikella. </para
134
 
></listitem>
135
 
 
136
 
<listitem
137
 
><para
138
 
><function
139
 
> setScale(float s)</function
140
 
> [clock]: määrab simulatsioonikella ajasammu. s=1.0 vastab reaalajale, 2.0 on kaks korda kiirem reaalajast jne. </para
141
 
></listitem>
142
 
</itemizedlist>
143
 
</para>
144
 
</sect1>
145
 
 
146
 
<sect1 id="dcop-test">
147
 
<title
148
 
>DCOP funktsioonide testimine</title>
149
 
<para
150
 
>DCOP funktsioone saab hõlpsast testida rakenduse <application
151
 
>kdcop</application
152
 
> abil. Kui <application
153
 
>kdcop</application
154
 
> käivitada, näeb puukujulises nimekirjas kõiki töötavaid rakendusi ja kui &kstars; peaks töötama, on ta samuti seal kirjas. Enamik <abbrev
155
 
>DCOP</abbrev
156
 
> funktsioone on kirjas <quote
157
 
>KStarsInterface</quote
158
 
> päises, kuid kellafunktsioonid on ära toodud <quote
159
 
>clock</quote
160
 
> all. Suvalise funktsiooni käivitamiseks tee sellel topeltklõps. Kui funktsioon eeldab argumente, ilmub aken, kuhu need saab sisestada. </para>
161
 
</sect1>
162
 
 
163
 
<sect1 id="dcop-script">
164
 
<title
165
 
>DCOP skripti kirjutamine</title>
166
 
<para
167
 
><abbrev
168
 
>DCOP</abbrev
169
 
> funktsioone saab välja kutsuda ka UNIX-i käsurealt ning neid on võimalik skripti kaasata. Me näitame siin üht näidisskripti, mis lülitab sisse ekvaatorilised koordinaadid, tsentreerib vaate Kuule, suurendab veidi ning paneb kella käima kiirusega üks tund sekundis. Seda skripti saab kasutada mallina meelepäraste skriptide loomisel. Kõigepealt siis skript ning seejärel seletus. </para>
170
 
<para>
171
 
<programlisting
172
 
>#!/bin/bash
173
 
#KStars script: Jälgi Kuud!
174
 
#
175
 
KSTARS=`dcopfind -a 'kstars*'`
176
 
MAIN=KStarsInterface
177
 
CLOCK=clock#1
178
 
dcop $KSTARS $MAIN  changeViewOption UseAltAz false
179
 
dcop $KSTARS $MAIN  lookTowards Moon
180
 
dcop $KSTARS $MAIN  defaultZoom
181
 
dcop $KSTARS $MAIN  zoomIn
182
 
dcop $KSTARS $MAIN  zoomIn
183
 
dcop $KSTARS $MAIN  zoomIn
184
 
dcop $KSTARS $MAIN  zoomIn
185
 
dcop $KSTARS $MAIN  zoomIn
186
 
dcop $KSTARS $CLOCK setScale 3600.
187
 
dcop $KSTARS $CLOCK start
188
 
dcop $KSTARS $MAIN  waitFor  20.
189
 
dcop $KSTARS $CLOCK stop
190
 
dcop $KSTARS $MAIN  defaultZoom
191
 
##
192
 
</programlisting>
193
 
</para>
194
 
<para
195
 
>Salvesta skript failina. Nimi võib olla milline tahes, mina soovitaksin anda nimeks midagi kirjeldavat, näiteks <filename
196
 
>kuuvaatlus.kstars</filename
197
 
>. Skripti muutmiseks käivitatavaks anna järgmine käsk: <userinput
198
 
><command
199
 
>chmod</command
200
 
> <option
201
 
>a+x</option
202
 
> <parameter
203
 
>kuuvaatlus.kstars</parameter
204
 
> </userinput
205
 
>. Nüüd saab skripti käivitada käsuga <userinput
206
 
><command
207
 
>./kuuvaatlus.kstars</command
208
 
></userinput
209
 
> kataloogis, kus skript asub. Arvesta, et skript toimib ainult siis, kui KStars eelnevalt töötab. Uue &kstars;i akna avamiseks võib skriptis kasutada käsku <command
210
 
>dcopstart</command
211
 
>. </para>
212
 
<para
213
 
>Nüüd siis selgitused skripti juurde. Ülemine rida tuvastab faili <command
214
 
>BASH</command
215
 
>i shelliskriptina. Järgmised kaks rida on <firstterm
216
 
>kommentaarid</firstterm
217
 
> (kommentaarid on kõik read, mille alguses seisab <quote
218
 
>#</quote
219
 
>, ning shell jätab need arvesse võtmata). Järgmised kolm rida määravad mõningad muutujad, mida hiljem kasutatakse. Muutuja <varname
220
 
>KSTARS</varname
221
 
> tuvastab töötava &kstars;i protsessi, kasutades selleks käsku <command
222
 
>dcopfind</command
223
 
>. Muutujad <varname
224
 
>MAIN</varname
225
 
> ja<varname
226
 
>CLOCK</varname
227
 
> tuvastavad kaks &kstars;iga seotud <abbrev
228
 
>DCOP</abbrev
229
 
> liidest. </para>
230
 
<para
231
 
>Ülejäänud osa skriptist kujutabki endast tegelike <abbrev
232
 
>DCOP</abbrev
233
 
> väljakutsete loetelu. Esimene rida määrab ekvaatoriliste koordinaatide kasutamise, määrates võimaluse <quote
234
 
>UseAltAz</quote
235
 
> (ehk siis kõrguse ja asimuudi kasutamise) väärtuseks <quote
236
 
>false</quote
237
 
> ehk <quote
238
 
>väär</quote
239
 
> (kõiki võimalusi, mida kasutab <quote
240
 
>changeViewOptions</quote
241
 
> ehk vaateseadistuste dialoog, näeb seadistustefailis <filename
242
 
>kstarsrc</filename
243
 
>). Järgmine käsk tsentreerib vaate Kuule ja lülitab sisse selle jälgimise. Seejärel kehtestatakse vaikesuurendus ja suurendatakse seda viis korda. Siis määratakse kell käima kiirusega üks tund sekundis (3600 sekundit on ju üks tund) ning kell käivitatakse. Järgmine rida peatab skripti 20 sekundiks, mille kestel saab jälgida üle taevalaotuse kulgevat Kuud. Lõpuks peatatakse kell ning taastatakse vaikesuurendus. </para>
244
 
<para
245
 
>Me loodame, et KStarsi skriptivõimalused pakuvad sulle suurt naudingut ja lubavad luua huvitavaid lahendusi. Kui oled loonud mõne huvipakkuva skripti, võid sellest teada anda ka meiliaadressil <email
246
 
>kstars@30doradus.org</email
247
 
>, sest meile meeldiks teada saada, mida teevad meie kasutajad, ja võimaluse korral ka skripte oma veebileheküljel avaldada. Kui sul aga on mingeid mõtteid, kuidas skriptidesse (või üldse mis tahes &kstars;i töö osasse) puutuvat parandada, anna sellest teada aadressil <email
248
 
>kstars-devel@lists.sourceforge.net</email
249
 
> või esita oma soov Bugzilla vahendusel. </para>
250
 
</sect1>
251
 
</chapter>
252