Salome HOME
Provide names of sub-objects from Naming for Groups
[modules/shaper.git] / src / ModuleBase / ModuleBase_IPrefMgr.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        ModuleBase_IPrefMgr.h
4 // Created:     10 Sept 2014
5 // Author:      Vitaly SMETANNIKOV
6
7
8 #ifndef ModuleBase_IPrefMgr_H
9 #define ModuleBase_IPrefMgr_H
10
11 #include <QString>
12 #include <SUIT_PreferenceMgr.h>
13
14 /** 
15 * An interface class which provides incapsulation of SUIT_PreferenceMgr class instance 
16 * It is used in order to make common interface to Preference manager in Salome 
17 * and this application
18 */
19 class ModuleBase_IPrefMgr
20 {
21 public:
22
23   /** 
24   * Add preference item into preference dialog box
25   * \param theLbl - label of the item
26   * \param pId - id of container item
27   * \param theType - type of the item
28   * \param theSection - resouce section name
29   * \param theName - name of the resource
30   * Returns Id of the ctreated item
31   */
32   virtual int addPreference(const QString& theLbl, int pId, 
33                             SUIT_PreferenceMgr::PrefItemType theType,
34                             const QString& theSection, const QString& theName ) = 0;
35
36   virtual void setItemProperty(const QString& thePropName,
37                                const QVariant& theValue,
38                                const int theId = -1) = 0;
39
40   /// Returns incapsulated preference manager
41   virtual SUIT_PreferenceMgr* prefMgr() const = 0;
42 };
43
44 #endif