annotate common/undo.d @ 25:8f58a8f88735

Checkpoint
author "David Bryant <bagnose@gmail.com>"
date Wed, 15 Jul 2009 23:49:02 +0930
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
1 module common.undo;
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
2
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
3 abstract class Action {
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
4 void undo();
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
5 void redo();
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
6 }
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
7
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
8 interface IUndoObserver {
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
9 void canUndo(in bool value, in string description);
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
10 void canRedo(in bool value, in string description);
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
11 }
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
12
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
13 interface IUndoManager {
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
14 void addAction(Action action);
8f58a8f88735 Checkpoint
"David Bryant <bagnose@gmail.com>"
parents:
diff changeset
15 }