Ações Refazer e Desfazer

1 resposta
I

Bom , eu necessito implementar em meu software as ações de refazer e desafazer, no entanto não sei como fazê-las , alguém pode me dar uma forcinha?
Obrigada …

1 Resposta

davidbuzatto

Basicamente você precisa de um objeto ou um conjunto de objetos capazes de representar o estado do seu software em um determinado momento.
Sempre que esse estado for alterado, você precisa usar uma pilha para empilhar o estado anterior. Para desfazer, basta então desempilhar o estado da pilha a recuperar o estado no sofware, atualizando a interface gráfica se houver. O refazer é parecido, mas você precisará usar uma segunda pilha que armazenará os estados que forem desempilhados. Quando for acionado o refazer, basta desempilhar o elemento da segunda pilha e atualizar a interface. Após refazer de novo você vai jogando para a primeira pilha. Posso ter esquecido algum detalhe, mas o processo é basicamente este. Tem um design pattern comportamental chamado “Memento” que trata sobre isso. Dá uma olhada aqui: http://sourcemaking.com/design_patterns/memento

[]'s

Criado 21 de dezembro de 2012
Ultima resposta 21 de dez. de 2012
Respostas 1
Participantes 2