![]() |
António Roberto Software |
|
Linguagens
de Programação 1
|
2º
ano da Licenciatura em Informática de Gestão
|
Aulas de 9 e 10 de Maio de 2002
2ª Etapa do Trabalho final
Aviso : O prazo de entrega do trabalho final é 14 de Junho. Cada grupo deverá entregar uma diskette com a solução na aula de 14 de Junho. Aconselha-se os alunos a cumprirem os tempos atribuídos às diversas etapas.
Passagem da versão 2 para a versão 3 do protótipo EditorGrafos
Lista de funcionalidades a implementar na versão 3 :
- Cada nó deverá ter a uma cor de fundo própria
- Bug : Quando se minimiza a janela, se faz o resize, o desenho na View apresenta todos os nós com a mesma cor. Quando se adiciona um novo nó, esse nó será amarelo se o último click num nó o tiver colorido de amarelo.
- Pistas
- Criar uma classe CNo. Cada nó deverá conter um objecto da classe CRect e uma cor de fundo.
- Substituir a lista de objectos CRect por uma lista de objectos CNo.
- Actualizar os métodos da View : OnDraw , OnLButtonUp , OnLButtonDown
- Provável Bug após a implementação dos três passos anteriores : os nós não reagem ao click do rato e não apresentam cor própria.
- Pistas
- Está a actualizar uma cópia do objecto CNo e não o objecto original que está na lista.
Substitua a lista de objectos CNo por uma lista de ponteiros para objectos CNo. Utilize o Class Template CTypedPtrList .
- Todos os arcos deverão ser desenhados na view
- Bug : O único arco que é desenhado é o último arco criado.
- Pistas
- Aproveite a embalagem do ponto anterior e crie uma classe CArco.
- Um objecto CArco deverá armazenar 2 ponteiros : um para cada nó que liga
- Crie uma lista de objectos CArco ou uma lista de ponteiros para objectos CArco. Qual das duas será preferível ? Neste estado da aplicação, talvez seja indiferente.
- Actualizar os métodos da View : OnDraw , OnLButtonUp , OnLButtonDown
- Solução só disponível no final do prazo de entrega do trabalho.
Projecto : EditorGrafos ( versão 3 )Tipo : MFC AppWizard( exe ) SDI Document Zip file com o projecto :