shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Zenity + Lista de opções e sem botão de Cancel


From: Leslie Watter
Subject: Re: [shell-script] Zenity + Lista de opções e sem botão de Cancel
Date: Wed, 17 Apr 2013 10:34:18 -0300

Aee Júlio,

2013/4/16 Julio C. Neves <address@hidden>

> Fala Leslie,
> vc ficará totalmente espantado quando conecer o YAD. Tem todos os dílogos
> do zenity (com absolutamente a mesma sintaxe) e muitos outros, tendo
> inclusive o form, que gera formulários bastante complexos. Tem tb o
> notebook que te permite criar um formulário com diversas abas.
>
> Tem muito mais coisas. Publiquei um livro chamado Bombando o Shell, no qual
> dediquei quase uma centena de páginas ao yad. Veja só o que falo do uso de
> botões:
>
> =======================================
> *Definindo um botão em uma caixa de diálogo:*
>
> *--button=BOTAO:ID*
>
> *Para** ID **numérico:*
>
> Adiciona o botão BOTAO à caixa. Se este botão for clicado, o diálogo
> produzirá o código de retorno ($?) definido por ID. Há duas maneiras de
> definir estes botões:
>
>    1.
>
>    Simplesmente criando o seu nome e ID. Ex: --button OK:0
>    2.
>
>    Usando botões padrão do GTK+. Ex: --button gtk-ok
>
> Em ambos os casos, o código de retorno será zero e no botão terá
> escritoOK. A
> diferença é que no botão padrão GTK+ a letra O (de OK) virá sublinhada,
> para dizer que a combinação de teclas <ALT>+O equivale ao clique do botão.
> Você também pode reproduzir este efeito colocando um sublinha (_) antes da
> letra que você queira que apareça sublinhada. Por exemplo:
> fazendo-se--button="_Botão:0" criamos
> um botão onde estará escrito *B*otão e seu código de retorno ($?) será
> zero.
>
> A lista completa de botões pode ser encontrada na documentação do GTK. E
> para consultá-la execute o programa /usr/bin/gtk-demo e procure o item
> *"Stock
> Items and Icon Browser"*. Caso não esteja instalado, faça:
>
> $ sudo apt-get install gtk2.0-examples
>
> O nome do botão, é o que se encontra na terceira coluna.
>
> *Para** ID **não numérico:*
>
> Se ID for não numérico, será tratado como um comando e um clique nesse
> botão não encerrará o diálogo, executará a instrução e voltará ao ponto em
> que estava. Se no escopo deste comando aparecer a cadeia %d o YAD irá
> substituí-la pelo seu PID.
>
> *--buttons-layout=TIPO *
>
> Além do que já vimos sobre botões, ainda tem mais essa opção, com a qual
> especificamos a forma (TIPO) de situar os botões na parte inferior do
> diálogo. TIPO pode receber os seguintes valores:
>
> spread Espalha os botões no diálogo, abrangendo o máximo possível da linha,
> isto é, se o diálogo tiver, por exemplo, 2 botões, o espaço que sobrar na
> linha será dividido por 3, ficando uma parte antes do 1º botão, outra entre
> os 2 botões, e a 3ª entre o último botão e a borda direita do formulário;
>
> edge Colocará o 1º e o último bem próximos às bordas do diálogo. Os outros
> serão uniformemente distribuidos;
>
> start Colocará os botões próximos à borda esquerda do diálogo;
>
> end Colocará os botões próximos à borda direita do diálogo. Se nada for
> especificado, este será o valor tomado por padrão (*default*);
>
> center Agrupará os botões no centro do formulário.
> *Uso de botões como campo de um form:*
>
> --field ROTULO[!DICA]:BTN CMD
>
> Onde:
>
> ROTULO é o texto que estará escrito no botão (pode usar um caractere
> sublinha (_) antes de uma letra para que ela apareça sublinhada e você
> possa usar <ALT>+<letra> para substituir o clique do botão);
>
> DICA é um texto opcional que aparecerá quando o ponteiro do *mouse* estiver
> sobre o botão;
>
> CMD Comando que será executado quando o botão for clicado.
>
> Em CMD, o YAD dá tratamento especial a 2 caracteres :
>
> Em campos no formato @CMD N:TEXTO, onde N é um número, o conteúdo de TEXTO
> será
> enviado para o eNésimo campo;
>
> Em CMD que ocorra uma cadeia do tipo %N, onde N é um número, %N será
> substituído pelo valor do eNésimo campo;
> =======================================
>
> Repare que no diálogo abaixo, só troquei zenity por yad e defini somente o
> botão OK. Se não tivesse definido este botão, ele, assim como o zenity,
> teria criado os 2.
> CODIFICACAO=$(yad --list --text \
>     "Qual a Codificação de Caracteres que seu projeto irá usar:" \
>     --button gtk-ok --radiolist --column "Escolha" \
>     --column "Codificação" TRUE "UTF-8" FALSE "ISO-8859-1")
>
> Olhe o que essa linha criou:
> [image: Imagem inline 1]
>
> Tirei as bordas para facilitar a visualização. Esse yad é o cão chupando
> manga.
>


Valeu Julio,

muito obrigado por tudo ;-) Vou dar uma olhada melhor no que posso fazer
com o yad, mas já gostei logo de cara.

Abração

LEslie
-- 
Leslie H. Watter


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]