From 7c0550cf344b2830a3a48fe83e91ca4aac49f61e Mon Sep 17 00:00:00 2001 From: Rainer Kartmann <rainer.kartmann@kit.edu> Date: Tue, 15 Jun 2021 09:54:01 +0200 Subject: [PATCH] Minor refactor --- .../tree_builders/TypedDataTreeBuilder.cpp | 38 ++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) 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 e6e35ba6a..56d204abf 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) { -- GitLab