<?xml version="1.0" encoding="UTF-8" ?> <sect1 id="dcop-interface"> <sect1info> <title >Fonctions &DCOP;</title> <authorgroup> <author ><firstname ></firstname > <surname ></surname > <affiliation ><address > <email ></email> </address ></affiliation> </author> &traducteurYohannHamon; </authorgroup> </sect1info> <title >Fonctions &DCOP;</title> <para >Les &DCOP; peuvent être appelés de différentes façon dans &kommander;. Premièrement à l'aide d'un terminal </para> <para >dcop kmdr-executor-@pid KommanderIf changeWidgetText ÉlémentGraphique <quote >Nouveau texte</quote > </para> <para >Ceci implique que vous soyez dans un fichier &kommander; et que vous ayez accès au spécial @pid qui contient le numéro ID du processus. En fait il est plus simple de remplacer <quote >kmdr-executor-@pid</quote > par @dcopid. Cependant, vous pouvez utiliser cette syntaxe (bien évidement sans les spéciaux) depuis la ligne de commande ou tout script externe pour modifier la fenêtre de &kommander;. </para> <para >Parce que &kommander; ne dispose pas d'un parseur complet dans sa phase Alpha, si vous voulez utiliser le &DCOP; interne beaucoup plus rapide depuis la fenêtre d'une autre application (le &DCOP; en mode ligne de commande est très lent) c'est plus compliqué parce que vous devez donner beaucoup d'informations, le prototype de l'appel inclu. L'appel vu précédement deviendrait : </para> <para >@dcop(@dcopid, KommanderIf, <quote >enableWidget(QString, bool)</quote >, Widget, true) </para> <para >Vous devez savoir qu'au moment de l'écriture de ce manuel les appels &DCOP; imbriqués à l'intérieur de langages de script (comme <application >bash</application >) signifient que vous devez utiliser la méthode d'appel par terminal. <emphasis >Si vous utilisez le &DCOP; interne tous les spéciaux &kommander; seront executés en premier et le script ne sera exécuté qu'ensuite.</emphasis > </para> <para >Il y a un nouveau moyen simplifié d'utiliser &DCOP; dans &kommander; en utilisant une syntaxe objet. Disons que vous voulez changer le texte dans un élément graphique de nom @LineEdit1. Cela ressemblerais à ceci. </para> <para >@LineEdit1.changeWidgetText(Nouveau Texte) </para> <para >Comme vous pouvez le voir la nouvelle syntaxe est très simple, et également visuellement consistante avec les groupes de fonctions. Toutes les références &DCOP; utiliserons la nouvelle syntaxe d'objet décrite plus haut. <emphasis >Merci de noter que si vous référencez un élément graphique utilisant &DCOP; depuis une autre fenêtre ou une autre application le premier paramètre sera toujours le nom de l'élément graphique. Toutes les fonctions sont listées ici commencent avec le second paramètre.</emphasis > </para> <sect2 id="dcop-globals"> <title >&DCOP; pour les variables globales</title> <variablelist> <varlistentry> <term >global(QString NomDeLaVariable)</term> <listitem> <para >Retourne la valeur de la variable globale spécifiée. Lorsqu'un script est exécuté depuis l'intérieur de la fenêtre de &kommander; toutes les variables (non globales) créées dans ce script cesseront d'exister à la fin du script et en conséquence ne seront plus disponibles pour d'autres scripts ou dans une nouvelle instance du proccessus appellant. La <quote >portée globale</quote > signifie que la variable existera pour tout processus de la fenêtre jusque ce que la fenêtre soit fermée. Vous pouvez changer ces variables à tout moment à l'aide d'un nouvel appel à <function >@setGlobal</function >. </para> </listitem> </varlistentry> <varlistentry> <term >setGlobal(QString NomDeLaVariable, QString Valeur)</term> <listitem> <para >Créé une variable qui est globale pour la fenêtre et lui assigne la valeur. Cette valeur peut être récupérée à l'aide de global(QString NomDeLaVariable) ou bien modifiée. </para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="dcop-all"> <title >&DCOP; pour tous les éléments graphiques</title> <variablelist> <varlistentry> <term >changeWidgetText(QString texte)</term> <listitem> <para >Ceci sera probablement renommé en setWidgetText et ce nom sera sans doute obsolète. Cela supprime le texte affiché dans l'élément graphique et le remplace par le texte fourni. </para> </listitem> </varlistentry> <varlistentry> <term >enableWidget(bool enable)</term> <listitem> <para >Active ou désactive un élément graphique. </para> </listitem> </varlistentry> <varlistentry> <term >associatedText</term> <listitem> <para >Retourne le texte associé à l'élément graphique spécifié. Ce n'est pas le même chose que le texte affiché. Cela serait <quote >@widgetText</quote > ou le texte et / ou le script utilisé pour obtenir la valeur affichée. </para> </listitem> </varlistentry> <varlistentry> <term >setAssociatedText(QString texte)</term> <listitem> <para >Ceci configure la chaîne de caractère Texte &kommander; par défaut. Elle est généralement configuré à <quote >@widgetText</quote > pour afficher ce qui est saisi dans l'élément graphique. Il est peu probable que vous ayez besoin de ceci, mais si c'est le cas vous l'avez ici. Cela s'applique à tous les éléments graphiques pouvant contenir des données. </para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="dcop-box"> <title >&DCOP; pour les listes de choix et les listes déroulantes</title> <variablelist> <varlistentry> <term >addListItem(QString élément, int index)</term> <listitem> <para >Ajoûte un élément à un élément graphique liste de choix à l'index spécifié. L'index de liste commence à zéro. Pour ajouter à la fin d'une liste utilisez -1. </para> </listitem> </varlistentry> <varlistentry> <term >addListItems(QStringList éléments, int index)</term> <listitem> <para >Ceci ajoute une liste d'éléments d'un seul coup. La liste devrait être délimitée par <acronym >EOL</acronym > (\n - nouvelle ligne). C'est très utile puisque vous pouvez utiliser bash pour produire une liste facilement. </para> </listitem> </varlistentry> <varlistentry> <term >addUniqueItem(QString élément)</term> <listitem> <para >addUniqueItem ajoutera un élément à la fin de la liste uniquement si il n'en fait pas déjà parti. </para> </listitem> </varlistentry> <varlistentry> <term >clearList</term> <listitem> <para >Supprime tous les éléments. </para> </listitem> </varlistentry> <varlistentry> <term >removeListItem(int index)</term> <listitem> <para >Supprime l'élément dont la position est l'index spécifié. </para> </listitem> </varlistentry> <varlistentry> <term >item(int index)</term> <listitem> <para >Retourne le texte de l'élément situé à l'index spécifié. </para> </listitem> </varlistentry> <varlistentry> <term >setCurrentListItem(int index)</term> <listitem> <para >Positionne l'élément courant (ou l'élément sélectionné) à l'index spécifié. S'applique aux listes de choix et aux listes déroulantes. </para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="dcop-button"> <title >&DCOP; pour les éléments graphiques case à cocher et bouton radio</title> <variablelist> <varlistentry> <term >setChecked(QString NomÉléméntGraphique, bool checked)</term> <listitem> <para >Coche / décoche les éléments graphiques case à cocher et bouton radio. </para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="dcop-tab"> <title >&DCOP; pour les éléments graphiques de type Onglet</title> <variablelist> <varlistentry> <term >setCurrentTab(QString NomÉlémentGraphique, int index)</term> <listitem> <para >Sélectionne un onglet à l'aide de son index dans l'élément graphique Onglet. L'index commence à 0. </para> </listitem> </varlistentry> </variablelist> </sect2> </sect1>