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