1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
|
<?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
>[email protected]</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>
|