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