TreeDataVisitor.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <sstream>
4 #include <stack>
5 
6 #include <QLabel>
7 #include <QTreeWidget>
8 
11 
13 {
14 
17  public TreeDataVisitorBase
18  {
19  public:
21 
22  void
24  {
25  const std::string key = n->getPath().getLastElement();
26  _visitEnter(key, "Dict", n->childrenSize());
27  }
28 
29  void
31  {
32  _visitExit();
33  }
34 
35  void
37  {
38  const std::string key = n->getPath().getLastElement();
39  _visitEnter(key, "List", n->childrenSize());
40  }
41 
42  void
44  {
45  _visitExit();
46  }
47 
48  void
49  visitBool(const aron::data::VariantPtr& b) override
50  {
51  const auto x = *aron::data::Bool::DynamicCastAndCheck(b);
52  const std::string key = b->getPath().getLastElement();
53  this->addValueRow(key, x, "Bool");
54  }
55 
56  void
58  {
59  const auto x = *aron::data::Double::DynamicCastAndCheck(d);
60  const std::string key = d->getPath().getLastElement();
61  this->addValueRow(key, x, "Double");
62  }
63 
64  void
66  {
67  const auto x = *aron::data::Float::DynamicCastAndCheck(f);
68  const std::string key = f->getPath().getLastElement();
69  this->addValueRow(key, x, "Float");
70  }
71 
72  void
73  visitInt(const aron::data::VariantPtr& i) override
74  {
75  const auto x = *aron::data::Int::DynamicCastAndCheck(i);
76  const std::string key = i->getPath().getLastElement();
77  this->addValueRow(key, x, "Int");
78  }
79 
80  void
81  visitLong(const aron::data::VariantPtr& l) override
82  {
83  const auto x = *aron::data::Long::DynamicCastAndCheck(l);
84  const std::string key = l->getPath().getLastElement();
85  this->addValueRow(key, x, "Long");
86  }
87 
88  void
89  visitString(const aron::data::VariantPtr& string) override
90  {
91  const auto x = *aron::data::String::DynamicCastAndCheck(string);
92  const std::string key = string->getPath().getLastElement();
93  this->addValueRow(key, x, "String");
94  }
95 
96  void
97  visitNDArray(const aron::data::VariantPtr& array) override
98  {
99  const auto x = *aron::data::NDArray::DynamicCastAndCheck(array);
100  const std::string key = array->getPath().getLastElement();
101  this->addValueRow(key, x, "ND Array");
102  }
103  };
104 
105 
106 } // namespace armarx::armem::gui::instance
armarx::armem::gui::instance::TreeDataVisitorBase
Definition: TreeDataVisitorBase.h:14
armarx::armem::gui::instance::TreeDataVisitor::visitBool
void visitBool(const aron::data::VariantPtr &b) override
Definition: TreeDataVisitor.h:49
armarx::armem::gui::instance::TreeDataVisitor::visitInt
void visitInt(const aron::data::VariantPtr &i) override
Definition: TreeDataVisitor.h:73
armarx::armem::gui::instance::TreeDataVisitor
Definition: TreeDataVisitor.h:15
armarx::aron::data::detail::SpecializedVariantBase< data::dto::AronBool, Bool >::DynamicCastAndCheck
static PointerType DynamicCastAndCheck(const VariantPtr &n)
Definition: SpecializedVariant.h:134
armarx::armem::gui::instance::TreeDataVisitor::visitFloat
void visitFloat(const aron::data::VariantPtr &f) override
Definition: TreeDataVisitor.h:65
armarx::armem::gui::instance::TreeDataVisitor::visitString
void visitString(const aron::data::VariantPtr &string) override
Definition: TreeDataVisitor.h:89
armarx::armem::gui::instance::TreeDataVisitorBase::TreeDataVisitorBase
TreeDataVisitorBase()
Definition: TreeDataVisitorBase.cpp:10
armarx::armem::gui::instance::TreeDataVisitor::visitLong
void visitLong(const aron::data::VariantPtr &l) override
Definition: TreeDataVisitor.h:81
armarx::aron::data::VariantPtr
std::shared_ptr< Variant > VariantPtr
Definition: forward_declarations.h:11
armarx::armem::gui::instance::TreeDataVisitorBase::_visitExit
bool _visitExit()
Definition: TreeDataVisitorBase.cpp:55
armarx::armem::gui::instance::TreeDataVisitor::visitDictOnExit
void visitDictOnExit(const aron::data::VariantPtr &) override
Definition: TreeDataVisitor.h:30
armarx::armem::gui::instance::TreeDataVisitor::visitDictOnEnter
void visitDictOnEnter(const aron::data::VariantPtr &n) override
Definition: TreeDataVisitor.h:23
armarx::armem::gui::instance
Definition: AronDataView.cpp:3
armarx::armem::gui::instance::TreeDataVisitorBase::_visitEnter
bool _visitEnter(const std::string &key, const std::string &type, size_t numChildren)
Definition: TreeDataVisitorBase.cpp:32
All.h
armarx::aron::data::RecursiveConstVariantVisitor
Definition: VariantVisitor.h:121
armarx::armem::gui::instance::TreeDataVisitor::visitDouble
void visitDouble(const aron::data::VariantPtr &d) override
Definition: TreeDataVisitor.h:57
armarx::armem::gui::instance::TreeDataVisitorBase::addValueRow
bool addValueRow(const std::string &key, Navigator &n, const std::string &typeName)
Definition: TreeDataVisitorBase.h:31
TreeDataVisitorBase.h
armarx::armem::gui::instance::TreeDataVisitor::visitListOnExit
void visitListOnExit(const aron::data::VariantPtr &) override
Definition: TreeDataVisitor.h:43
armarx::armem::gui::instance::TreeDataVisitor::visitListOnEnter
void visitListOnEnter(const aron::data::VariantPtr &n) override
Definition: TreeDataVisitor.h:36
armarx::armem::gui::instance::TreeDataVisitor::visitNDArray
void visitNDArray(const aron::data::VariantPtr &array) override
Definition: TreeDataVisitor.h:97