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 #include "IconBuild.h" 14 15 16 _BEGIN_ICON_NAMESPACE 17 class Shape; 18 class ShapeContainer; 19 _END_ICON_NAMESPACE 20 21 _USING_ICON_NAMESPACE 22 23 24 class RemoveShapesCommand : public Command { 25 public: 26 RemoveShapesCommand( 27 ShapeContainer* container, 28 int32* const indices, 29 int32 count); 30 virtual ~RemoveShapesCommand(); 31 32 virtual status_t InitCheck(); 33 34 virtual status_t Perform(); 35 virtual status_t Undo(); 36 37 virtual void GetName(BString& name); 38 39 private: 40 ShapeContainer* fContainer; 41 Shape** fShapes; 42 int32* fIndices; 43 int32 fCount; 44 bool fShapesRemoved; 45 }; 46 47 #endif // REMOVE_SHAPES_COMMAND_H 48