# &DCOP; funktsioonid

Marek
Laane

    bald@smail.ee

Tõlge eesti keelde

# &DCOP; funktsioonid

&kommander; võimaldab &DCOP; väljakutseid esitada mitmel moel. Kõigepealt konsoolilt

dcop kmdr-executor-@pid KommanderIf changeWidgetText minuVidin uus tekst

See eeldab, et oled &kommander;i failis ja sul on ligipääs spetsiaalselt @pid-ile, mis sisaldab protsessi ID-d. Tegelikult on lihtsam asendada kmdr-executor-@pid @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.

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:

@dcop(@dcopid, KommanderIf, enableWidget(QString, tõeväärtus), Vidin, true)

Käsiraamatu kirjutamise ajal tähendas &DCOP; väljakutsete pesastamine skriptikeele struktuuridesse (näiteks bash) seda, et väljakutsed tuli esitada konsoolilt. Kui kasutad sisest &DCOP;-i, käivitatakse esmalt kõik &kommander;i erid ja seejärel skript.

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.

@LineEdit1.changeWidgetText(Uus tekst)

Nagu näed, on uus süntaks väga lihtne ja visuaalselt funktsioonigruppidega kooskõlas. Kõik siintoodud &DCOP; viited kasutavad sellist objektisüntaksit. 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.

## &DCOP; globaalsete muutujatele

global(QString muutujaNimi)

  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 skoop tähendab seda, et muutuja eksisteerib akna iga protsessi jaoks seni, kuni aken suletakse. Neid muutujaid võib igal ajal muuta funktsiooni `@setGlobal` uue väljakutsega.

setGlobal(QString muugujaNimi, QString väärtus)

  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.

## &DCOP; kõigile vidinatele

changeWidgetText(QString tekst)

  See saab endale nimeks setWidgetText ning tunnistatakse edaspidi ilmselt iganenuks. Igatahes eemaldab see vidinas näidatava teksti ja asendab selle antava tekstiga.

enableWidget(tõeväärtus enable)

  Lubab või keelab elemendi.

associatedText

  Tagastab määratud vidinaga seostatud teksti. See ei ole mitte sama, mis näidatav tekst. See võib olla @widgetText või tekst ja/või skript, mida kasutatakse näidatava väärtuseni jõudmiseks.

setAssociatedText(QString tekst)

  See määrab &kommander;i vaiketekstistringi. Tavaliselt määratakse selleks @widgetText, 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.

## &DCOP; loendikasti ja liitkasti vidinale

addListItem(QString element, int index)

  Lisab elemendi loendikasti vidinasse määratud indeksiga. Loendi indeks algab nullist. Loendi lõppu lisamiseks anna -1.

addListItems(QStringList elemendid, int index)

  Lisab korraga terve stringide loendi. Loendis tuleb kasutada eraldajana EOL-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.

addUniqueItem(QString element)

  addUniqueItem lisab elemendi loendi lõppu ainult siis, kui see on unikaalne.

clearList

  Eemaldab kõik elemendid.

removeListItem(int index)

  Eemaldab antud indeksiga elemendi.

item(int index)

  Tagastab antud indeksiga elemendi teksti.

setCurrentListItem(int index)

  Määrab aktiivse (või valitud) elemendi määratud indeksile. Saab kasutada loendikasti ja liitkasti vidina korral.

## &DCOP; märkekasti ja raadionupu vidinale

setChecked(QString elemendiNimi, tõeväärtus checked)

  Märgib või eemaldab märke märkekasti või raadionupu elemendilt.

## &DCOP; kaardividinale

setCurrentTab(QString elemendiNimi, int index)

  Valib kaardi indeksi järgi kaardividinalde. Indeks algab nulliga.