1 // Copyright (C) 2014-2019 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 email : webmaster.salome@opencascade.com
23 #include "Config_def.h"
28 static const char SKETCH_TAB_NAME[] = "Sketch";
32 * \brief Class which describes a one property
39 /// Type of stored property
67 * Creates a one property
68 * \param theSection - name of section (domain of using) of the property.
69 * \param theName - name (title) of the value.
70 * \param theTitle - title of the value
71 * \param theType - type of the value.
72 * \param theDefaultValue - default value of the property. This is an initial property value
74 Config_Prop(const std::string& theSection, const std::string& theName,
75 const std::string& theTitle, PropType theType,
76 const std::string& theDefaultValue,
77 const std::string& theMin, const std::string& theMax)
79 mySection = theSection;
83 myValue = theDefaultValue;
84 myDefaultValue = theDefaultValue;
89 /// Get name of section
90 std::string section() const
94 /// Get name of property
95 std::string name() const
99 /// Get title of property
100 std::string title() const
104 /// Set title of property
105 void setTitle(const std::string& theTitle)
109 /// Get type of property
110 PropType type() const
114 /// Set type of property
115 void setType(PropType theType)
119 /// Get property's value in string format
120 std::string value() const
124 /// Set property's value in string format
125 CONFIG_EXPORT void setValue(const std::string& theValue);
126 /// Get default value of property
127 std::string defaultValue() const
129 return myDefaultValue;
131 /// Set default value of property
132 CONFIG_EXPORT void setDefaultValue(const std::string& theValue);
133 /// Alows to compare Config_Prop with each other
134 bool operator==(const Config_Prop* theProp) const
136 return (mySection == theProp->section()) && (myName == theProp->name());
139 /// Returns minimal value
140 std::string min() const { return myMin; }
142 void setMin(const std::string& theMin) {
146 /// Returns maximal value
147 std::string max() const { return myMax; }
149 void setMax(const std::string& theMax) {
154 std::string mySection; ///< Name of section
155 std::string myName; ///< Name of property
156 std::string myTitle; ///< Title of property
157 PropType myType; ///< Type of property
158 std::string myValue; // Value in string format
159 std::string myDefaultValue; // Default value
160 std::string myMin; // Minimal value
161 std::string myMax; // Maximal value
164 typedef std::list<Config_Prop*> Config_Properties;