<?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>