along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id$
*/
#ifndef __lib_pbd_undo_h__
~UndoTransaction ();
void clear ();
+ bool empty() const;
+ bool clearing () const { return _clearing; }
void add_command (Command* const);
+ void remove_command (Command* const);
void operator() ();
void undo();
std::list<Command*> actions;
struct timeval _timestamp;
std::string _name;
- bool clearing;
- void remove_command (Command* const);
+ bool _clearing;
+
+ friend void command_death (UndoTransaction*, Command *);
};
-class UndoHistory
+class UndoHistory : public sigc::trackable
{
public:
UndoHistory();
void clear_undo ();
void clear_redo ();
- XMLNode &get_state();
+ XMLNode &get_state(uint32_t depth = 0);
void save_state();
+ sigc::signal<void> Changed;
+
private:
- bool clearing;
+ bool _clearing;
std::list<UndoTransaction*> UndoList;
std::list<UndoTransaction*> RedoList;