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