1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: PartSetPlugin_Plugin.hxx
4 // Created: 31 Mar 2014
5 // Author: Mikhail PONIKAROV
7 #ifndef PartSetPlugin_Plugin_H_
8 #define PartSetPlugin_Plugin_H_
10 #include <PartSetPlugin.h>
11 #include <ModelAPI_Plugin.h>
12 #include <ModelAPI_Feature.h>
13 #include <ModelAPI_Events.h>
15 #include <Events_Listener.h>
19 /**\class PartSetPlugin_Plugin
21 * \brief The main class for management the part set operations as plugin.
23 class PARTSETPLUGIN_EXPORT PartSetPlugin_Plugin : public ModelAPI_Plugin,
24 public Events_Listener
27 /// Creates the feature object of this plugin by the feature string ID
28 virtual FeaturePtr createFeature(std::string theFeatureID);
30 /// Is needed for python wrapping by swig
31 PartSetPlugin_Plugin();
33 //! Redefinition of Events_Listener method
34 virtual void processEvent(const std::shared_ptr<Events_Message>& theMessage);
35 //! Performs the chenges of enabled/disabled state in the toolbar
36 //! due to the current state of the application.
37 std::shared_ptr<ModelAPI_FeatureStateMessage> getFeaturesState();