r132@gandalf: fugalh | 2006-06-29 12:45:16 -0600
authorHans Fugal <hans@fugal.net>
Thu, 29 Jun 2006 18:49:03 +0000 (18:49 +0000)
committerHans Fugal <hans@fugal.net>
Thu, 29 Jun 2006 18:49:03 +0000 (18:49 +0000)
commit6337a1894cb146fcfba9454c0cb41b6bdb3fced1
treecabc5854f92c0391e3149672383c1235f789b253
parent5b289d30061a5b82b7c9dfb5a69b06c4da4b69ba
 r132@gandalf:  fugalh | 2006-06-29 12:45:16 -0600
 Coding for undo/redo starts in earnest. Paul and I decided to go with a
 standard gang of four Command pattern, with serialization. This overcomes the
 terrible difficulties we were having with static type checking and the sigc++
 approach.  I'm adding the requirement that each command support undo,
 simplifying undo/redo. NOTE that an important fallout here is that
 Command::operator()() is the opposite of the old UndoAction::operator()(), i.e.
 Command::operator()() is execute/redo, and Command::undo() is undo.

 This commit is a reworking of the infrastructure, and won't compile until
 creating Command subclasses for the various commands being performed. That is
 primarily where you find get_memento and/or calls to add_(undo|redo.*).

git-svn-id: svn://localhost/ardour2/branches/undo@655 d708f5d6-7413-0410-9779-e7cbd77b26cf
libs/pbd3/pbd/command.h [new file with mode: 0644]
libs/pbd3/pbd/serializable.h
libs/pbd3/pbd/undo.h
libs/pbd3/pbd/undo_command.h [deleted file]
libs/pbd3/undo.cc