X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSetPlugin%2FPartSetPlugin_Duplicate.h;h=dad1fe197af49e74192bef16ed10008e3a9dfddf;hb=9dc1fc2ff6f4143369cdb2042a5e01e8e737c635;hp=57117a81330d1d33474189921a1fe0f8eb97c8fa;hpb=5a4f0bcfb2d42d602051884072c9c8e539b60a2e;p=modules%2Fshaper.git diff --git a/src/PartSetPlugin/PartSetPlugin_Duplicate.h b/src/PartSetPlugin/PartSetPlugin_Duplicate.h index 57117a813..dad1fe197 100644 --- a/src/PartSetPlugin/PartSetPlugin_Duplicate.h +++ b/src/PartSetPlugin/PartSetPlugin_Duplicate.h @@ -1,33 +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 +#ifndef PartSetPlugin_Duplicate_H_ +#define PartSetPlugin_Duplicate_H_ -#include "PartSetPlugin_Part.h" +#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: - /// the reference to copy: reference to the attribute - inline static const std::string& ORIGIN_REF() + 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 const std::string MY_DUPLICATE_ID("Origin"); - return MY_DUPLICATE_ID; + 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; } - /// Makes a new part, copy of active - PartSetPlugin_Duplicate(); /// 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; + } - /// doesn't call creation of new document, just does nothing if document was not copied + /// Performs the "duplicate" PARTSETPLUGIN_EXPORT virtual void execute(); + + /// Use plugin manager for features creation + PartSetPlugin_Duplicate() + { + } + }; #endif