xref: /haiku/src/apps/icon-o-matic/shape/commands/AddShapesCommand.h (revision 220d04022750f40f8bac8f01fa551211e28d04f2)
1 /*
2  * Copyright 2006-2007, Haiku.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  *		Stephan Aßmus <superstippi@gmx.de>
7  */
8 #ifndef ADD_SHAPES_COMMAND_H
9 #define ADD_SHAPES_COMMAND_H
10 
11 
12 #include "Command.h"
13 #include "IconBuild.h"
14 
15 
16 class Selection;
17 
18 _BEGIN_ICON_NAMESPACE
19 	class Shape;
20 	class ShapeContainer;
21 _END_ICON_NAMESPACE
22 
23 _USING_ICON_NAMESPACE
24 
25 
26 class AddShapesCommand : public Command {
27  public:
28 								AddShapesCommand(
29 									ShapeContainer* container,
30 									Shape** const shapes,
31 									int32 count,
32 									int32 index,
33 									Selection* selection);
34 	virtual						~AddShapesCommand();
35 
36 	virtual	status_t			InitCheck();
37 
38 	virtual	status_t			Perform();
39 	virtual status_t			Undo();
40 
41 	virtual void				GetName(BString& name);
42 
43  private:
44 			ShapeContainer*		fContainer;
45 			Shape**				fShapes;
46 			int32				fCount;
47 			int32				fIndex;
48 			bool				fShapesAdded;
49 
50 			Selection*			fSelection;
51 };
52 
53 #endif // ADD_SHAPES_COMMAND_H
54