summaryrefslogtreecommitdiffstats
path: root/tde-i18n-et/docs/kdewebdev/kommander/dcop.docbook
blob: 7ff09e165e8f7caa4f6363576cfbc4ffa3937606 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
<?xml version="1.0"  encoding="UTF-8" ?>

<sect1 id="dcop-interface">
<sect1info>
<title
>&DCOP;-i funktsioonid</title>
</sect1info>

<title
>&DCOP;-i funktsioonid</title>

<para
>&kommander; hakkas esialgu kasutama vidinaid sisemiselt &DCOP;-i vahendusel, mis arenes edasi vidinate funktsioonideks. &DCOP; on endiselt kasutusel ning seda saab tarvitada teabe jagamiseks dialoogide vahel. Samuti saab selle abil laiendada peaaegu kõiki KDE rakendusi. &DCOP; on võimalik &kommander;is välja kutsuda mitmel viisil. Esimene võimalus on konsool. Ava &kommander;i dialoog ja seejärek konsool ning proovi ise. </para>
<note
><para
>Allolev jutt käsitleb peamiselt vana parserit, Kui tunned huvi sisemiste vidinate funktsioonide vastu, tasub tutvust teha <link linkend="new_parserdocs"
>uue parseriga</link
>. See teave käib eriti dialoogide ja rakenduste suhtlemise või teiste skriptikeelte käivitamise kohta Kommanderis skriptidena.</para
></note>
<screen
>dcop | grep kmdr
dcop `dcop | grep kmdr`
dcop `dcop | grep kmdr` KommanderIf
</screen>
<para
>See näitab, millised dialoogid töötavad ja millised liidesed on saadaval, samuti seda, mida saab kasutada väljakutsumiseks &kommander;i spetsiaalses sisemises liideses. &DCOP;-i selgituste juures tasub meeles pidada, et &DCOP;-i kasutavad seesmiselt KDE rakendused (KDE4 ajal asendab selle D-Bus) ja et see on väga kasulik asi. Uuri programmi <command
>kdcop</command
>; vajuta Alt+F2 ja kirjuta programmi nimi käivitusreale. Seal saab näha kõike, mis töötab. Nüüd aga tagasi &DCOP;-i ja &kommander;i juurde. </para>
<screen
>dcop kmdr-executor-@pid KommanderIf setText minuVidin <quote
>uus tekst</quote
>
</screen>
<para
>See eeldab, et oled &kommander;i failis ja sul on ligipääs spetsiaalsele @pid-ile, mis sisaldab protsessi ID-d. Tegelikult on lihtsam asendada <quote
>kmdr-executor-@pid</quote
> @dcopid-ga. Aga igal juhul on võimalik seda süntaksit kasutada (küll ilma erideta) käsurealt või mis tahes välisest skriptist, et muuta &kommander;i akent. </para>
<para
>&kommander; on võtnud kasutusele palju kiirema sisemise &DCOP;-funktsiooni. Selle kasutamine mõne muu rakenduse aknast (konsooli &DCOP; on ikka päris aeglane) tekitab mõningaid raskusi, sest sa pead andma hulganisti infot, sealhulgas väljakutse prototüübi. Eeltoodud käsk võtab siis kuju (pane tähele, et @dcopid on dialoogis tegelikult sisene, aga sa võid selle asendada mis tahes korrektse protsessi ID-ga): </para>
<screen
>@dcop(@dcopid, KommanderIf, <quote
>enableWidget(QString, tõeväärtus)</quote
>, Vidin, true)
</screen>
<para
>Varasemas &kommander;is tähendas &DCOP;-väljakutsete pesastamine skriptikeele struktuuridesse (näiteks <application
>bash</application
>) seda, et väljakutsed tuli esitada konsoolilt. <emphasis
>Kui kasutad sisest &DCOP;-i, käivitatakse esmalt kõik &kommander;i erid ja seejärel skript.</emphasis
> Palun loe eelmist lauset veel kord, sest muidu ei ole nutul ja halal piiri, kui <application
>bash</application
> satub &kommander;i eridega lõpmatusse silmusesse. </para>
<para
>On ka uus ja lihtsam viis kasutada &DCOP;-i &kommander;is endas, mida võimaldab objektsüntaks. Oletame, et soovid muuta teksti vidinas nimega @LineEdit1. See käib järgmiselt. </para>
<screen
>@LineEdit1.setText(Uus tekst)
</screen>
<para
>Nagu näed, on uus süntaks väga lihtne ja visuaalselt funktsioonigruppidega kooskõlas. Kõik siintoodud &DCOP;-i viited kasutavad sellist objektisüntaksit. <emphasis
>Palun arvesta, et kui viitad &DCOP;-i muust aknast või rakendusest kasutades vidinale, peab esimene parameeter olema alati vidina nimi. Kõik siin toodud funktsioonid algavad teise parameetriga.</emphasis
> </para>

