1/*
2 * Copyright 2006-2112, Stephan A��mus <superstippi@gmx.de>
3 * Copyright 2021, Andrew Lindesay <apl@lindesay.co.nz>
4 * Distributed under the terms of the MIT License.
5 */
6
7#ifndef COMPOUND_EDIT_H
8#define COMPOUND_EDIT_H
9
10#include <vector>
11
12#include <String.h>
13
14#include "UndoableEdit.h"
15
16class CompoundEdit : public UndoableEdit {
17public:
18								CompoundEdit(const char* name);
19	virtual						~CompoundEdit();
20
21	virtual	status_t			InitCheck();
22
23	virtual	status_t			Perform(EditContext& context);
24	virtual status_t			Undo(EditContext& context);
25	virtual status_t			Redo(EditContext& context);
26
27	virtual void				GetName(BString& name);
28
29			void				AppendEdit(const UndoableEditRef& edit);
30
31private:
32			std::vector<UndoableEditRef>
33								fEdits;
34			BString				fName;
35};
36
37#endif // COMPOUND_EDIT_H
38