13 class MainUndoStackItem
;
19 MainUndo(MWindow
*mwindow
);
22 // Use this function for UndoStackItem subclasses with custom
23 // undo and redo functions. All fields including description must
24 // be populated before calling this function.
25 void push_undo_item(UndoStackItem
*item
);
27 void update_undo(char *description
,
30 int changes_made
= 1);
32 // alternatively, call this one after the change
33 void push_state(char *description
, uint32_t load_flags
, void* creator
);
35 // Used in undo and redo to reset the creators in all the records.
36 void reset_creators();
42 List
<UndoStackItem
> undo_stack
;
43 List
<UndoStackItem
> redo_stack
;
44 MainUndoStackItem
* new_entry
; // for setting the after buffer
48 char* data_after
; // the state after a change
52 bool ignore_push(char *description
, uint32_t load_flags
, void* creator
);
54 friend class MainUndoStackItem
;