Get Canvas/PropertyBasedElement by name
This commit is contained in:
@@ -18,6 +18,8 @@
|
||||
|
||||
#include "PropertyBasedMgr.hxx"
|
||||
|
||||
#include <boost/foreach.hpp>
|
||||
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
|
||||
@@ -65,6 +67,20 @@ namespace simgear
|
||||
return _elements[index];
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
PropertyBasedElementPtr
|
||||
PropertyBasedMgr::getElement(const std::string& name) const
|
||||
{
|
||||
if( name.empty() )
|
||||
return PropertyBasedElementPtr();
|
||||
|
||||
BOOST_FOREACH(PropertyBasedElementPtr el, _elements)
|
||||
if( el->getProps()->getStringValue("name") == name )
|
||||
return el;
|
||||
|
||||
return PropertyBasedElementPtr();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
const SGPropertyNode* PropertyBasedMgr::getPropertyRoot() const
|
||||
{
|
||||
|
||||
@@ -53,6 +53,13 @@ namespace simgear
|
||||
*/
|
||||
PropertyBasedElementPtr getElement(size_t index) const;
|
||||
|
||||
/**
|
||||
* Get an existing PropertyBasedElement by its name
|
||||
*
|
||||
* @param name Name (value of child node "name" will be matched)
|
||||
*/
|
||||
PropertyBasedElementPtr getElement(const std::string& name) const;
|
||||
|
||||
virtual const SGPropertyNode* getPropertyRoot() const;
|
||||
|
||||
protected:
|
||||
|
||||
Reference in New Issue
Block a user