1 // Copyright (C) 2014-2017 CEA/DEN, EDF R&D
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/ or
18 // email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
24 #include "Config_def.h"
29 static const char SKETCH_TAB_NAME[] = "Sketch";
33 * \brief Class which describes a one property
40 /// Type of stored property
68 * Creates a one property
69 * \param theSection - name of section (domain of using) of the property.
70 * \param theName - name (title) of the value.
71 * \param theTitle - title of the value
72 * \param theType - type of the value.
73 * \param theDefaultValue - default value of the property. This is an initial property value
75 Config_Prop(const std::string& theSection, const std::string& theName,
76 const std::string& theTitle, PropType theType,
77 const std::string& theDefaultValue,
78 const std::string& theMin, const std::string& theMax)
80 mySection = theSection;
84 myValue = theDefaultValue;
85 myDefaultValue = theDefaultValue;
90 /// Get name of section
91 std::string section() const
95 /// Get name of property
96 std::string name() const
100 /// Get title of property
101 std::string title() const
105 /// Set title of property
106 void setTitle(const std::string& theTitle)
110 /// Get type of property
111 PropType type() const
115 /// Set type of property
116 void setType(PropType theType)
120 /// Get property's value in string format
121 std::string value() const
125 /// Set property's value in string format
126 CONFIG_EXPORT void setValue(const std::string& theValue);
127 /// Get default value of property
128 std::string defaultValue() const
130 return myDefaultValue;
132 /// Set default value of property
133 CONFIG_EXPORT void setDefaultValue(const std::string& theValue);
134 /// Alows to compare Config_Prop with each other
135 bool operator==(const Config_Prop* theProp) const
137 return (mySection == theProp->section()) && (myName == theProp->name());
140 /// Returns minimal value
141 std::string min() const { return myMin; }
143 void setMin(const std::string& theMin) {
147 /// Returns maximal value
148 std::string max() const { return myMax; }
150 void setMax(const std::string& theMax) {
155 std::string mySection; ///< Name of section
156 std::string myName; ///< Name of property
157 std::string myTitle; ///< Title of property
158 PropType myType; ///< Type of property
159 std::string myValue; // Value in string format
160 std::string myDefaultValue; // Default value
161 std::string myMin; // Minimal value
162 std::string myMax; // Maximal value
165 typedef std::list<Config_Prop*> Config_Properties;