X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSetPlugin%2FPartSetPlugin_Duplicate.h;h=dad1fe197af49e74192bef16ed10008e3a9dfddf;hb=ff4d5d0f42cf5d24b86b2bd2b6e1f58e74f52032;hp=9bab4d63e4e117e89f5ffd0d01b14e489f4ca4ff;hpb=e69bac7a6862b4b4df111ad09e69e4ad330659d6;p=modules%2Fshaper.git diff --git a/src/PartSetPlugin/PartSetPlugin_Duplicate.h b/src/PartSetPlugin/PartSetPlugin_Duplicate.h index 9bab4d63e..dad1fe197 100644 --- a/src/PartSetPlugin/PartSetPlugin_Duplicate.h +++ b/src/PartSetPlugin/PartSetPlugin_Duplicate.h @@ -1,27 +1,62 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + // File: PartSetPlugin_Duplicate.h // Created: 20 May 2014 // Author: Mikhail PONIKAROV -#ifndef PartSetPlugin_Duplicate_HeaderFile -#define PartSetPlugin_Duplicate_HeaderFile - -#include "PartSetPlugin_Part.h" +#ifndef PartSetPlugin_Duplicate_H_ +#define PartSetPlugin_Duplicate_H_ -/// the reference to copy: reference to the attribute -const std::string PART_DUPLICATE_ATTR_REF = "Origin"; +#include "PartSetPlugin.h" +#include /**\class PartSetPlugin_Duplicate - * \ingroup DataModel + * \ingroup Plugins * \brief Duplicates the active part (not root). Creates a new "part" feature. */ -class PartSetPlugin_Duplicate: public PartSetPlugin_Part +class PartSetPlugin_Duplicate : public ModelAPI_Feature { -public: - /// Makes a new part, copy of active - PartSetPlugin_Duplicate(); + public: + + /// Duplicate kind + inline static const std::string& ID() + { + static const std::string MY_REMOVE_KIND("Duplicate"); + return MY_REMOVE_KIND; + } + /// Returns the kind of a feature + PARTSETPLUGIN_EXPORT virtual const std::string& getKind() + { + static std::string MY_KIND = PartSetPlugin_Duplicate::ID(); + return MY_KIND; + } + + /// Returns to which group in the document must be added feature + PARTSETPLUGIN_EXPORT virtual const std::string& getGroup() + { + static std::string MY_GROUP = "Parts"; + return MY_GROUP; + } /// Request for initialization of data model of the feature: adding all attributes - PARTSETPLUGIN_EXPORT virtual void initAttributes(); + PARTSETPLUGIN_EXPORT virtual void initAttributes() + { + } + + /// Not normal feature that stored in the tree + PARTSETPLUGIN_EXPORT virtual bool isAction() + { + return true; + } + + /// Performs the "duplicate" + PARTSETPLUGIN_EXPORT virtual void execute(); + + /// Use plugin manager for features creation + PartSetPlugin_Duplicate() + { + } + }; #endif