<sect2 id="dcop-globals">
<title
>&DCOP; globaalsete muutujatele</title>
<variablelist>
<varlistentry>
<term
>global(QString muutujaNimi)</term>
<listitem>
<para
>Tagastab määratud globaalse muutuja väärtuse. Kui skript käivitatakse &kommander;i aknast, lakkavad kõik skriptiga määratud (mitteglobaalsed) muutujad eksisteerimast pärast skripti töö lõpetamist ega ole seepärast enam kasutatavad muudes skriptides või ka sama väljakutse kordamisel. Globaalne <quote
>skoop</quote
> tähendab seda, et muutuja eksisteerib akna iga protsessi jaoks seni, kuni aken suletakse. Neid muutujaid võib igal ajal muuta funktsiooni <function
>@setGlobal</function
> uue väljakutsega. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>setGlobal(QString muugujaNimi, QString väärtus)</term>
<listitem>
<para
>Loob muutuja, mis on akna protsessile globaalne ja omistab sellele väärtuse, Väärtuse saab hankida global(QString muutujaNimi) abil või ka uuesti määrata. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="dcop-all">
<title
>&DCOP; kõigile vidinatele</title>

<para
>Järgnev nimekiri on vananenud ja siin ära toodud rohkem ajaloo huvides. Kõigi vidinafunktsioonide ajakohastatud täielikku nimekirja pakub <emphasis
>funktsioonibrauser</emphasis
>, mille saab avada suvalisest &kommander;i tekstiredaktori aknast alumisele vasakpoolsele nupule vajutades. Need on nüüd vidinafunktsioonid, mitte enam &DCOP;-funktsioonid, aga &DCOP;-funktsioonid avaldatakse <emphasis
>KommanderIf</emphasis
> &DCOP;-liideses, mida kirjeldati eespool. Selle funktsionaalsuse väljakutsete loomise dialoogid on saadaval meie veebileheküljel. </para>
<variablelist>
<varlistentry>
<term
>setText(QString tekst)</term>
<listitem>
<para
>See eemaldab see vidinas näidatava teksti ja asendab selle antava tekstiga. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>enableWidget(tõeväärtus enable)</term>
<listitem>
<para
>Lubab või keelab elemendi. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>associatedText</term>
<listitem>
<para
>Tagastab määratud vidinaga seostatud teksti. See ei ole sama, mis näidatav tekst. See võib olla <quote
>@widgetText</quote
> või tekst ja/või skript, mida kasutatakse näidatava väärtuseni jõudmiseks. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>setAssociatedText(QString tekst)</term>
<listitem>
<para
>See määrab &kommander;i vaiketekstistringi. Tavaliselt määratakse selleks <quote
>@widgetText</quote
>, et näidata vidinasse sisestatut. Vaevalt sul seda eriti vaja läheb, aga igatahes on see olemas. Saab kasutada kõigi andmeid sisaldavate vidinate korral. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="dcop-box">
<title
>&DCOP; loendikasti ja liitkasti vidinale</title>
<variablelist>
<varlistentry>
<term
>addListItem(QString element, int index)</term>
<listitem>
<para
>Lisab elemendi loendikasti vidinasse määratud indeksiga. Loendi indeks algab nullist. Loendi lõppu lisamiseks anna -1. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>addListItems(QStringList elemendid, int index)</term>
<listitem>
<para
>Lisab korraga terve stringide loendi. Loendis tuleb kasutada eraldajana <acronym
>EOL</acronym
>-i (\n - reavahetused). See on hea juhul, kui soovid Bashi muretult loendi tuletamiseks kasutada. Näiteks elementide korral @exec(ls -l ~/projects | grep kmdr) kasutades saad oma projektikataloogi &kommander;i failide nimekirja. Loendi indeks algab nulliga. Loendi lõppu lisamiseks anna -1. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>addUniqueItem(QString element)</term>
<listitem>
<para
>addUniqueItem lisab elemendi loendi lõppu ainult siis, kui see on unikaalne. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>clearList</term>
<listitem>
<para
>Eemaldab kõik elemendid. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>removeListItem(int index)</term>
<listitem>
<para
>Eemaldab antud indeksiga elemendi. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>item(int index)</term>
<listitem>
<para
>Tagastab antud indeksiga elemendi teksti. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>setCurrentListItem(int index)</term>
<listitem>
<para
>Määrab aktiivse (või valitud) elemendi määratud indeksile. Saab kasutada loendikasti ja liitkasti vidina korral. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="dcop-button">
<title
>&DCOP; märkekasti ja raadionupu vidinale</title>
<variablelist>
<varlistentry>
<term
>setChecked(QString elemendiNimi, tõeväärtus checked)</term>
<listitem>
<para
>Märgib või eemaldab märke märkekasti või raadionupu elemendilt. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="dcop-tab">
<title
>&DCOP; kaardividinale</title>
<variablelist>
<varlistentry>
<term
>setCurrentTab(QString elemendiNimi, int index)</term>
<listitem>
<para
>Valib kaardi indeksi järgi kaardividinalde. Indeks algab nulliga. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>


</sect1>