Salome HOME
Issue #1369: Added "SubShapes" feature.
[modules/shaper.git] / src / Config / Config_PropManager.h
index d650b0e387c6b54dfeacde5d01b2828d5b4a1cae..9b2ced3eafdf41b28ec17b152c9c459eb04d39f8 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
 // File:        Config_PropManager.h
 // Created:     13 Aug 2014
 // Author:      Vitaly SMETANNIKOV
 #include <string>
 #include <vector>
 
-//! Class wihich let to register properties
-class CONFIG_EXPORT Config_PropManager
+/**
+ * \class Config_PropManager
+ * \ingroup Config
+ * \brief Class which let to register properties
+ */
+class Config_PropManager
 {
-public:
+ public:
 
   /** 
-  * Registers property parameters
-  * \param theOwnerId - name of owner (name of plugin for example)
-  * \param theSection - name of section (domain of using) of the property.
-  * \param theName - name (title) of the value.
-  * \param theType - type of the value.
-  * \param theValue - initial value of the property
-  * Returns True if the property succesfully registered
-  */
-  static bool registerProp(const std::string& theSection,
-                           const std::string& theName,
-                           const std::string& theTitle,
-                           Config_Prop::PropType theType,
-                           const std::string& theValue);
-
-  static Config_Prop* findProp(const std::string& theSection,
-                               const std::string& theName);
-
-  static Config_Properties getProperties();
-
+   * Registers property parameters
+   * \param theSection - name of section (domain of using) of the property.
+   * \param theName - name (title) of the value.
+   * \param theTitle - title of the value.
+   * \param theType - type of the value.
+   * \param theDefValue - default and initial value of the property
+   * Returns True if the property succesfully registered
+   */
+  CONFIG_EXPORT static Config_Prop* registerProp(const std::string& theSection, const std::string& theName,
+    const std::string& theTitle, Config_Prop::PropType theType, const std::string& theDefValue = "");
+  //! Finds property in the given section by the given name, if property not found returns NULL
+  CONFIG_EXPORT static Config_Prop* findProp(
+    const std::string& theSection, const std::string& theName);
+  //! Returns std::list of all existing properies
+  CONFIG_EXPORT static Config_Properties getProperties();
   //! Returns list of registered section names.
-  static std::list<std::string> getSections();
-
+  CONFIG_EXPORT static std::list<std::string> getSections();
   //! Returns list of properties by its owner and section.
-  static Config_Properties getProperties(const std::string& theSection);
+  CONFIG_EXPORT static Config_Properties getProperties(const std::string& theSection);
 
   //! Returns value of the property by its owner, section, and name
-  static std::string string(const std::string& theSection, 
-                            const std::string& theName,
-                            const std::string& theDefault);              
-  static std::vector<int> color(const std::string& theSection, 
-                                const std::string& theName,
-                                const std::string& theDefault);              
-  static int integer(const std::string& theSection, 
-                      const std::string& theName,
-                      const std::string& theDefault);              
-  static double real(const std::string& theSection, 
-                      const std::string& theName,
-                      const std::string& theDefault);              
+  CONFIG_EXPORT static std::string string(const std::string& theSection,
+                                          const std::string& theName,
+                                          const std::string& theDefault);
+  //! Returns color by given section and name as 3-element vector {r,g,b}.
+  CONFIG_EXPORT static std::vector<int> color(const std::string& theSection,
+                                              const std::string& theName,
+                                              const std::string& theDefault);
+  //! Returns integer by given section and name
+  CONFIG_EXPORT static int integer(const std::string& theSection,
+                                   const std::string& theName,
+                                   const std::string& theDefault);
+  //! Returns real by given section and name
+  CONFIG_EXPORT static double real(const std::string& theSection,
+                                   const std::string& theName,
+                                   const std::string& theDefault);
+  //! Returns boolean by given section and name
+  CONFIG_EXPORT static bool boolean(const std::string& theSection,
+                                   const std::string& theName,
+                                   const std::string& theDefault);
 
-private:
-  static Config_Properties myProps;
+ private:
+  CONFIG_EXPORT static Config_Properties myProps; ///< List of all stored properties
 };
 
-
-#endif
\ No newline at end of file
+#endif