X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FConfig%2FConfig_Prop.h;h=b9252a8c0b3bd8138aaa0806942e807c3cea5a6d;hb=60e95a5502a6940c6c27ce5d561b3c684b0b0a4f;hp=3e5ab7f42822b91e1b64e7206d0a924384d5fbe0;hpb=300f40cc0945ce614f9c0af668ac2b3094ec0524;p=modules%2Fshaper.git diff --git a/src/Config/Config_Prop.h b/src/Config/Config_Prop.h index 3e5ab7f42..b9252a8c0 100644 --- a/src/Config/Config_Prop.h +++ b/src/Config/Config_Prop.h @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + // File: Config_Prop.h // Created: 12 Aug 2014 // Author: Vitaly SMETANNIKOV @@ -13,47 +15,107 @@ /// Class which describes a one property class Config_Prop { -public: - - enum PropType { Auto, Space, Bool, Color, String, Selector, - DblSpin, IntSpin, Double, Integer, - GroupBox, Tab, Frame, Font, DirList, File, - Slider, Shortcut, ShortcutTree, BiColor, Background }; + public: + enum PropType + { + Disabled, + Space, + Bool, + 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 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 section() const { return mySection; } - std::string name() const { return myName; } - std::string title() const { return myTitle; } - PropType type() const { return myType; } - std::string value() const { return myValue; } + 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; + } + + CONFIG_EXPORT void setValue(const std::string& theValue); + + std::string defaultValue() const + { + return myDefaultValue; + } + + CONFIG_EXPORT void setDefaultValue(const std::string& theValue); + + bool operator==(const Config_Prop* theProp) const + { + return (mySection == theProp->section()) && (myName == theProp->name()); + } -private: + private: std::string mySection; std::string myName; std::string myTitle; PropType myType; std::string myValue; + std::string myDefaultValue; }; typedef std::list Config_Properties; -#endif \ No newline at end of file +#endif