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 ADD_SHAPES_COMMAND_H 9 #define ADD_SHAPES_COMMAND_H 10 11 12 #include "Command.h" 13 #include "IconBuild.h" 14 15 16 class Selection; 17 18 _BEGIN_ICON_NAMESPACE 19 class Shape; 20 class ShapeContainer; 21 _END_ICON_NAMESPACE 22 23 _USING_ICON_NAMESPACE 24 25 26 class AddShapesCommand : public Command { 27 public: 28 AddShapesCommand( 29 ShapeContainer* container, 30 Shape** const shapes, 31 int32 count, 32 int32 index, 33 Selection* selection); 34 virtual ~AddShapesCommand(); 35 36 virtual status_t InitCheck(); 37 38 virtual status_t Perform(); 39 virtual status_t Undo(); 40 41 virtual void GetName(BString& name); 42 43 private: 44 ShapeContainer* fContainer; 45 Shape** fShapes; 46 int32 fCount; 47 int32 fIndex; 48 bool fShapesAdded; 49 50 Selection* fSelection; 51 }; 52 53 #endif // ADD_SHAPES_COMMAND_H 54