LG_jc.gif (3670 bytes)
 






Atualizada às terças

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)