Desenvolvendo uma aplicação com acesso a Bancos de Dados utilizando Mono e PostgreSQL (parte 2)

Tiago Paranhos Lima

Desenvolvendo a interface com Glade

No artigo anterior criamos nossa primeira aplicação utilizando Mono, em modo console. Vamos agora avançar um pouco mais, construindo passo a passo um protótipo de uma aplicação que pode ser utilizada como modelo para desenvolvimento.

1 - O que é o Glade?

2 - Onde posso obter o Glade?

3 - O que o Glade pode fazer?

4 - Como o Glade funciona?

5 - Desenvolvendo uma interface Glade

1 - O que é o Glade?

O Glade é um programa que lhe permite desenhar rapidamente interfaces de usuário gráficas para aplicações GTK+ e Gnome, que já existia antes mesmo do surgimento da plataforma Mono. Como o Mono pode ser utilizado para desenvolver aplicações GTK# gráficas multiplataforma, o Glade torna-se uma ferramenta interessante para a construção desse tipo de aplicativos, despontando, com o auxílio do ambiente de desenvolvimento MonoDevelop, como uma forte alternativa livre ao Visual Studio .NET.

2 - Onde posso obter o Glade?

Na plataforma GNU/Linux, você pode obter o Glade diretamente a partir dos CDs de instalação de sua distribuição. Procure os pacotes "glade" e "libglade". Já se você estiver em ambiente Windows, pode obtê-lo a partir de http://gladewin32.sourceforge.net/modules.php?name=Downloads&d_op=viewdownload&cid=1.

3 - O que o Glade pode e não pode fazer?

O que o Glade pode fazer:

* Desenvolver a interface e associar código à ela; * Criar chamadas vazias e manipuladores de sinais para ligar a interface com o código da aplicação;

O que o Glade não pode fazer:

* O Glade não pode ajudá-lo em todo o processo de codificação de sua aplicação, pois não incluir um compilador, editor ou debugger. Ele pode ser utilizado em conjunto com essas ferramentas.

4 - Como o Glade funciona?

O desenvolvimento com o Glade consiste de 2 etapas:

* Criar a GUI com o libglade; * Carregar arquivos .glade (que nada mais é do que um arquivo xml) com a libglade e criar a GUI em tempo de execução.

5 - Desenvolvendo uma interface Glade

No artigo anterior fizemos acesso a uma tabela simples através do console. Vamos agora criar um formulário para nos exibir os dados da mesma tabela que acessamos no artigo anterior.

Para isso, inicie o Glade. Uma tela similar à da figura a seguir será mostrada.

Figura 1 - Tela principal do Glade

Esta é a tela principal do Glade. Vamos então criar o nosso primeiro formulário Glade. Para isso, clique no botão "Novo".

Na tela que lhe solicita o tipo de projeto, escolha "Novo projeto GNOME".

Clique então no primeiro botão da paleta GTK+ Básico, chamado "Janela" () no fedore core 2.

Veremos então 1 janela vazia, pronta para ser preenchida com widgets:

Em "Título", digite "Teste gráfico PostgreSQL Mono". Acrescente então o widget "Caixa Vertical? (). Na caixa de diálogo, digite "2" para o número de linhas. Você perceberá então que o formulário horizontalmente se dividiu em 2.

Clique então na primeira metade do formulário e acrescente então o widget "Caixa Horizontal" (). Em número de colunas, digite "3". O formulário terá então a seguinte aparência:

Acrescente mais 3 widgets "Botão" (). Acrescente o widget "Visão de Lista ou árvore" ().

Antes de prosseguir, para facilitar a seleção dos widgets para que possamos alterar suas propriedades, vamos habilitar a árvore de widgets. Para isso, vamos clicar no menu "Ver", "Mostrar Árvore de Widgets".

A configuração final de sua tela deverá ser a seguinte:

Vamos agora fazer os ajustes finais em nossa interface. Podemos ver que os botões estão com uma aparência bastante desproporcional, mas isso tem um motivo. A biblioteca gráfica GTK posiciona os ícones em seu formulário de forma que, quando se muda a resolução da mesma, por exemplo, os widgets que fazem parte dos formulários são redimensionados de forma a manter a proporção. Isso evita o problema que temos ao desenvolver aplicativos para Windows, onde os componentes gráficos são posicionados em coordenadas X,Y, o que muitas vezes nos força a desenvolver aplicativos na resolução 800x600 a fim de seus componentes mantenham seus posicionamento ao serem redimensionados.

Selecione então, na árvore de widgets, o componente ?hbox1?. Selecione então, no formulário "Propriedades", a guia "Empacotamento". Sua tela deverá semelhante à tela a seguir:

Ajuste as propriedades "Expandir" e "Encher" deste widget para "Não". Agora nossos botões assumiram um tamanho mais adequado. Volte para a guia "Widget" em "Propriedades".

Através da árvore de widgets, selecione os seguintes componentes e sete as suas propriedades como descrito a seguir:

button1: Nome - BTNvisualizarRegistros Etiqueta - Visualizar Registros

button2: Nome - BTNsobre Etiqueta - Sobre

button3: Nome - BTNsair Etiqueta - Sair

scrolledwindow1: Nome - SCRWregistros

A aparência de nosso formulário nesse ponto deverá ser esta:

Vamos agora salvar nosso projeto.

Para isso, vamos clicar no botão "Salvar", no formulário principal. Digite os dados para salvar o projeto conforme a figura abaixo:

Ainda não terminamos. Falta agora criarmos os manipuladores de sinais que a nossa aplicação Mono irá tratar. Para isso vamos selecionar os componentes desejados na "Árvore de Widgets".

Selecione o objeto BTNvisualizarRegistros na "Árvore de Widgets". Clique agora na janela "Propriedades", e selecione a guia "Sinais". Em sinal, clique no ícone . Surgirá então uma nova janela solicitando que você escolha o sinal:

Selecione "Clicked" e clique em OK. Clique em "Adicionar".

Faça a mesma coisa com os objetos BTNsobre e BTNsair.

Não será necessário criar um manipulador de sinais para o nosso grid, uma vez que ele irá ser preenchido com os dados recuperados da tabela linguagens_mono, criada no artigo anterior.

Você já pode salvar o projeto e fechar o Glade agora.

PostgreSQLBR: Parte2 Desenvolvendo a interface com Glade (last edited 2006-10-31 15:10:57 by DiogoBiazus)