<?xml version="1.0" encoding="UTF-8" ?> <chapter id="kmdr-basics"> <chapterinfo> <title >Conceptes bàsics de &kommander;</title> <authorgroup> <author ><firstname >Tamara</firstname > <surname >King</surname > <affiliation ><address > <email >tik@acm.org</email> </address ></affiliation> </author> <author ><firstname >Eric</firstname > <surname >Laffoon</surname > <affiliation ><address > <email >sequitur@kde.org</email> </address ></affiliation> </author> &traductor.Antoni.Bella; </authorgroup> </chapterinfo> <title >Conceptes bàsics de &kommander;</title> <!-- This chapter should tell the user how to use your app. You should use as many sections (Chapter, Sect1, Sect3, etc...) as is necessary to fully document your application. --> <sect1 id="concepts"> <title >Conceptes</title> <para >&kommander; va ser originalment dissenyat al voltant d'un concepte simple que ha demostrat ser quelcom revolucionari entre les eines de disseny visual. Normalment, aquestes eines permeten crear diàlegs i possiblement interfícies de finestra principal. Per descomptat, una interfície d'interfície principal és la finestra principal del programa que en general conté menús, barres d'eines, barra d'estat i l'àrea de l'aplicació. Els diàlegs són finestres filles que normalment no contenen menús i es diuen així perquè el seu propòsit és <quote >tenir un diàleg</quote > o intercanvi d'informació entre l'usuari i l'aplicació principal. Els elements d'un diàleg s'anomenen <quote >estris</quote > i serveixen d'enllaç al vostre programa. &kommander; és diferent perquè és inherent al no-programàtic. Això utilitza el concepte d'associar text amb els estris sobre el diàleg. Inicialment això s'anomenava <quote >Text associat</quote >, però ara s'anomena <quote >Text &kommander;</quote >. Els estris als diàlegs de &kommander; poden incloure el contingut d'altres estris per referència i un estri pot fer referència al seu propi contingut d'una forma <quote >Especial</quote > que tindrà aquest aspecte, @widgetText. Els especials són ordres que tenen un significat especial en &kommander;. De manera que si heu creat un diàleg amb dues LineEditestris i el primer s'anomena <quote >PrimerNom</quote > i el segon <quote >Cognom</quote > podreu crear un botó i establir el seu Text &kommander; a <quote >El meu nom és @PrimerNom @Cognom</quote >. Hauríeu d'establir @widgetText en els estris de noms i cognoms. Recordeu? Hem de dir-li a &kommander; que faci referència al text en els mateixos. Podeu executar això des d'una <application >Konsole</application > i la sortida seria la cadena. Per tant, faria referència al primer nom d'aquesta manera: @PrimerNom -> obtenint l'estri anomenat PrimerNom(@PrimerNom) -> @widgetText -> obtenint el contingut de l'estri LineEdit. Per tant, en aquest cas @PrimerNom torna <quote >Enric</quote >: @PrimerNom -> @widgetText -> <quote >Enric</quote >. </para> <para >Així de simple és el cor de &kommander;. El que podeu fer amb això és el veritablement interessant. En primer lloc, cal assenyalar que això no és res en comparació amb l'enfocament normal d'una eina basada en el llenguatge, &kommander; no necessita sentències de programació per a definir aquestes operacions. Això fa que amb &kommander; els desenvolupadors avancin més ràpid. Per als usuaris finals, és molt més senzill que aprendre les construccions d'un llenguatge. Això vol dir que podreu concentrar-vos en la vostra tasca en comptes de tenir el material de referència eternament a mà. Al començament, quan les persones estan exposades a una eina com &kommander; la primera pregunta és <quote >On podria trobar un ús per a aquesta eina tan genial?</quote > Com resulta evident, la manipulació de cadenes s'utilitza gairebé en qualsevol lloc on mireu. </para> <para >Llavors, què pot fer el &kommander;? Aquesta és la llista detallada de les operacions bàsiques. El &kommander; pot: </para> <orderedlist> <listitem ><para >Passar cadenes al programa que crida a través de la sortida estàndard.</para ></listitem> <listitem ><para >Cridar a programes executables.</para ></listitem> <listitem ><para >Utilitzar &DCOP; per interactuar amb programes del &kde;.</para ></listitem> </orderedlist> <para >Si no sou un programador, voldreu saber el següent en termes més simples. En primer lloc, si llanceu &kommander; des d'una consola, la consola serà el programa que crida. Aquí hi ha una relació pare-fill. L'enviament d'un missatge a la consola es fa amb la sortida estàndard (stdout) del programa fill, anomenada així ja que també hi ha una sortida d'error. Això és interessant perquè alguns programes, com &quantaplus;, utilitzen la sortida estàndard per rebre informació dels programes que llancen. De manera que els diàlegs de &kommander; poden donar la seva sortida a les cadenes de text directament en l'editor de &quantaplus; si se'ls crida des de &quantaplus;. Això voldrà dir que els diàlegs de &kommander; poden ser extensions útils pels programes. </para> <para >El segon cas és cridant a un executable. Qualsevol programa que s'executi al vostre sistema és un executable. Fins i tot un programa d'script s'executa amb l'intèrpret tècnicament també s'executa. &kommander; pot executar ordres igual que en la consola encara que s'executin des del menú. Així, per exemple, si voleu que s'obri el &GIMP;, hauríeu de tenir un botó tingués la cadena <quote >gimp</quote > i en una manera especial com: @exec(gimp). Simplement amb això obrireu el &GIMP; quan l'utilitzeu. També podríeu executar <quote >ls -l</quote >, però només veuríeu el resultat si s'executa des d'una consola. </para> <para >El tercer cas és molt interessant. &DCOP; és l'abreviatura per a «<emphasis >D</emphasis >esktop <emphasis >CO</emphasis >mmunication <emphasis >P</emphasis >rotocol» (protocol de comunicació de l'escriptori) del &kde; i és molt poderós. Continuar i executar el programa <application >kdcop</application > i feu-hi una ullada. Aviat us adonareu que gairebé qualsevol aplicació del &kde; s'ha construït amb els estàndards de &DCOP; i les ben dissenyades tenen molt a fer. Amb &DCOP; poden consultar informació de tot tipus, així com establir valors dels estris i més. En aquest manual hi ha una secció sobre l'ús de &DCOP;. &kommander; pot enviar &DCOP; a qualsevol programa del &kde;, així com controlar-lo per &DCOP;. De fet, podeu enviar &DCOP; des de la línia d'ordres a qualsevol programa del &kde;. Llavors, quin és el problema? Doncs, que si voleu crear un elevat nombre d'ordres, us adonareu que la línia d'ordres de &DCOP; està bé per a ordres curtes, però pot causar retards si, per exemple, es criden diversos centenars de vegades des d'un bucle. Aquesta és la raó pel que &kommander; té una especial @dcop, ja que és aproximadament 1000 vegades més ràpida. Com que &kommander; pot enviar i rebre &DCOP;, es pot utilitzar &DCOP; per a scripts de &kommander;. Per això també tenim una especial &DCOP; local, @ldcop, que permet escriure molt menys per emetre una ordre. </para> <para >Són aquests tots els conceptes bàsics de &kommander;? No, però haurien d'ajudar-vos a donar sentit al seu funcionament i per a que no ho interpreteu com un llenguatge estrany. N'hi ha uns quants més. Els senyals i les ranures són els gestors d'esdeveniments de &kommander;. Un esdeveniment en un programa bàsicament significa que <quote >ha succeït quelcom</quote > com que s'ha creat un estri o que s'ha modificar el seu text. Aquests canvis <quote >emeten senyals</quote > i es poden connectar a una ranura receptora que després farà quelcom quan succeeixi l'esdeveniment. Un ús d'això en &kommander; és similar a Text &kommander;, <quote >Text de població</quote >. Text de població omplirà un estri quan es cridi. Igual que Text &kommander;, Text de població pot contenir cadenes de text o scripts. </para> <para >Amb això hauríeu de tenir clars els conceptes bàsics per començar a utilitzar &kommander;. Tractem de mantenir baix el nombre d'especials i utilitzem molt &DCOP;. La idea és que volem mantenir el poder de &kommander; el més coherent i racional possible. Trobareu que podreu incorporar qualsevol llenguatge per a la creació d'scripts en &kommander; allà on el necessiteu, fins i tot múltiples llenguatges per a la creació d'scripts en un diàleg. La resta de la informació en aquest document assumeix que esteu familiaritzat amb els conceptes i termes que aquí es presenten. Els exemples i guies d'aprenentatge també són molt útils per entendre el que es pot fer amb &kommander;. </para> </sect1> &editor; <sect1 id="executor"> <title >L'executor</title> <para >L'executor, anomenat <application >kmdr-executor</application >, executa scripts de &kommander;. Aquest carrega els fitxers <literal role="extension" >.kmdr</literal > i genera dinàmicament un diàleg completament funcional. </para> <sect2 id="executor-for-programmers"> <title >Executor per a programadors</title> <para >Els desenvolupadors en C++ poden utilitzar la classe KmdrDialogInstance en els seus programes en C++, de manera que la funcionalitat d'execució resti incrustada en la seva aplicació, fent obsoleta la necessitat d'executar el programa executor extern. Per a la creació del diàleg estàndard, la sobrecàrrega és mínima, però la creació de l'aplicació &kde; pot endarrerir el diàleg per al voltant d'un segon. </para> </sect2> </sect1> <sect1 id="create-dialog"> <title >Crear un diàleg</title> <para ></para> </sect1> </chapter>