X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FConfig%2FConfig_Prop.h;h=b24e422789cd86d197b76000dad3ccec783fae76;hb=8ebc9a7d5f87057b61b174e7568e01e44571549d;hp=246df80748f82e0882f6a9ef3a7fbd17d1cc6c02;hpb=1b587c92a6855e2bd217a65bb0295d0fd720e77d;p=modules%2Fshaper.git diff --git a/src/Config/Config_Prop.h b/src/Config/Config_Prop.h index 246df8074..b24e42278 100644 --- a/src/Config/Config_Prop.h +++ b/src/Config/Config_Prop.h @@ -1,70 +1,131 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + // File: Config_Prop.h // Created: 12 Aug 2014 // Author: Vitaly SMETANNIKOV -#ifndef Config_Prop_H -#define Config_Prop_H +#ifndef CONFIG_PROP_H +#define CONFIG_PROP_H #include "Config_def.h" #include #include -/// Class which describes a one property +/*! + * \class Config_Prop + * \brief Class which describes a one property + * \ingroup Config + */ class Config_Prop { -public: - - enum PropType { Disabled, Space, Bool, Color, String, Selector, - DblSpin, IntSpin, Double, Integer, - GroupBox, Tab, Frame, Font, DirList, File, - Slider, Shortcut, ShortcutTree, BiColor, Background }; + public: + /// Type of stored property + enum PropType + { + Disabled, + Space, + Boolean, + Color, + String, + Selector, + DblSpin, + IntSpin, + Double, + Integer, + GroupBox, + Tab, + Frame, + Font, + DirList, + File, + Slider, + Shortcut, + ShortcutTree, + BiColor, + Background, + Directory + }; /** - * Creates a one property - * \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. - */ - Config_Prop(const std::string& theSection, - const std::string& theName, - const std::string& theTitle, - PropType theType, - const std::string& theValue ) { + * Creates a one property + * \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 theDefaultValue - default value of the property. This is an initial property value + */ + Config_Prop(const std::string& theSection, const std::string& theName, + const std::string& theTitle, PropType theType, const std::string& theDefaultValue) + { mySection = theSection; myName = theName; myTitle = theTitle; myType = theType; - myValue = theValue; + myValue = theDefaultValue; + myDefaultValue = theDefaultValue; } - std::string section() const { return mySection; } - std::string name() const { return myName; } - - std::string title() const { return myTitle; } - void setTitle(const std::string& theTitle) { myTitle = theTitle; } - - PropType type() const { return myType; } - void setType(PropType theType) { myType = theType; } - - std::string value() const { return myValue; } - void setValue(const std::string& theValue) { myValue = theValue; } - + /// Get name of section + std::string section() const + { + return mySection; + } + /// Get name of property + std::string name() const + { + return myName; + } + /// Get title of property + std::string title() const + { + return myTitle; + } + /// Set title of property + void setTitle(const std::string& theTitle) + { + myTitle = theTitle; + } + /// Get type of property + PropType type() const + { + return myType; + } + /// Set type of property + void setType(PropType theType) + { + myType = theType; + } + /// Get property's value in string format + std::string value() const + { + return myValue; + } + /// Set property's value in string format + CONFIG_EXPORT void setValue(const std::string& theValue); + /// Get default value of property + std::string defaultValue() const + { + return myDefaultValue; + } + /// Set default value of property + CONFIG_EXPORT void setDefaultValue(const std::string& theValue); + /// Alows to compare Config_Prop with each other bool operator==(const Config_Prop* theProp) const { return (mySection == theProp->section()) && (myName == theProp->name()); } -private: - std::string mySection; - std::string myName; - std::string myTitle; - PropType myType; - std::string myValue; + private: + std::string mySection; ///< Name of section + std::string myName; ///< Name of property + std::string myTitle; ///< Title of property + PropType myType; ///< Type of property + std::string myValue; // Value in string format + std::string myDefaultValue; // Default value }; typedef std::list Config_Properties; -#endif \ No newline at end of file +#endif