O programa foi alterado, então, para utilizar o carregamento dinâmico da especificação da interface, provido pela biblioteca GTKmm. Ela provê métodos de criar a interface dinamicamente a partir de sua especificação no formato utilizado pelo Glade. Além disso, para adicionar funcionalidade à interface, basta herdar a classe correspondente ao tipo de widget que terá novas funcionalidades e fazer com que a biblioteca use sua classe para carregar o componente especificado no arquivo do Glade.
Inicialmente, foram criadas uma classe para cada janela do programa e mais uma
classe para um componente complexo da janela principal, que determina qual o
tipo de ambiente de difusão que será utilizado. O diagrama de classes após as
alterações pode ser visto na Figura .
A interface do programa também foi alterada nesta refatoração. Foi pedido que
a simulação fosse exibida na mesma janela onde estavam os controles dos seus
parâmetros. A interface modificada pode ser vista na Figura .
![]() |
Luiz Fernando Oliveira Corte Real 2008-11-28