<?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@smail.ee</email ></address > </affiliation ><contrib >Tõlge eesti keelde</contrib ></othercredit > </authorgroup> </sect1info> <title >&DCOP; funktsioonid</title> <para >&kommander; võimaldab &DCOP; väljakutseid esitada mitmel moel. Kõigepealt konsoolilt </para> <para >dcop kmdr-executor-@pid KommanderIf changeWidgetText minuVidin <quote >uus tekst</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 >Et &kommander;il tema praeguses järgus pole veel täielikku parserit, siis juhul, kui soovid kasutada palju kiiremat sisest &DCOP;-i mõne muu rakenduse aknast (konsooli &DCOP; on ikka päris aeglane), tekib mõningaid raskusi, sest sa pead andma hulganisti infot, sealhulgas väljakutse prototüübi. Eeltoodud käsk võtab siis kuju: </para> <para >@dcop(@dcopid, KommanderIf, <quote >enableWidget(QString, tõeväärtus)</quote >, Vidin, true) </para> <para >Käsiraamatu kirjutamise ajal 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 > </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.changeWidgetText(Uus tekst) </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 >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 muudele skriptidele 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õika uuesti määrata. </para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="dcop-all"> <title >&DCOP; kõigile vidinatele</title> <variablelist> <varlistentry> <term >changeWidgetText(QString tekst)</term> <listitem> <para >See saab endale nimeks setWidgetText ning tunnistatakse edaspidi ilmselt iganenuks. Igatahes 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 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>