diff --git a/source/RobotAPI/libraries/armem_gui/instance/tree_builders/TypedDataTreeBuilder.cpp b/source/RobotAPI/libraries/armem_gui/instance/tree_builders/TypedDataTreeBuilder.cpp index e6e35ba6ab108d1ec11fe0e6e3dae9e24843b96b..56d204abf42573540c363c0973f4bf10db357317 100644 --- a/source/RobotAPI/libraries/armem_gui/instance/tree_builders/TypedDataTreeBuilder.cpp +++ b/source/RobotAPI/libraries/armem_gui/instance/tree_builders/TypedDataTreeBuilder.cpp @@ -44,6 +44,7 @@ namespace armarx::armem::gui::instance } } + void TypedDataTreeBuilder::updateTree( QTreeWidgetItem* parent, aron::typenavigator::ObjectNavigator& type, @@ -103,6 +104,7 @@ namespace armarx::armem::gui::instance } } + void TypedDataTreeBuilder::updateTree( QTreeWidgetItem* parent, aron::typenavigator::PairNavigator& type, @@ -127,6 +129,7 @@ namespace armarx::armem::gui::instance builder.updateTree(parent, getIndex(data.childrenSize())); } + void TypedDataTreeBuilder::updateTree( QTreeWidgetItem* parent, aron::typenavigator::TupleNavigator& type, @@ -157,53 +160,54 @@ namespace armarx::armem::gui::instance aron::typenavigator::Navigator& type, aron::datanavigator::Navigator& data) { - using namespace aron::typenavigator; + using namespace aron; - const std::string value = armarx::aron::TypedDataDisplayVisitor::getValue(type, data); - const std::string typeName = sanitizeTypeName(type.getName()); + const std::string value = aron::TypedDataDisplayVisitor::getValue(type, data); + const std::string typeName = instance::sanitizeTypeName(type.getName()); setRowTexts(item, key, value, typeName); - item->setData(columnKey, Qt::UserRole, serializePath(data.getPath())); + item->setData(columnKey, Qt::UserRole, instance::serializePath(data.getPath())); item->setData(columnType, Qt::UserRole, static_cast<int>(type.getDescriptor())); if (typeName == sanitizedMemoryIDTypeName) { MemoryIDTreeWidgetItem* memoryIDItem = dynamic_cast<MemoryIDTreeWidgetItem*>(item); - aron::datanavigator::DictNavigator* dictData = dynamic_cast<aron::datanavigator::DictNavigator*>(&data); + datanavigator::DictNavigator* dictData = dynamic_cast<datanavigator::DictNavigator*>(&data); if (memoryIDItem && dictData) { arondto::MemoryID dto; // Because fromAron does not take refs -.- - dto.fromAron(std::make_shared<aron::datanavigator::DictNavigator>(*dictData)); + dto.fromAron(std::make_shared<datanavigator::DictNavigator>(*dictData)); MemoryID id = aron::fromAron<MemoryID>(dto); memoryIDItem->setInstanceID(id); - return; + return; // Done, no recursion. } } - if (auto t = dynamic_cast<ObjectNavigator*>(&type)) + if (auto t = dynamic_cast<typenavigator::ObjectNavigator*>(&type)) { - _updateTree<aron::datanavigator::DictNavigator>(item, *t, data); + _updateTree<datanavigator::DictNavigator>(item, *t, data); } - else if (auto t = dynamic_cast<DictNavigator*>(&type)) + else if (auto t = dynamic_cast<typenavigator::DictNavigator*>(&type)) { - _updateTree<aron::datanavigator::DictNavigator>(item, *t, data); + _updateTree<datanavigator::DictNavigator>(item, *t, data); } - else if (auto t = dynamic_cast<ListNavigator*>(&type)) + else if (auto t = dynamic_cast<typenavigator::ListNavigator*>(&type)) { - _updateTree<aron::datanavigator::ListNavigator>(item, *t, data); + _updateTree<datanavigator::ListNavigator>(item, *t, data); } - else if (auto t = dynamic_cast<PairNavigator*>(&type)) + else if (auto t = dynamic_cast<typenavigator::PairNavigator*>(&type)) { - _updateTree<aron::datanavigator::ListNavigator>(item, *t, data); + _updateTree<datanavigator::ListNavigator>(item, *t, data); } - else if (auto t = dynamic_cast<TupleNavigator*>(&type)) + else if (auto t = dynamic_cast<typenavigator::TupleNavigator*>(&type)) { - _updateTree<aron::datanavigator::ListNavigator>(item, *t, data); + _updateTree<datanavigator::ListNavigator>(item, *t, data); } } + template <class DataT, class TypeT> void TypedDataTreeBuilder::_updateTree(QTreeWidgetItem* item, TypeT& type, aron::datanavigator::Navigator& data) {