|
@@ -60,7 +60,17 @@ PropertyDefinition& PropertySpecification::RegisterProperty(const String& proper
|
|
|
// Delete any existing property.
|
|
// Delete any existing property.
|
|
|
PropertyMap::iterator iterator = properties.find(lower_case_name);
|
|
PropertyMap::iterator iterator = properties.find(lower_case_name);
|
|
|
if (iterator != properties.end())
|
|
if (iterator != properties.end())
|
|
|
|
|
+ {
|
|
|
delete (*iterator).second;
|
|
delete (*iterator).second;
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ property_names.insert(lower_case_name);
|
|
|
|
|
+ if (inherited)
|
|
|
|
|
+ {
|
|
|
|
|
+ inherited_property_names.insert(lower_case_name);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
properties[lower_case_name] = property_definition;
|
|
properties[lower_case_name] = property_definition;
|
|
|
return *property_definition;
|
|
return *property_definition;
|
|
@@ -77,10 +87,15 @@ const PropertyDefinition* PropertySpecification::GetProperty(const String& prope
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Fetches a list of the names of all registered property definitions.
|
|
// Fetches a list of the names of all registered property definitions.
|
|
|
-void PropertySpecification::GetRegisteredProperties(PropertyNameList& _properties) const
|
|
|
|
|
|
|
+const PropertyNameList& PropertySpecification::GetRegisteredProperties(void) const
|
|
|
{
|
|
{
|
|
|
- for (PropertyMap::const_iterator i = properties.begin(); i != properties.end(); ++i)
|
|
|
|
|
- _properties.insert((*i).first);
|
|
|
|
|
|
|
+ return property_names;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// Fetches a list of the names of all registered property definitions.
|
|
|
|
|
+const PropertyNameList& PropertySpecification::GetRegisteredInheritedProperties(void) const
|
|
|
|
|
+{
|
|
|
|
|
+ return inherited_property_names;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Registers a shorthand property definition.
|
|
// Registers a shorthand property definition.
|