From 65e76a9e05cdf04eeb8b73165969b0438c35b92d Mon Sep 17 00:00:00 2001 From: Joseph Mirabel <jmirabel@laas.fr> Date: Thu, 2 Apr 2015 16:19:40 +0200 Subject: [PATCH] Enhance listing of nodes, groups and windows. --- .../gepetto/viewer/corba/windows-manager.h | 5 ++-- src/windows-manager.cpp | 28 +++++++++++++++---- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/include/gepetto/viewer/corba/windows-manager.h b/include/gepetto/viewer/corba/windows-manager.h index f05bee8..1bc4653 100644 --- a/include/gepetto/viewer/corba/windows-manager.h +++ b/include/gepetto/viewer/corba/windows-manager.h @@ -72,8 +72,9 @@ namespace graphics { public: static WindowsManagerPtr_t create (); - virtual void getNodeList(); - virtual void getWindowList(); + virtual std::vector<std::string> getNodeList(); + virtual std::vector<std::string> getSceneList(); + virtual std::vector<std::string> getWindowList(); virtual bool setRate(const int& rate); virtual void refresh(); diff --git a/src/windows-manager.cpp b/src/windows-manager.cpp index dd2ce36..ad2e8d9 100644 --- a/src/windows-manager.cpp +++ b/src/windows-manager.cpp @@ -479,25 +479,41 @@ namespace graphics { } } - void WindowsManager::getNodeList () + std::vector<std::string> WindowsManager::getNodeList () { + std::vector<std::string> l; std::cout << "List of Nodes :" << std::endl; for (std::map<std::string, NodePtr_t>::iterator it=nodes_.begin (); - it!=nodes_.end (); ++it) + it!=nodes_.end (); ++it) { std::cout << " " << it->first << std::endl; + l.push_back (it->first); + } + return l; + } + + std::vector<std::string> WindowsManager::getSceneList () + { + std::vector<std::string> l; std::cout << "List of GroupNodes :" << std::endl; for (std::map<std::string, GroupNodePtr_t>::iterator it= - groupNodes_.begin (); it!=groupNodes_.end (); ++it) + groupNodes_.begin (); it!=groupNodes_.end (); ++it) { std::cout << " " << it->first << std::endl; + l.push_back (it->first); + } + return l; } - void WindowsManager::getWindowList () + std::vector<std::string> WindowsManager::getWindowList () { + std::vector<std::string> l; std::cout << "List of Windows :" << std::endl; size_t rank = 0; for (WindowManagerVector_t::iterator it = windowManagers_.begin (); - it!=windowManagers_.end (); ++it) - std::cout << rank << " - " << (*it)->getViewerClone ()->getSlave (0)._camera->getGraphicsContext ()->getTraits ()->windowName << std::endl; + it!=windowManagers_.end (); ++it) { + std::cout << rank << " - " << (*it)->getViewerClone ()->getCamera()->getGraphicsContext ()->getTraits ()->windowName << std::endl; + l.push_back ((*it)->getViewerClone ()->getCamera()->getGraphicsContext ()->getTraits ()->windowName); + } + return l; } bool WindowsManager::createGroup (const char* groupNameCorba) -- GitLab