Vernünftige UNDO-Funktion
-
Hi zusammen,
ich hab eine SDI-Anwendung die von CView abgeleitet ist.
Hierfür würde ich jetzt gerne eine UNDO-Funktion bereitstellen, z.B. 100* UNDO oder sowas!Meine Frage ist jetzt:
Wie kann man sowas vernünftig machen?Bei mir kann man Punkte zeichen/löschen, Linien zeichen/löschen, Punkte verschieben, Punkte verbinden/Verbindung löschen, etc...
Meine Idee war, ich bastel mir eine "Super-Klasse", die alle möglichen Aktionen speichern kann und lege für jede Aktion so einen Typ an, also dann z.B. ein UNDO-Array mit 100 Elementen.
Bin mir aber nicht sicher, ob das das Gelbe vom Ei ist!Vielen Dank für ein paar Ratschläge!
Gruss, Tobias
-
-
Guck dir mal das Command-Pattern an. In dem Buch "Entwurfsmuster" von Addison Wesley wird beschrieben wie man damit eine Undo/Redo-Klasse realisieren kann. Ist nur zu empfehlen das Buch.