diff options
author | Grace Karanja <gracie.karanja89@gmail.com> | 2015-02-09 09:30:27 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-02-09 21:02:16 -0800 |
commit | 8d1e4557a96f81a4cf263ea3d4e2228222d99e42 (patch) | |
tree | f65466c3a8cf30334b60b2338491953210fcff11 | |
parent | c5138b2090e50cf76a51af1c561a31b5e01485db (diff) | |
download | subsurface-8d1e4557a96f81a4cf263ea3d4e2228222d99e42.tar.gz |
Add UndoCommand class
Add a class to handle all undo/redo events. Whenever a user
action affects a dive, an undo command will be created. A list of
these commands will be stored in the UndoBuffer, to allow for
moving forwards/backwards in the list.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | qt-ui/undobuffer.cpp | 18 | ||||
-rw-r--r-- | qt-ui/undobuffer.h | 13 |
2 files changed, 31 insertions, 0 deletions
diff --git a/qt-ui/undobuffer.cpp b/qt-ui/undobuffer.cpp index fd74466be..1812f6f7a 100644 --- a/qt-ui/undobuffer.cpp +++ b/qt-ui/undobuffer.cpp @@ -39,3 +39,21 @@ void UndoBuffer::recordAfter(dive *affectedDive) { } + + + +UndoCommand::UndoCommand(QString commandName, dive *affectedDive) +{ + name = commandName; + stateBefore = affectedDive; +} + +void UndoCommand::undo() +{ + +} + +void UndoCommand::redo() +{ + +} diff --git a/qt-ui/undobuffer.h b/qt-ui/undobuffer.h index a292d3ba7..beae8e390 100644 --- a/qt-ui/undobuffer.h +++ b/qt-ui/undobuffer.h @@ -4,6 +4,19 @@ #include <QObject> #include "dive.h" +class UndoCommand { +private: + dive* stateBefore; + dive* stateAfter; + QString name; + +public: + explicit UndoCommand(QString commandName, dive* affectedDive); + void setStateAfter(dive* affectedDive); + void undo(); + void redo(); +}; + class UndoBuffer : public QObject { Q_OBJECT |