xref: /haiku/src/apps/icon-o-matic/shape/commands/RemoveShapesCommand.h (revision 325a6253ceb7c4162df2805f7aabc2a119c93534)
12ce8d31dSStephan Aßmus /*
2*325a6253SAxel Dörfler  * Copyright 2006-2007, Haiku.
32ce8d31dSStephan Aßmus  * Distributed under the terms of the MIT License.
42ce8d31dSStephan Aßmus  *
52ce8d31dSStephan Aßmus  * Authors:
62ce8d31dSStephan Aßmus  *		Stephan Aßmus <superstippi@gmx.de>
72ce8d31dSStephan Aßmus  */
82ce8d31dSStephan Aßmus #ifndef REMOVE_SHAPES_COMMAND_H
92ce8d31dSStephan Aßmus #define REMOVE_SHAPES_COMMAND_H
102ce8d31dSStephan Aßmus 
11*325a6253SAxel Dörfler 
122ce8d31dSStephan Aßmus #include "Command.h"
132ce8d31dSStephan Aßmus 
14*325a6253SAxel Dörfler 
15*325a6253SAxel Dörfler namespace BPrivate {
16*325a6253SAxel Dörfler namespace Icon {
172ce8d31dSStephan Aßmus 	class Shape;
182ce8d31dSStephan Aßmus 	class ShapeContainer;
19*325a6253SAxel Dörfler }
20*325a6253SAxel Dörfler }
21*325a6253SAxel Dörfler using namespace BPrivate::Icon;
222ce8d31dSStephan Aßmus 
232ce8d31dSStephan Aßmus class RemoveShapesCommand : public Command {
242ce8d31dSStephan Aßmus  public:
252ce8d31dSStephan Aßmus 								RemoveShapesCommand(
262ce8d31dSStephan Aßmus 									ShapeContainer* container,
2761b0e9e3SStephan Aßmus 									int32* const indices,
282ce8d31dSStephan Aßmus 									int32 count);
292ce8d31dSStephan Aßmus 	virtual						~RemoveShapesCommand();
302ce8d31dSStephan Aßmus 
312ce8d31dSStephan Aßmus 	virtual	status_t			InitCheck();
322ce8d31dSStephan Aßmus 
332ce8d31dSStephan Aßmus 	virtual	status_t			Perform();
342ce8d31dSStephan Aßmus 	virtual status_t			Undo();
352ce8d31dSStephan Aßmus 
362ce8d31dSStephan Aßmus 	virtual void				GetName(BString& name);
372ce8d31dSStephan Aßmus 
382ce8d31dSStephan Aßmus  private:
392ce8d31dSStephan Aßmus 			ShapeContainer*		fContainer;
402ce8d31dSStephan Aßmus 			Shape**				fShapes;
412ce8d31dSStephan Aßmus 			int32*				fIndices;
422ce8d31dSStephan Aßmus 			int32				fCount;
432ce8d31dSStephan Aßmus 			bool				fShapesRemoved;
442ce8d31dSStephan Aßmus };
452ce8d31dSStephan Aßmus 
462ce8d31dSStephan Aßmus #endif // REMOVE_SHAPES_COMMAND_H
47