Skip to content

Commit

Permalink
Re #9266. Adding docstrings to all of the python methods.
Browse files Browse the repository at this point in the history
  • Loading branch information
peterfpeterson committed Apr 9, 2014
1 parent 0e9d0da commit 5e81182
Showing 1 changed file with 34 additions and 19 deletions.
Expand Up @@ -125,45 +125,60 @@ void export_IPropertyManager()
register_ptr_to_python<IPropertyManager*>();

class_<IPropertyManager, boost::noncopyable>("IPropertyManager", no_init)
.def("propertyCount", &IPropertyManager::propertyCount, "Returns the number of properties being managed")
.def("propertyCount", &IPropertyManager::propertyCount, args("self"),
"Returns the number of properties being managed")

.def("getProperty", &IPropertyManager::getPointerToProperty, return_value_policy<return_by_value>(),
"Returns the property of the given name. Use .value to give the value")
.def("getProperty", &IPropertyManager::getPointerToProperty, args("self", "name"),
return_value_policy<return_by_value>(),
"Returns the property of the given name. Use .value to give the value")

.def("getPropertyValue", &IPropertyManager::getPropertyValue,
.def("getPropertyValue", &IPropertyManager::getPropertyValue, args("self", "name"),
"Returns a string representation of the named property's value")

.def("getProperties", &IPropertyManager::getProperties, return_value_policy<copy_const_reference>(),
.def("getProperties", &IPropertyManager::getProperties, args("self"),
return_value_policy<copy_const_reference>(),
"Returns the list of properties managed by this object")

.def("declareProperty", &declareProperty, "Create a new named property")
.def("declareProperty", &declareProperty, args("self", "name", "value"),
"Create a new named property")

.def("setPropertyValue", &IPropertyManager::setPropertyValue,
.def("setPropertyValue", &IPropertyManager::setPropertyValue, args("self", "name", "value"),
"Set the value of the named property via a string")

.def("setProperty", &setProperty, "Set the value of the named property")
.def("setProperty", &setProperty, args("self", "name", "value"),
"Set the value of the named property")

.def("setPropertySettings", &setPropertySettings,
.def("setPropertySettings", &setPropertySettings, args("self", "name", "settingsManager"),
"Assign the given IPropertySettings object to the named property")

.def("setPropertyGroup", &IPropertyManager::setPropertyGroup, "Set the group for a given property")
.def("setPropertyGroup", &IPropertyManager::setPropertyGroup, args("self", "name", "group"),
"Set the group for a given property")

.def("existsProperty", &IPropertyManager::existsProperty,
.def("existsProperty", &IPropertyManager::existsProperty, args("self", "name"),
"Returns whether a property exists")

// Special methods so that IPropertyManager acts like a dictionary
// __len__, __getitem__, __setitem__, __delitem__, __iter__ and __contains__
.def("__len__", &IPropertyManager::propertyCount)
.def("__getitem__", &IPropertyManager::getPointerToProperty, return_value_policy<return_by_value>())
.def("__setitem__", &declareOrSetProperty)
.def("__delitem__", &deleteProperty)
.def("__len__", &IPropertyManager::propertyCount, args("self"),
"Returns the number of properties being managed")
.def("__getitem__", &IPropertyManager::getPointerToProperty, args("self", "name"),
return_value_policy<return_by_value>(),
"Returns the property of the given name. Use .value to give the value")
.def("__setitem__", &declareOrSetProperty, args("self", "name", "value"),
"Set the value of the named property or create it if it doesn't exist")
.def("__delitem__", &deleteProperty, args("self", "name"),
"Delete the named property")
// TODO .def("__iter__", iterator<std::vector<std::string> > ())
.def("__contains__", &IPropertyManager::existsProperty)
.def("__contains__", &IPropertyManager::existsProperty, args("self", "name"),
"Returns whether a property exists")

// Bonus methods to be even more like a dict
.def("has_key", &IPropertyManager::existsProperty)
.def("keys", &getKeys)
.def("values", &IPropertyManager::getProperties, return_value_policy<copy_const_reference>())
.def("has_key", &IPropertyManager::existsProperty, args("self", "name"),
"Returns whether a property exists")
.def("keys", &getKeys, args("self"))
.def("values", &IPropertyManager::getProperties, args("self"),
return_value_policy<copy_const_reference>(),
"Returns the list of properties managed by this object")
;
}

0 comments on commit 5e81182

Please sign in to comment.