Gast
#1479029
Hallo zusammen, ich bin auf der Suche nach einem Ansatz/Konzept, wie man Undo/Redo-Funktionalität in eine PC-Software (bei mir C#) einbindet. Kennt jemand eine schöne Webseite/Buch/Beschreibung wie man sowas allgemein löst? Auch gegenüber Stichwörtern bin ich aufgeschlossen. Ganz prinzipiell habe ich mir davon schon eine Vorstellung gebildet. So ganz im Stile von einem Stack, der mit Aktionen/Methoden (UndoAction/RedoAction) beladen wird und die dann der Reihe nach vor und zurück ausgeführt werden. Wenn nur eine einzelne Art von Aktion rückgängig gemacht werden soll, dann ists ja trivial. Wenn aber verschiedenste Benutzeraktionen umkehrbar sein sollen, steige ich aus. :-) Beispiel Zeichenprogramm: Immer nur die letzten Pinselstriche rückgängig machen ist mir noch klar. Wenn dann aber zwischendurch eine neue Ebene eingefügt wird, dann darauf gezeichnet wird, dann z.B. das Bild komplett gelöscht wird... das sind ja alles unterschiedlichste Aktionen, die auf ganz unterschiedliche Objekte/Datenstrukturen angewandt werden. Dennoch müssen diese auf eine Gemeinsamkeit (Schnittstelle?) heruntergebrochen werden können, die dann auf den Undo/Redo-Stack gelegt werden. Wie geht man da vor? Danke.