xref: /haiku/src/apps/icon-o-matic/shape/commands/RemoveShapesCommand.h (revision f2b4344867e97c3f4e742a1b4a15e6879644601a)
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 REMOVE_SHAPES_COMMAND_H
9 #define REMOVE_SHAPES_COMMAND_H
10 
11 
12 #include "Command.h"
13 #include "IconBuild.h"
14 
15 
16 _BEGIN_ICON_NAMESPACE
17 	class Shape;
18 	class ShapeContainer;
19 _END_ICON_NAMESPACE
20 
21 _USING_ICON_NAMESPACE
22 
23 
24 class RemoveShapesCommand : public Command {
25  public:
26 								RemoveShapesCommand(
27 									ShapeContainer* container,
28 									int32* const indices,
29 									int32 count);
30 	virtual						~RemoveShapesCommand();
31 
32 	virtual	status_t			InitCheck();
33 
34 	virtual	status_t			Perform();
35 	virtual status_t			Undo();
36 
37 	virtual void				GetName(BString& name);
38 
39  private:
40 			ShapeContainer*		fContainer;
41 			Shape**				fShapes;
42 			int32*				fIndices;
43 			int32				fCount;
44 			bool				fShapesRemoved;
45 };
46 
47 #endif // REMOVE_SHAPES_COMMAND_H
48