20 #ifndef __lib_pbd_undo_h__
21 #define __lib_pbd_undo_h__
26 #include <sigc++/slot.h>
27 #include <sigc++/bind.h>
31 #include <ardourext/misc.h>
51 void add_command (
Command*
const);
52 void remove_command (
Command*
const);
70 struct timeval _timestamp;
75 void about_to_explicitly_delete ();
85 void undo (
unsigned int n);
86 void redo (
unsigned int n);
88 unsigned long undo_depth()
const {
return UndoList.size(); }
89 unsigned long redo_depth()
const {
return RedoList.size(); }
91 std::string
next_undo()
const {
return (UndoList.empty() ? std::string() : UndoList.back()->name()); }
92 std::string
next_redo()
const {
return (RedoList.empty() ? std::string() : RedoList.back()->name()); }
106 XMLNode &get_state(int32_t depth = 0);
109 void set_depth (uint32_t);
std::list< Command * > actions
PBD::Signal0< void > Changed
virtual void operator()()=0
unsigned long redo_depth() const
void command_death(UndoTransaction *ut, Command *c)
sigc::slot< void > UndoAction
PBD::Signal0< void > EndUndoRedo
void set_timestamp(struct timeval &t)
std::string next_redo() const
PBD::Signal0< void > BeginUndoRedo
unsigned long undo_depth() const
std::list< UndoTransaction * > UndoList
virtual bool empty() const
const struct timeval & timestamp() const
std::string next_undo() const
virtual XMLNode & get_state()
std::list< UndoTransaction * > RedoList