summaryrefslogtreecommitdiff
path: root/libs/pbd/pbd/undo.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/pbd/pbd/undo.h')
-rw-r--r--libs/pbd/pbd/undo.h89
1 files changed, 53 insertions, 36 deletions
diff --git a/libs/pbd/pbd/undo.h b/libs/pbd/pbd/undo.h
index c6d35c09a5..851818f36d 100644
--- a/libs/pbd/pbd/undo.h
+++ b/libs/pbd/pbd/undo.h
@@ -23,91 +23,109 @@
#ifndef __lib_pbd_undo_h__
#define __lib_pbd_undo_h__
-#include <string>
#include <list>
#include <map>
-#include <sigc++/slot.h>
+#include <string>
+
#include <sigc++/bind.h>
-#ifndef COMPILER_MSVC
+#include <sigc++/slot.h>
+
+#ifndef COMPILER_MSVC
#include <sys/time.h>
#else
#include <ardourext/misc.h>
#endif
-#include "pbd/libpbd_visibility.h"
#include "pbd/command.h"
+#include "pbd/libpbd_visibility.h"
typedef sigc::slot<void> UndoAction;
class LIBPBD_API UndoTransaction : public Command
{
- public:
+public:
UndoTransaction ();
UndoTransaction (const UndoTransaction&);
UndoTransaction& operator= (const UndoTransaction&);
~UndoTransaction ();
void clear ();
- bool empty() const;
- bool clearing () const { return _clearing; }
+ bool empty () const;
+ bool clearing () const {
+ return _clearing;
+ }
void add_command (Command* const);
void remove_command (Command* const);
void operator() ();
- void undo();
- void redo();
+ void undo ();
+ void redo ();
- XMLNode &get_state();
+ XMLNode& get_state ();
- void set_timestamp (struct timeval &t) {
+ void set_timestamp (struct timeval& t)
+ {
_timestamp = t;
}
- const struct timeval& timestamp() const {
+ const struct timeval& timestamp () const
+ {
return _timestamp;
}
- private:
- std::list<Command*> actions;
- struct timeval _timestamp;
- bool _clearing;
+private:
+ std::list<Command*> actions;
+ struct timeval _timestamp;
+ bool _clearing;
- friend void command_death (UndoTransaction*, Command *);
+ friend void command_death (UndoTransaction*, Command*);
void about_to_explicitly_delete ();
};
class LIBPBD_API UndoHistory : public PBD::ScopedConnectionList
{
- public:
- UndoHistory();
- ~UndoHistory() {}
+public:
+ UndoHistory ();
+ ~UndoHistory () {}
void add (UndoTransaction* ut);
void undo (unsigned int n);
void redo (unsigned int n);
- unsigned long undo_depth() const { return UndoList.size(); }
- unsigned long redo_depth() const { return RedoList.size(); }
+ unsigned long undo_depth () const
+ {
+ return UndoList.size ();
+ }
+ unsigned long redo_depth () const
+ {
+ return RedoList.size ();
+ }
- std::string next_undo() const { return (UndoList.empty() ? std::string() : UndoList.back()->name()); }
- std::string next_redo() const { return (RedoList.empty() ? std::string() : RedoList.back()->name()); }
+ std::string next_undo () const
+ {
+ return (UndoList.empty () ? std::string () : UndoList.back ()->name ());
+ }
+ std::string next_redo () const
+ {
+ return (RedoList.empty () ? std::string () : RedoList.back ()->name ());
+ }
void clear ();
void clear_undo ();
void clear_redo ();
/* returns all or part of the history.
- If depth==0 it returns just the top
- node. If depth<0, it returns everything.
- If depth>0, it returns state for that
- many elements of the history, or
- the full history, whichever is smaller.
- */
+ * If depth==0 it returns just the top
+ * node. If depth<0, it returns everything.
+ * If depth>0, it returns state for that
+ * many elements of the history, or
+ * the full history, whichever is smaller.
+ */
- XMLNode &get_state(int32_t depth = 0);
- void save_state();
+ XMLNode& get_state (int32_t depth = 0);
+ void save_state ();
void set_depth (uint32_t);
@@ -115,14 +133,13 @@ class LIBPBD_API UndoHistory : public PBD::ScopedConnectionList
PBD::Signal0<void> BeginUndoRedo;
PBD::Signal0<void> EndUndoRedo;
- private:
- bool _clearing;
- uint32_t _depth;
+private:
+ bool _clearing;
+ uint32_t _depth;
std::list<UndoTransaction*> UndoList;
std::list<UndoTransaction*> RedoList;
void remove (UndoTransaction*);
};
-
#endif /* __lib_pbd_undo_h__ */