Salome HOME
The minor corrections in the doxygen documentation
[modules/shaper.git] / src / PartSetPlugin / PartSetPlugin_Plugin.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        PartSetPlugin_Plugin.hxx
4 // Created:     31 Mar 2014
5 // Author:      Mikhail PONIKAROV
6
7 #ifndef PartSetPlugin_Plugin_H_
8 #define PartSetPlugin_Plugin_H_
9
10 #include <PartSetPlugin.h>
11 #include <ModelAPI_Plugin.h>
12 #include <ModelAPI_Feature.h>
13 #include <ModelAPI_Events.h>
14
15 #include <Events_Listener.h>
16
17 #include <memory>
18
19 /**\class PartSetPlugin_Plugin
20  * \ingroup Plugins
21  * \brief The main class for management the part set operations as plugin.
22  */
23 class PARTSETPLUGIN_EXPORT PartSetPlugin_Plugin : public ModelAPI_Plugin,
24                                                   public Events_Listener
25 {
26  public:
27   /// Creates the feature object of this plugin by the feature string ID
28   virtual FeaturePtr createFeature(std::string theFeatureID);
29
30   /// Is needed for python wrapping by swig
31   PartSetPlugin_Plugin();
32
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();
38 };
39
40 #endif