Skip to content
Snippets Groups Projects
Commit 63c6a9bf authored by Joseph Mirabel's avatar Joseph Mirabel Committed by Joseph Mirabel
Browse files

Add WindowsManager::deleteNode

parent 95012cc5
No related branches found
No related tags found
No related merge requests found
......@@ -146,7 +146,7 @@ namespace graphics {
virtual bool createGroup(const char* groupNameCorba);
virtual bool addToGroup(const char* nodeNameCorba, const char* groupNameCorba);
virtual bool removeFromGroup (const char* nodeNameCorba, const char* groupNameCorba);
virtual bool deleteNode (const char* nodeNameCorba);
virtual bool applyConfiguration(const char* nodeNameCorba, const value_type* configuration);
......
......@@ -956,6 +956,29 @@ namespace graphics {
}
}
bool WindowsManager::deleteNode (const char* nodeNameCorba)
{
const std::string nodeName (nodeNameCorba);
if (nodes_.find (nodeName) == nodes_.end ()) {
std::cout << "Node name \"" << nodeName << "\" doesn't exist." << std::endl;
return false;
}
else {
/// Check if it is a group
if (groupNodes_.find (nodeName) != groupNodes_.end ()) {
groupNodes_.erase (nodeName);
}
NodePtr_t n = nodes_[nodeName];
std::map<std::string, GroupNodePtr_t>::iterator itg;
for (itg = groupNodes_.begin (); itg != groupNodes_.end(); ++itg) {
if (itg->second && itg->second->hasChild (n))
itg->second->removeChild(nodes_[nodeName]);
}
nodes_.erase (nodeName);
return true;
}
}
bool WindowsManager::applyConfiguration (const char* nodeNameCorba,
const value_type* configurationCorba)
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment