Undo・Redoのベースとなる実装は終了。
続いてコマンドを実装していく。これが面倒くさい。
JUCEのUndo・Redoの実装はコマンドパターンによるものでオーソドックスなもの。トランザクション(複数コマンドの一括Undo・Redo)にも対応している。
ついでにUndo・Redo関連のリソースを軽く漁ってみた。
C#によるUndo・Redoの実装
http://www.sunny-grove.net/articles/undoable.html
第18章.UndoとRedoの実装
やねうらおさんの古い記事だけど参考になる。
http://www.sun-inet.or.jp/~yaneurao/intensive/ggg/
Doc3 undo/redo
VIVIエディタのUndo・Redoの解説
http://hp.vector.co.jp/authors/VA007799/viviProg/doc3.htm
UNDO実装の定石ってあるんですか?
http://piza.2ch.net/tech/kako/973/973881758.html
アンドゥ、リドゥ機能を実装しよう!
MFC・画像処理におけるUndo/Redo
http://tomishi.at.infoseek.co.jp/imaging/undo_redo.html
拡張例3: Undo, Redoの実装
DrawツールでのUndo/Redo
http://www.iplab.cs.tsukuba.ac.jp/lecture/java2005/task4-3.html
JUDEにおけるUndo・Redo
http://www.ogis-ri.co.jp/otc/hiroba/others/jude/JudeRecords.html
WTLベースでトラッカを作成しようとしていたときのUndo/Redoのソース。
http://sourceforge.jp/cvs/view/sftracker/SFTracker/undo_redo.h?revision=1.13&view=markup