/* * ActionSequenze.hpp * * Created on: Dec 17, 2009 * Author: crueger */ #ifndef ACTIONSEQUENZE_HPP_ #define ACTIONSEQUENZE_HPP_ #include "Actions/Action.hpp" #include /** * Store Actions for later use. */ class ActionSequence { friend class MakroAction; public: typedef std::deque actionSet; typedef std::deque stateSet; ActionSequence(); virtual ~ActionSequence(); void addAction(Action*); Action* removeLastAction(); void callAll(); bool canUndo(); bool shouldUndo(); protected: stateSet callAll(bool); // Dummy parameter to allow overloading stateSet undoAll(stateSet); stateSet redoAll(stateSet); private: actionSet actions; }; #endif /* ACTIONSEQUENZE_HPP_ */