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

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

&traductor.Antoni.Bella; 

</authorgroup>
</sect1info>

<title
>Funcions &DCOP;</title>

<para
>&DCOP; es pot cridar de diverses maneres en &kommander;. La primera és el mètode de la consola </para>
<para
>dcop kmdr-executor-@pid KommanderIf changeWidgetText meuEstri <quote
>text nou</quote
> </para>
<para
>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 <quote
>kmdr-executor-@pid</quote
> 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;. </para>
<para
>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: </para>
<para
>@dcop(@dcopid, KommanderIf, <quote
>enableWidget(QString, bool)</quote
>, Widget, true) </para>
<para
>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 <application
>bash</application
>) vol dir que haureu d'utilitzar els mètodes de crida des de consola. <emphasis
>Si utilitzeu &DCOP; intern, tots els especials de &kommander; s'executaran primer i després s'executarà l'script.</emphasis
> </para>
<para
>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í. </para>
<para
>@LineEdit1.changeWidgetText(text nou) </para>
<para
>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. <emphasis
>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.</emphasis
> </para>

<sect2 id="dcop-globals">
<title
>&DCOP; per a variables globals</title>
<variablelist>
<varlistentry>
<term
>global(QString nomVariable)</term>
<listitem>
<para
>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'<quote
>àmbit</quote
> 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 <function
>@setGlobal</function
>. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>setGlobal(QString nomVariable, QString valor)</term>
<listitem>
<para
>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). </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="dcop-all">
<title
>&DCOP; per a tots els estris</title>

<variablelist>
<varlistentry>
<term
>changeWidgetText(QString text)</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>enableWidget(bool enable)</term>
<listitem>
<para
>Activa o desactiva un estri. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>associatedText</term>
<listitem>
<para
>Retorna el text associat amb l'estri especificat. Aquest no serà el mateix que el text mostrat. Seria <quote
>@widgetText</quote
> o el text i/o scripts utilitzats per arribar al valor mostrat. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>setAssociatedText(QString text)</term>
<listitem>
<para
>Això estableix la cadena per omissió Text &kommander;. Normalment, aquesta s'estableix a <quote
>@widgetText</quote
> 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. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="dcop-box">
<title
>&DCOP; per als estris ListBox i ComboBox</title>
<variablelist>
<varlistentry>
<term
>addListItem(QString element, sencer index)</term>
<listitem>
<para
>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. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>addListItems(QStringList elements, sencer index)</term>
<listitem>
<para
>Això afegeix una llista de cadenes d'una vegada. La llista haurà d'estar delimitada per <acronym
>EOL</acronym
> (\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. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>addUniqueItem(QString item)</term>
<listitem>
<para
>addUniqueItem afegirà un element al final de la llista si aquest és únic. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>clearList</term>
<listitem>
<para
>Elimina tots els elements. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>removeListItem(sencer index)</term>
<listitem>
<para
>Elimina l'element a l'índex especificat. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>item(sencer index)</term>
<listitem>
<para
>Retorna el text de l'element a l'índex especificat. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>setCurrentListItem(sencer index)</term>
<listitem>
<para
>Estableix l'element actual (o el selecciona) a l'índex especificat. S'aplica als estris ListBox i ComboBox. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="dcop-button">
<title
>&DCOP; per als estris CheckBox i RadioButton</title>
<variablelist>
<varlistentry>
<term
>setChecked(QString nomEstri, bool checked)</term>
<listitem>
<para
>Marca/desmarca els estris CheckBox o RadioButton. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="dcop-tab">
<title
>&DCOP; per als estris TabWidget</title>
<variablelist>
<varlistentry>
<term
>setCurrentTab(QString nomEstri, sencer index)</term>
<listitem>
<para
>Selecciona la pestanya per l'índex als TabWidgets. L'índex comença a 0. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>


</sect1>
