xref: /haiku/src/apps/icon-o-matic/shape/commands/RemoveShapesCommand.h (revision 61b0e9e3149012ccbd48a10dcbc7f83600bb4769)
12ce8d31dSStephan Aßmus /*
22ce8d31dSStephan Aßmus  * Copyright 2006, 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 
92ce8d31dSStephan Aßmus #ifndef REMOVE_SHAPES_COMMAND_H
102ce8d31dSStephan Aßmus #define REMOVE_SHAPES_COMMAND_H
112ce8d31dSStephan Aßmus 
122ce8d31dSStephan Aßmus #include "Command.h"
132ce8d31dSStephan Aßmus 
142ce8d31dSStephan Aßmus class Shape;
152ce8d31dSStephan Aßmus class ShapeContainer;
162ce8d31dSStephan Aßmus 
172ce8d31dSStephan Aßmus class RemoveShapesCommand : public Command {
182ce8d31dSStephan Aßmus  public:
192ce8d31dSStephan Aßmus 								RemoveShapesCommand(
202ce8d31dSStephan Aßmus 									ShapeContainer* container,
21*61b0e9e3SStephan Aßmus 									int32* const indices,
222ce8d31dSStephan Aßmus 									int32 count);
232ce8d31dSStephan Aßmus 	virtual						~RemoveShapesCommand();
242ce8d31dSStephan Aßmus 
252ce8d31dSStephan Aßmus 	virtual	status_t			InitCheck();
262ce8d31dSStephan Aßmus 
272ce8d31dSStephan Aßmus 	virtual	status_t			Perform();
282ce8d31dSStephan Aßmus 	virtual status_t			Undo();
292ce8d31dSStephan Aßmus 
302ce8d31dSStephan Aßmus 	virtual void				GetName(BString& name);
312ce8d31dSStephan Aßmus 
322ce8d31dSStephan Aßmus  private:
332ce8d31dSStephan Aßmus 			ShapeContainer*		fContainer;
342ce8d31dSStephan Aßmus 			Shape**				fShapes;
352ce8d31dSStephan Aßmus 			int32*				fIndices;
362ce8d31dSStephan Aßmus 			int32				fCount;
372ce8d31dSStephan Aßmus 			bool				fShapesRemoved;
382ce8d31dSStephan Aßmus };
392ce8d31dSStephan Aßmus 
402ce8d31dSStephan Aßmus #endif // REMOVE_SHAPES_COMMAND_H
41