# Funcions &DCOP;

&DCOP; es pot cridar de diverses maneres en &kommander;. La primera és el mètode de la consola

dcop kmdr-executor-@pid KommanderIf changeWidgetText meuEstri text nou

Això assumeix que esteu dins d'un fitxer de &kommander; i que teniu accés al @pid especial que conté l'identificador de procés. De fet, és més fàcil de substituir kmdr-executor-@pid amb @dcopid. No obstant, podeu utilitzar aquesta sintaxi (òbviament sense els especials) des de la línia d'ordres o qualsevol script extern per alterar la finestra de &kommander;.

Com que &kommander; no disposa d'un analitzador complet en la seva fase alfa, si voleu utilitzar el &DCOP; intern molt més ràpid des d'una altra finestra d'aplicació (la consola &DCOP; és molt lenta) és més complicat perquè cal donar un munt d'informació, incloent un prototip de la crida. La crida es convertiria en:

@dcop(@dcopid, KommanderIf, enableWidget(QString, bool), Widget, true)

En el moment d'escriure aquestes línies haurem de tenir en compte que fer niu amb les crides &DCOP; dins de les estructures del llenguatge d'script (com a bash) vol dir que haureu d'utilitzar els mètodes de crida des de consola. Si utilitzeu &DCOP; intern, tots els especials de &kommander; s'executaran primer i després s'executarà l'script.

Hi ha una nova manera simplificada per utilitzar &DCOP; dins de &kommander; utilitzant una sintaxi d'objecte. Diguem que voleu canviar el text d'un estri anomenat @LineEdit1. Es veuria així.

@LineEdit1.changeWidgetText(text nou)

Com podeu veure la nova sintaxi és molt fàcil, així com visualment compatible amb els grups de funcions. Totes les referències &DCOP; en aquest document utilitzen la nova sintaxi d'objectes mostrada anteriorment. Tingueu en compte que si es fa referència a un estri utilitzant &DCOP; des d'una altra finestra o des d'una altra aplicació, el primer paràmetre sempre serà el nom de l'estri. Totes les funcions llistades aquí comencen amb el segon paràmetre.

## &DCOP; per a variables globals

global(QString nomVariable)

- Retorna el valor de la variable global especificada. Quan s'executa un script des d'una finestra de &kommander;, qualsevol variable (no global) establerta en aquest script deixarà d'existir després de finalitzar la seva execució i no estarà disponible per als altres processos d'script o en una nova instància del procés de crida. L'àmbit global significa que la variable existirà per a qualsevol procés de la finestra fins que es tanqui dita finestra. Podeu canviar aquestes variables en qualsevol moment amb una nova cridada a `@setGlobal`.

setGlobal(QString nomVariable, QString valor)

- Crea una variable global per al procés de la finestra i li assigna un valor. Aquest valor es pot recuperar o tornar a establir amb global(QString nomVariable).

## &DCOP; per a tots els estris

changeWidgetText(QString text)

- Això hauria de canviar el nom al de setWidgetText i aquest nom probablement quedarà obsolet. Això elimina el text mostrat a l'estri i el substituirà pel text subministrat.

enableWidget(bool enable)

- Activa o desactiva un estri.

associatedText

- Retorna el text associat amb l'estri especificat. Aquest no serà el mateix que el text mostrat. Seria @widgetText o el text i/o scripts utilitzats per arribar al valor mostrat.

setAssociatedText(QString text)

- Això estableix la cadena per omissió Text &kommander;. Normalment, aquesta s'estableix a @widgetText per mostrar el que s'introdueix a l'estri. És poc probable que ho necessiteu, però aquí el teniu. S'aplica a tots els estris que poden continguin dades.

## &DCOP; per als estris ListBox i ComboBox

addListItem(QString element, sencer index)

- Afegeix un element a un estri ListBox a l'índex especificat («index»). L'índex de la llista comença a zero. Per afegir-lo al final de la llista utilitzeu -1.

addListItems(QStringList elements, sencer index)

- Això afegeix una llista de cadenes d'una vegada. La llista haurà d'estar delimitada per EOL (\n - salts de línia). Això és tant útil que podeu utilitzar bash per obtenir la llista amb força facilitat. Per exemple, utilitzant @exec(ls -l ~/projectes | grep kmdr) per a que els elements que proporcioni donin una llista d'un directori de fitxers de &kommander; a la vostra carpeta projectes. L'index de la llista comença a zero. Utilitzeu -1 per afegir-lo al final de la llista.

addUniqueItem(QString item)

- addUniqueItem afegirà un element al final de la llista si aquest és únic.

clearList

- Elimina tots els elements.

removeListItem(sencer index)

- Elimina l'element a l'índex especificat.

item(sencer index)

- Retorna el text de l'element a l'índex especificat.

setCurrentListItem(sencer index)

- Estableix l'element actual (o el selecciona) a l'índex especificat. S'aplica als estris ListBox i ComboBox.

## &DCOP; per als estris CheckBox i RadioButton

setChecked(QString nomEstri, bool checked)

- Marca/desmarca els estris CheckBox o RadioButton.

## &DCOP; per als estris TabWidget

setCurrentTab(QString nomEstri, sencer index)

- Selecciona la pestanya per l'índex als TabWidgets. L'índex comença a 0.