Make your own free website on Tripod.com

Gerando códigos fonte com o Umbrello

Voltar a falar de uma ferramenta de modelagem estando na fase de implementação, por mais estranho que possa parecer, não é algo fora de contexto. Principalmente por usar a orientação a objetos, a implementação não deve ser um processo independente da modelagem, pois as classes que serão implementadas foram concebidas na modelagem. Mas o motivo maior de se voltar a falar sobre o Umbrello, é para mostrar como ele cria códigos fonte baseado nas classes que foram modeladas.

Os códigos fonte não foram gerados antes, porque para gerá-los, é necessário saber onde eles serão armazenados. Somente agora, depois do projeto criado no KDevelop, é conhecido o local onde os arquivos vão estar localizados. Dessa forma, pode-se voltar ao Umbrello e fazê-lo gerar os arquivos contendo o código fonte das classes baseado no modelo.

De acordo com o diagrama de seqüência mostrado no o capítulo Modelagem do sistema, as classes necessárias para implementar o cadastro de formas de pagamento são KListaFormaPagto, DListaFormaPagto, KFormaPagto e DFormaPagto. Mas de acordo com o diagrama de classes mostrado no mesmo capítulo, pode-se notar que as classes DListaFormaPagto e DFormaPagto são filhas de QDatabase. Assim, para implementar o cadastro de formas de pagamento, as cinco classes devem ser criadas no sistema.

Para ilustrar o funcionamento das duas ferramentas (Umbrello e KDevelop), as classes QDatabase, DListaFormaPagto, DFormaPagto e KFormaPagto serã geradas pelo Umbrello . A classe KListaFormaPagto será criada diretamente no KDevelop.

O procedimento para gerar os códigos fonte com o Umbrello inicia-se selecionando o menu Code->Code Generation Wizard. Uma janela como a mostrada pela Figura 6 é aberta mostrando todas as classes modeladas. Como padrão, o Umbrello sugere a geração do código de todas as classes, mas como apenas algumas devem ser implementadas, devem ser mantidas na lista Classes Selected apenas as classes desejadas.

Figura 6. Umbrello - seleção das classes para codificação

Escolhidas as classes, deve-se clicar no botão Next para o assistente passar para a próxima página. Na segunda página, mostrada pela Figura 7, as informações mais importantes que seráo alteradas são o diretório e a linguagem. Na linha de texto do diretório, deve ser colocado o caminho onde os fontes serão armazenados, ou seja, no diretório onde se localiza o projeto criado no KDevelop. Como padrão, o KDevelop coloca os fontes dentro do subdiretório src e é justamente o caminho que deve ser informado ao Umbrello para que ele gere os fontes.

Na parte inferior da janela do assistente, a linguagem selecionada deve ser Cpp. Ao abrir a lista, pode-se notar que o Umbrello consegue trabalhar com várias linguagens de programação. Informado o diretório e a linguagem, deve-se clicar em Next.

Figura 7. Umbrello - definindo as opções de criação dos fontes

A próxima página do assistente, apenas mostra as classes que serão geradas. Para gerar os fontes, deve-se clicar no botão Generate. Depois de concluída a geração dos arquivos, o boão muda para Finish e então deve-se clicar nele para fechar o assistente.

Agora falta fazer com que o KDevelop acrescente os arquivos gerados ao projeto. Para isso, deve-se usar o Automake Manager. Na parte inferior, deve-se clicar no botão Add Existing Files ou clicar sobre o alvo com o botão direito e selecionar a opção com o mesmo nome do botão. Uma janela se abre para que sejam selecionados os arquivos que devem ser incluídos no projeto. Note que exstem na lista alguns arquivos que têm o mesmo nome das classes criadas no Umbrello, porém todo escrito em minúsculo e com duas extensões: .cpp e .h. Todos eles devem ser selecionados[1], pois representam a implementação das classes.

O KDevelop a partir de agora conhece as classes criadas pelo Umbrello e o programador pode codificar os métodos, bem como efetuar alterações específicas para a implementação, como adição de instruções include por exemplo.

É importante lembrar que depois de alterado pelo KDevelop, os arquivos não podem ser gerados novamente pelo Umbrello, pois ele vai sobrescrever as alterações efetuadas. Portanto, qualquer alteração realizada no Umbrello, deve ser feita manualmente no KDevelop.

Notas

[1]

Para selecionar mais de um arquivo em uma lista, clica-se no primeiro para selecioná-lo e com a tecla Ctrl pressionada, clca-se nos outros arquivos.