Visual Tcl - Parte 2
Veremos como criar com o Visual Tcl uma aplicação pequena e útil para que tem o
espaço do desktop ocupado com um emaranhado de janelas. Nosso programa
permitirá escrevermos uma linha de comando e clicar no botão "RUN" para ter o
comando executado, sem ser necessário termos um Xterm rodando
(fig.1).
(fig.1)
Inicialmente, colocaremos os nossos "widgets", uma caixa de entrada e um botão
empacotados na horizontal. Fazemos isso primeiramente cirando um
"toplevel" (veja o artigo da semana passada) e selecionando a opção
"pack" (fig.2) na barra principal. Então introduzimos um caixa de entrada, que
corresponde ao símbolo com um "e" minúsculo e uma barra vertical na barra de
ferramentas do Visual Tcl. Com o "pack" escolhido, veremos que a janela
"toplevel" se ajusta ao tamanho do objeto introduzido. Depois, precisamos
fazer com que esse empacotamento seja feito na borda esquerda, pois o
"default" seria de cima para baixo, o que colocaria o botão abaixo da caixa de entrada (o
que não queremos). Para isso, vá na seção de geometria
(fig.3) do editor de atributos e certifique-se que a opção "side" esteja em "left" (o default é
"top"). Caso esta janela de atributos não esteja visível, execute o menu
Window->AtributeEditor na barra principal.
(fig.2)
(fig.3)
Agora, resta-nos um problema. Como clicar no "toplevel" para selecioná-lo, se a
caixa de entrada praticamente preenche todo o espaço disponível? Felizmente,
existe uma outra janela, a "Widget Tree" (fig.4) que representa todos os widgets presentes na nossa interface.
Selecione-a no menu da barra principal Window ->WidgetTree e clique no toplevel para deixá-lo selecionado (como fizemos
na semana passada). Agora sim, podemos introduzir o botão, que deverá se
localizar à direita da caixa de entrada. Mude o seu texto para
"RUN" (ou outro
nome como RODE, por exemplo, se preferir). Aproveite e selecione mais uma vez
o toplevel e mude o seu título para "Executor".
(fig.4)
Agora falta somente a funcionalidade. Selecione o botão e com um duplo-clique
introduza o seguinte comando:
eval exec [.top17.ent18 get]
Observe que o nome ".top17.ent18" é o nome da caixa de entrada colocada
inicialmente. Você poderá ver qual o seu nome selecionando-a e procurando por
"Widget" na janela de atributos. O que este comando faz? Entre colchetes
colocamos o resultado de um outro comando: o que obtem o conteúdo da nossa
caixa de entrada. Depois o comando "exec" fará com que esta cadeia (string)
seja executada no ambiente do nosso sistema operacional (shell). Entretanto,
para que essa execução funcione quando temos vários argumentos separados por
espaços, é necessária a presença do "eval", que força uma nova rodada de
interpretação. Se parecer confuso, ignore essa explicação por enquanto, e use
o comando como uma receita. Futuramente tudo ficará mais claro!
Teste seu "Executor" escrevendo um comando (por exemplo
"ls >
diretorio") e veja depois no tradicional Xterm se o arquivo "diretorio" foi criado. Ponha-o
no seu desktop favorito (kde, gnome, afterstep, fvwm,...). Ele é compatível com
qualquer distribuição Linux e qualquer desktop. Divirta-se com seu novo
brinquedo e até a próxima semana.
Anteriores
O
Visual Tcl (14/09/99)
Programando
para Linux (08/09/1999)
