<?xml version="1.0"  encoding="UTF-8" ?>

<sect1 id="dcop-interface">
<sect1info>
<title
>&DCOP; funktsioonid</title>
<authorgroup>
<author
><firstname
></firstname
> <surname
></surname
> <affiliation
><address
> <email
></email>
</address
></affiliation>
</author>

<othercredit role="translator"
><firstname
>Marek</firstname
> <surname
>Laane</surname
> <affiliation
><address
><email
>bald@online.ee</email
></address
> </affiliation
><contrib
>Tõlge eesti keelde</contrib
></othercredit
> 

</authorgroup>
</sect1info>

<title
>&DCOP; funktsioonid</title>

<para
>&kommander; began accessing it's widgets internally with &DCOP;, which evolved to widget functions. &DCOP; is still available and can be used to share information between dialogs. It can also be used to extend and integrate nearly every existing KDE application. &DCOP; can be called in several ways in &kommander;. First is the console method. Open a &kommander; dialog and open a console and try this. </para>
<screen
>dcop | grep kmdr
dcop `dcop | grep kmdr`
dcop `dcop | grep kmdr` KommanderIf
</screen>
<para
>This will show you what dialogs are running and what interfaces are available, as well as what is available to call in the &kommander; special interface to internals. In the explanation of &DCOP; here remember that &DCOP; is used internally by KDE applications (replaced with DBUS in KDE4) and it is very useful. Have a look at <command
>kdcop</command
> by pressing Alt-F2 and typing it in a run dialog. Here you can explore everything running. Now back to &DCOP; in &kommander;. </para>
<para
>dcop kmdr-executor-@pid KommanderIf setText myWidget <quote
>new text</quote
> </para>
<para
>See eeldab, et oled &kommander;i failis ja sul on ligipääs spetsiaalselt @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; evolved the much faster internal &DCOP; function. Using it from another application window (console &DCOP; is very slow) is more complicated because you must give lots of information, including a prototype of the call. The above call would become: (Note that @dcopid is actually internal to the dialog, but you could replace it with a valid process ID) </para>
<para
>@dcop(@dcopid, KommanderIf, <quote
>enableWidget(QString, tõeväärtus)</quote
>, Vidin, true) </para>
<para
>In the early &kommander; nesting &DCOP; calls inside script language structures (like <application
>bash</application
>) used console method calls. <emphasis
>If you use internal &DCOP; all &kommander; specials will be executed first and then the script will be executed.</emphasis
> Please read that again as it will cause you no end of grief with a <application
>bash</application
> loop using &kommander; specials. </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>
<para
>@LineEdit1.setText(New text) </para>
<para
>Nagu näed, on uus süntaks väga lihtne ja visuaalselt funktsioonigruppidega kooskõlas. Kõik siintoodud &DCOP; 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
>Returns the value of the specified global variable. When a script is run from within a &kommander; window any (non-global) variables set in that script will cease to exist after the script completes and therfore will not be available to other script processes or in a new instance of the calling process. The global <quote
>scope</quote
> means the variable will exist for any process of the window until that window is closed. You may change these variables at any time with a new call to <function
>@setGlobal</function
>. </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õika uuesti määrata. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

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

<para
>The following list is old and left here for reference purposes only. For a complete and current reference to all widget functions please look at the <emphasis
>Function Browser</emphasis
> which is available from any &kommander; text editor window by pressing the lower left button. These are now widget functions, not &DCOP; functions but the &DCOP; functions are published in the <emphasis
>KommanderIf</emphasis
> &DCOP; interface as described above. Dialogs for listing and constructing calls for this functionality are available at our web site. </para>
<variablelist>
<varlistentry>
<term
>setText(QString text)</term>
<listitem>
<para
>This removes the text displayed in the widget and replaces it with the text supplied. </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 mitte 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>
