diff --git a/source/RobotAPI/libraries/skills_gui/aron_tree_widget/AronTreeWidgetController.cpp b/source/RobotAPI/libraries/skills_gui/aron_tree_widget/AronTreeWidgetController.cpp index 2c877a7f5c52a732d991db7d6e2866db46f9064d..8c24f906fef8edea5f33db3b4a890431f5bc7bb4 100644 --- a/source/RobotAPI/libraries/skills_gui/aron_tree_widget/AronTreeWidgetController.cpp +++ b/source/RobotAPI/libraries/skills_gui/aron_tree_widget/AronTreeWidgetController.cpp @@ -136,7 +136,7 @@ namespace armarx::skills::gui void AronTreeWidgetController::onTreeWidgetItemChanged(QTreeWidgetItem* item, int column) { - + tree->blockSignals(true); auto* aronElem = AronTreeWidgetItem::DynamicCast(item); @@ -160,6 +160,7 @@ namespace armarx::skills::gui // else perhaps the GUI was stopped or died. tree->blockSignals(false); + } } // namespace armarx::skills::gui diff --git a/source/RobotAPI/libraries/skills_gui/aron_tree_widget/AronTreeWidgetItem.cpp b/source/RobotAPI/libraries/skills_gui/aron_tree_widget/AronTreeWidgetItem.cpp index acbd6b8768f0aa392b57ea77b23c0878f042966d..5f24c40c959e8008457c096b4d872e8407041ab8 100644 --- a/source/RobotAPI/libraries/skills_gui/aron_tree_widget/AronTreeWidgetItem.cpp +++ b/source/RobotAPI/libraries/skills_gui/aron_tree_widget/AronTreeWidgetItem.cpp @@ -149,7 +149,7 @@ namespace armarx::skills::gui void AronTreeWidgetItem::onUserChange(int changedColumn) { - + QTreeWidgetItem* qParent = QTreeWidgetItem::parent(); ARMARX_CHECK(qParent); AronTreeWidgetItem* aronParent = DynamicCast(qParent); @@ -173,6 +173,7 @@ namespace armarx::skills::gui preventIllegalKeyChange(); } } + } void diff --git a/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetConverter.cpp b/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetConverter.cpp index 173e8dca168ccb4a004a6822d5fbc4bb4ddcf174..b4c2802ec6df6bac0e783c29ad9b65201e5f537a 100644 --- a/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetConverter.cpp +++ b/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetConverter.cpp @@ -75,18 +75,19 @@ namespace armarx::skills::gui void AronTreeWidgetConverterVisitor::handleErrors(bool ownFault) { - + ARMARX_TRACE; isDirectError = ownFault; auto* aronItem = AronTreeWidgetItem::DynamicCast(parentItem->child(index)); ARMARX_CHECK(aronItem); aronItem->setValueErrorState(isDirectError, false); + } void AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::ObjectPtr& i) { - + ARMARX_TRACE; auto createdAronDict = std::make_shared<aron::data::Dict>(i->getPath()); createdAron = createdAronDict; @@ -115,12 +116,13 @@ namespace armarx::skills::gui createdAronDict->addElement(key, v.createdAron); } } + } void AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::DictPtr& i) { - + ARMARX_TRACE; auto createdAronDict = std::make_shared<aron::data::Dict>(i->getPath()); createdAron = createdAronDict; @@ -149,12 +151,13 @@ namespace armarx::skills::gui createdAronDict->addElement(key, v.createdAron); } } + } void AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::ListPtr& i) { - + ARMARX_TRACE; auto createdAronList = std::make_shared<aron::data::List>(i->getPath()); createdAron = createdAronList; @@ -183,12 +186,13 @@ namespace armarx::skills::gui createdAronList->addElement(convVisitor.createdAron); } } + } void AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::PairPtr& i) { - + ARMARX_TRACE; auto createdAronPair = std::make_shared<aron::data::List>(i->getPath()); createdAron = createdAronPair; @@ -213,12 +217,13 @@ namespace armarx::skills::gui createdAronPair->addElement(convVisitor.createdAron); } } + } void AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::TuplePtr& i) { - + ARMARX_TRACE; auto createdAronList = std::make_shared<aron::data::List>(i->getPath()); createdAron = createdAronList; @@ -246,6 +251,7 @@ namespace armarx::skills::gui createdAronList->addElement(v.createdAron); } } + } void @@ -258,7 +264,7 @@ namespace armarx::skills::gui void AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::MatrixPtr& i) { - + ARMARX_TRACE; auto createdMatrix = std::make_shared<aron::data::NDArray>(i->getPath()); int dataSize = 0; @@ -283,7 +289,7 @@ namespace armarx::skills::gui break; }; - + // UGLY HACK: FIX ME!!! switch (i->getElementType()) { @@ -316,7 +322,7 @@ namespace armarx::skills::gui break; }; - + createdMatrix->setShape({i->getRows(), i->getCols(), dataSize}); int totalByteSize = i->getRows() * i->getCols() * dataSize; createdAron = createdMatrix; @@ -332,7 +338,7 @@ namespace armarx::skills::gui } } - + auto* rootWidget = el->treeWidget(); ARMARX_CHECK(rootWidget); auto* widget = rootWidget->itemWidget(el, 1); @@ -346,7 +352,7 @@ namespace armarx::skills::gui return; } - + // write to aron data std::vector<unsigned char> elems; elems.reserve(totalByteSize); @@ -362,12 +368,13 @@ namespace armarx::skills::gui } } createdMatrix->setData(totalByteSize, elems.data()); + } void AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::QuaternionPtr& i) { - + ARMARX_TRACE; auto createdQuat = std::make_shared<aron::data::NDArray>(i->getPath()); createdAron = createdQuat; @@ -404,6 +411,7 @@ namespace armarx::skills::gui << "serialized quaternions did not return byte sequence of correct length!"; } createdQuat->setData(serialized.size(), serialized.data()); + } void @@ -423,7 +431,7 @@ namespace armarx::skills::gui void AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::IntEnumPtr& i) { - + ARMARX_TRACE; QTreeWidgetItem* el = parentItem->child(index); @@ -448,12 +456,13 @@ namespace armarx::skills::gui std::tie(success, createdAron) = intEnumWidget->parseToAron(); handleErrors(!success); + } void AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::IntPtr& i) { - + ARMARX_TRACE; auto createdAronInt = std::make_shared<aron::data::Int>(i->getPath()); createdAron = createdAronInt; @@ -488,12 +497,13 @@ namespace armarx::skills::gui return; } handleErrors(false); + } void AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::LongPtr& i) { - + ARMARX_TRACE; auto createdAronLong = std::make_shared<aron::data::Long>(i->getPath()); createdAron = createdAronLong; @@ -527,12 +537,13 @@ namespace armarx::skills::gui return; } handleErrors(false); + } void AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::FloatPtr& i) { - + ARMARX_TRACE; auto createdAronFloat = std::make_shared<aron::data::Float>(i->getPath()); createdAron = createdAronFloat; @@ -565,12 +576,13 @@ namespace armarx::skills::gui return; } handleErrors(false); + } void AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::DoublePtr& i) { - + ARMARX_TRACE; auto createdAronDouble = std::make_shared<aron::data::Double>(i->getPath()); createdAron = createdAronDouble; @@ -603,12 +615,13 @@ namespace armarx::skills::gui return; } handleErrors(false); + } void AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::BoolPtr& i) { - + ARMARX_TRACE; auto createdAronBool = std::make_shared<aron::data::Bool>(i->getPath()); createdAron = createdAronBool; @@ -641,12 +654,13 @@ namespace armarx::skills::gui return; } handleErrors(false); + } void AronTreeWidgetConverterVisitor::visitAronVariant(const aron::type::StringPtr& i) { - + ARMARX_TRACE; auto createdAronString = std::make_shared<aron::data::String>(i->getPath()); createdAron = createdAronString; @@ -669,6 +683,7 @@ namespace armarx::skills::gui std::string str = el->text(1).toStdString(); createdAronString->setValue(str); + } void diff --git a/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetSetter.cpp b/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetSetter.cpp index 796de3584daf9646557479b170e605bb93ea059a..373086b4f4542e22d99e01cc2ce2c0a37286c046 100644 --- a/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetSetter.cpp +++ b/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetSetter.cpp @@ -35,12 +35,12 @@ template <typename T> std::string usString(T number, size_t precision = 3) { - + std::stringstream ss; const char* locale = "C"; ss.imbue(std::locale(locale)); ss << std::fixed << std::setprecision(precision) << number; - + return ss.str(); } @@ -103,7 +103,7 @@ namespace armarx::skills::gui void AronTreeWidgetSetterVisitor::visitAronVariant(const aron::data::DictPtr& i) { - + // either it is the root or it has a name if (i->getPath().size() == 0 || checkTreeWidgetItemForSimilarName(i->getPath().getLastElement())) @@ -128,12 +128,13 @@ namespace armarx::skills::gui el->setCheckState(1, Qt::CheckState::Checked); } } + } void AronTreeWidgetSetterVisitor::visitAronVariant(const aron::data::ListPtr& i) { - + if (checkTreeWidgetItemForSimilarName(i->getPath().getLastElement())) { AronTreeWidgetItem* el = AronTreeWidgetItem::DynamicCast(parentItem->child(index)); @@ -164,6 +165,7 @@ namespace armarx::skills::gui el->setCheckState(1, Qt::CheckState::Checked); } } + } void @@ -171,7 +173,7 @@ namespace armarx::skills::gui const std::shared_ptr<armarx::aron::type::Matrix>& matrixType, const aron::data::NDArrayPtr& arr) { - + auto elemType = matrixType->getElementType(); auto* rawData = arr->getData(); // string can convert any item @@ -254,7 +256,7 @@ namespace armarx::skills::gui std::shared_ptr<armarx::aron::type::Quaternion>& quatType, const aron::data::NDArrayPtr& arr) { - + auto elemType = quatType->getElementType(); auto rawData = arr->getData(); auto shape = arr->getShape(); @@ -285,12 +287,13 @@ namespace armarx::skills::gui { quatWidget->setText((QuaternionWidget::QuaternionComponents)i, toString(i)); } + } void AronTreeWidgetSetterVisitor::visitAronVariant(const aron::data::NDArrayPtr& arr) { - + // Matrices are handled as NDArray. Raw ndarrays cannot be created currently auto* el = AronTreeWidgetItem::DynamicCast(parentItem->child(index)); ARMARX_CHECK(el); @@ -321,12 +324,13 @@ namespace armarx::skills::gui { el->setCheckState(1, Qt::CheckState::Checked); } + } void AronTreeWidgetSetterVisitor::visitAronVariant(const aron::data::IntPtr& i) { - + if (checkTreeWidgetItemForSimilarName(i->getPath().getLastElement())) { AronTreeWidgetItem* el = AronTreeWidgetItem::DynamicCast(parentItem->child(index)); @@ -348,12 +352,13 @@ namespace armarx::skills::gui el->setCheckState(1, Qt::CheckState::Checked); } } + } void AronTreeWidgetSetterVisitor::visitAronVariant(const aron::data::LongPtr& i) { - + if (checkTreeWidgetItemForSimilarName(i->getPath().getLastElement())) { AronTreeWidgetItem* el = AronTreeWidgetItem::DynamicCast(parentItem->child(index)); @@ -364,6 +369,7 @@ namespace armarx::skills::gui el->setCheckState(1, Qt::CheckState::Checked); } } + } void @@ -380,12 +386,13 @@ namespace armarx::skills::gui el->setCheckState(1, Qt::CheckState::Checked); } } + } void AronTreeWidgetSetterVisitor::visitAronVariant(const aron::data::DoublePtr& i) { - + if (checkTreeWidgetItemForSimilarName(i->getPath().getLastElement())) { AronTreeWidgetItem* el = AronTreeWidgetItem::DynamicCast(parentItem->child(index)); @@ -396,12 +403,13 @@ namespace armarx::skills::gui el->setCheckState(1, Qt::CheckState::Checked); } } + } void AronTreeWidgetSetterVisitor::visitAronVariant(const aron::data::BoolPtr& i) { - + if (checkTreeWidgetItemForSimilarName(i->getPath().getLastElement())) { AronTreeWidgetItem* el = AronTreeWidgetItem::DynamicCast(parentItem->child(index)); @@ -412,12 +420,13 @@ namespace armarx::skills::gui el->setCheckState(1, Qt::CheckState::Checked); } } + } void AronTreeWidgetSetterVisitor::visitAronVariant(const aron::data::StringPtr& i) { - + if (checkTreeWidgetItemForSimilarName(i->getPath().getLastElement())) { AronTreeWidgetItem* el = AronTreeWidgetItem::DynamicCast(parentItem->child(index)); @@ -428,6 +437,7 @@ namespace armarx::skills::gui el->setCheckState(1, Qt::CheckState::Checked); } } + } void