xref: /haiku/src/apps/icon-o-matic/shape/commands/AddPathsCommand.h (revision 325a6253ceb7c4162df2805f7aabc2a119c93534)
161b0e9e3SStephan Aßmus /*
2*325a6253SAxel Dörfler  * Copyright 2006-2007, Haiku.
361b0e9e3SStephan Aßmus  * Distributed under the terms of the MIT License.
461b0e9e3SStephan Aßmus  *
561b0e9e3SStephan Aßmus  * Authors:
661b0e9e3SStephan Aßmus  *		Stephan Aßmus <superstippi@gmx.de>
761b0e9e3SStephan Aßmus  */
861b0e9e3SStephan Aßmus #ifndef ADD_PATHS_COMMAND_H
961b0e9e3SStephan Aßmus #define ADD_PATHS_COMMAND_H
1061b0e9e3SStephan Aßmus 
11*325a6253SAxel Dörfler 
1261b0e9e3SStephan Aßmus #include "Command.h"
1361b0e9e3SStephan Aßmus 
14*325a6253SAxel Dörfler 
15*325a6253SAxel Dörfler namespace BPrivate {
16*325a6253SAxel Dörfler namespace Icon {
1761b0e9e3SStephan Aßmus 	class VectorPath;
1861b0e9e3SStephan Aßmus 	class PathContainer;
19*325a6253SAxel Dörfler }
20*325a6253SAxel Dörfler }
21*325a6253SAxel Dörfler using namespace BPrivate::Icon;
2261b0e9e3SStephan Aßmus 
2361b0e9e3SStephan Aßmus class AddPathsCommand : public Command {
2461b0e9e3SStephan Aßmus  public:
2561b0e9e3SStephan Aßmus 								AddPathsCommand(
2661b0e9e3SStephan Aßmus 									PathContainer* container,
2761b0e9e3SStephan Aßmus 									VectorPath** const paths,
2861b0e9e3SStephan Aßmus 									int32 count,
2961b0e9e3SStephan Aßmus 									bool ownsPaths,
3061b0e9e3SStephan Aßmus 									int32 index);
3161b0e9e3SStephan Aßmus 	virtual						~AddPathsCommand();
3261b0e9e3SStephan Aßmus 
3361b0e9e3SStephan Aßmus 	virtual	status_t			InitCheck();
3461b0e9e3SStephan Aßmus 
3561b0e9e3SStephan Aßmus 	virtual	status_t			Perform();
3661b0e9e3SStephan Aßmus 	virtual status_t			Undo();
3761b0e9e3SStephan Aßmus 
3861b0e9e3SStephan Aßmus 	virtual void				GetName(BString& name);
3961b0e9e3SStephan Aßmus 
4061b0e9e3SStephan Aßmus  private:
4161b0e9e3SStephan Aßmus 			PathContainer*		fContainer;
4261b0e9e3SStephan Aßmus 			VectorPath**		fPaths;
4361b0e9e3SStephan Aßmus 			int32				fCount;
4461b0e9e3SStephan Aßmus 			bool				fOwnsPaths;
4561b0e9e3SStephan Aßmus 			int32				fIndex;
4661b0e9e3SStephan Aßmus 			bool				fPathsAdded;
4761b0e9e3SStephan Aßmus };
4861b0e9e3SStephan Aßmus 
4961b0e9e3SStephan Aßmus #endif // ADD_PATHS_COMMAND_H
50