<?xml version="1.0" encoding="UTF-8" ?> <sect1 id="dcop-interface"> <sect1info> <title >Funções &DCOP;</title> <authorgroup> <author ><firstname ></firstname > <surname ></surname > <affiliation ><address > <email ></email> </address ></affiliation> </author> <othercredit role="translator" ><firstname >Marcus</firstname ><surname >Gama</surname ><affiliation ><address ><email >marcus.gama@gmail.com</email ></address ></affiliation ><contrib >Tradução</contrib ></othercredit > </authorgroup> </sect1info> <title >Funções &DCOP;</title> <para >O &DCOP; pode ser invocado de várias formas no &kommander;. Primeiro, existe o método do console </para> <para >dcop kmdr-executor-@pid KommanderIf changeWidgetText meuElemento <quote >novo texto</quote > </para> <para >Isto assume que você está dentro de um arquivo do &kommander; e que tem acesso ao especial @pid, que contém o ID do processo. De fato, é mais simples substituir o <quote >kmdr-executor-@pid</quote > por @dcopid. Contudo, você poderá usar esta sintaxe (obviamente sem os especiais) a partir da linha de comando ou com algum programa externo para alterar a janela do &kommander;. </para> <para >Uma vez que o &kommander; não tem um processador completo na sua fase 'Alpha', se você quiser usar o &DCOP; interno, que é muito mais rápido, a partir de outra janela do aplicativo (o &DCOP; do console é bastante lento), será mais complicado porque você precisa fornecer muitas informações, incluindo um protótipo da chamada. A chamada acima ficaria igual a: </para> <para >@dcop(@dcopid, KommanderIf, <quote >enableWidget(QString, bool)</quote >, Widget, true) </para> <para >Na época em que isto foi escrito, você deverá saber que o encadeamento de chamadas de &DCOP; dentro de estruturas da linguagem de programação (como o <application >bash</application >) significa que você precisa usar chamadas dos métodos a partir do console. <emphasis >Se usar o &DCOP; interno, todos os especiais do &kommander; serão executados primeiro e depois o programa será então executado.</emphasis > </para> <para >Existe uma nova forma simplificada de usar o &DCOP; dentro do &kommander;, através de uma sintaxe de objetos. Digamos que você deseje alterar o texto num elemento chamado @CampoTexto1. Seria algo semelhante ao seguinte. </para> <para >@CampoTexto1.changeWidgetText(Novo texto) </para> <para >Como poderá ver, a nova sintaxe é muito simples, assim como é consistente visualmente com os grupos de funções. Todas as referências ao &DCOP; irão usar a nova sintaxe de objetos indicada acima. <emphasis >Lembre-se por favor que, se for referenciar um elemento gráfico a partir do &DCOP; noutra janela ou com outro aplicativo, o primeiro parâmetro será sempre o nome do elemento gráfico. Todas as funções são listadas aqui começando pelo segundo parâmetro.</emphasis > </para> <sect2 id="dcop-globals"> <title >O &DCOP; para Variáveis Globais</title> <variablelist> <varlistentry> <term >global(QString nomeVariavel)</term> <listitem> <para >Devolve o valor da variável global indicada. Quando um programa é rodado dentro de uma janela do &kommander;, todas as variáveis (não-globais) definidas neste programa deixarão de existir depois do programa terminar e, como tal, não estarão disponíveis para outros processos de programas ou numa nova instância do processo que invoca. O <quote >âmbito</quote > global significa que a variável irá existir para qualquer processo da janela até que esta seja fechada. Você poderá alterar estas variáveis em qualquer momento com uma chamada nova ao <function >@setGlobal</function >. </para> </listitem> </varlistentry> <varlistentry> <term >setGlobal(QString nomeVariavel, QString valor)</term> <listitem> <para >Cria uma variável que é global para o processo da janela e atribui o valor a ela. Este valor poderá ser obtido com a chamada global(QString nomeVariavel) ou alterado novamente. </para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="dcop-all"> <title >O &DCOP; para Todos os Elementos</title> <variablelist> <varlistentry> <term >changeWidgetText(QString texto)</term> <listitem> <para >Isto deverá ser mudado para 'setWidgetText' e este nome poderá vir a ficar obsoleto. Isto remove o texto apresentado no elemento gráfico e substitui-o pelo texto indicado. </para> </listitem> </varlistentry> <varlistentry> <term >enableWidget(bool ativar)</term> <listitem> <para >Ativa ou desativa um determinado elemento gráfico. </para> </listitem> </varlistentry> <varlistentry> <term >associatedText</term> <listitem> <para >Devolve o texto associado com o elemento gráfico indicado. Isto não é o mesmo que o texto apresentado. Será o <quote >@widgetText</quote > ou o texto e/ou programa usado para chegar ao valor apresentado. </para> </listitem> </varlistentry> <varlistentry> <term >setAssociatedText(QString texto)</term> <listitem> <para >Isto configura o texto padrão do Texto do &kommander;. Isto é tipicamente igual a <quote >@widgetText</quote > para mostrar o que é inserido no elemento gráfico. É pouco provável que tenha muita necessidade disto, mas se o fizer, será aqui. Aplica-se a todos os elementos que possam conter dados. </para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="dcop-box"> <title >O &DCOP; para os Elementos ListBox e ComboBox</title> <variablelist> <varlistentry> <term >addListItem(QString item, int indice)</term> <listitem> <para >Adiciona um item a um elemento ListBox no índice indicado. O índice da lista começa em zero. Para adicionar ao fim da lista, use -1. </para> </listitem> </varlistentry> <varlistentry> <term >addListItems(QStringList itens, int indice)</term> <listitem> <para >Isto adiciona uma lista de cadeias de caracteres de uma só vez. A lista deverá delimitada por caracteres <acronym >EOL</acronym > (\n - mudança de linha). Isto é útil, uma vez que poderá usar o 'bash' para derivar a lista de forma relativamente simples. Por exemplo, se usar @exec(ls -l ~/projetos | grep kmdr) para os itens, irá ter uma listagem dos arquivos do &kommander; na sua pasta de projetos. O índice da lista começa em zero. Use o -1 para adicionar ao fim da lista. </para> </listitem> </varlistentry> <varlistentry> <term >addUniqueItem(QString item)</term> <listitem> <para >O 'addUniqueItem' irá adicionar um item ao fim da lista, somente se for único. </para> </listitem> </varlistentry> <varlistentry> <term >clearList</term> <listitem> <para >Remove todos os itens. </para> </listitem> </varlistentry> <varlistentry> <term >removeListItem(int indice)</term> <listitem> <para >Remove o item no índice indicado. </para> </listitem> </varlistentry> <varlistentry> <term >item(int indice)</term> <listitem> <para >Devolve o texto do item no índice indicado. </para> </listitem> </varlistentry> <varlistentry> <term >setCurrentListItem(int indice)</term> <listitem> <para >Configura o item atual (ou selecionado) com o índice indicado. Aplica-se aos elementos ListBox e ComboBox. </para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="dcop-button"> <title >O &DCOP; para os Elementos CheckBox e RadioButton</title> <variablelist> <varlistentry> <term >setChecked(QString nomeElemento, bool assinalado)</term> <listitem> <para >Liga/desliga os elementos CheckBox ou RadioButton. </para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="dcop-tab"> <title >O &DCOP; para os Elementos TabWidget</title> <variablelist> <varlistentry> <term >setCurrentTab(QString nomeElemento, int indice)</term> <listitem> <para >Seleciona a página pelo índice nos TabWidgets. O índice começa em 0 (zero). </para> </listitem> </varlistentry> </variablelist> </sect2> </sect1>