ARGoS 3
A parallel, multi-engine simulator for swarm robotics
qtopengl_lua_statetree_item.cpp
Go to the documentation of this file.
1
8#include <cstdio>
9
10namespace argos {
11
12 /****************************************/
13 /****************************************/
14
17
18 /****************************************/
19 /****************************************/
20
22 CQTOpenGLLuaStateTreeItem* pc_parent) :
23 m_listData(list_data),
24 m_pcParent(pc_parent) {}
25
26 /****************************************/
27 /****************************************/
28
30 qDeleteAll(m_listChildren);
31 }
32
33 /****************************************/
34 /****************************************/
35
39
40 /****************************************/
41 /****************************************/
42
44 return m_listChildren.value(un_idx);
45 }
46
47 /****************************************/
48 /****************************************/
49
51 m_listChildren.append(pc_child);
52 }
53
54 /****************************************/
55 /****************************************/
56
58 m_listChildren.removeOne(pc_child);
59 }
60
61 /****************************************/
62 /****************************************/
63
65 return m_listChildren.count();
66 }
67
68 /****************************************/
69 /****************************************/
70
72 const CQTOpenGLLuaStateTreeItem* pc_i2) {
73#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
74 if(pc_i1->GetData(0).typeId() == QMetaType::Double &&
75 pc_i2->GetData(0).typeId() == QMetaType::Double) {
76#else
77 if(pc_i1->GetData(0).type() == QVariant::Double &&
78 pc_i2->GetData(0).type() == QVariant::Double) {
79#endif
80 return pc_i1->GetData(0).toDouble() < pc_i2->GetData(0).toDouble();
81 }
82 else {
83 return pc_i1->GetData(0).toString().toLower() < pc_i2->GetData(0).toString().toLower();
84 }
85 }
86
88 std::sort(m_listChildren.begin(), m_listChildren.end(), ItemLessThan);
89 foreach(CQTOpenGLLuaStateTreeItem* pcItem, m_listChildren) {
90 pcItem->SortChildren();
91 }
92 }
93
94 /****************************************/
95 /****************************************/
96
97 QVariant CQTOpenGLLuaStateTreeItem::GetData(int n_col) const {
98 return m_listData.value(n_col);
99 }
100
101 /****************************************/
102 /****************************************/
103
105 if(m_pcParent != NULL) {
106 return m_pcParent->m_listChildren.indexOf(const_cast<CQTOpenGLLuaStateTreeItem*>(this));
107 }
108 else {
109 return 0;
110 }
111 }
112
113 /****************************************/
114 /****************************************/
115
116}
The namespace containing all the ARGoS related code.
Definition ci_actuator.h:12
bool ItemLessThan(const CQTOpenGLLuaStateTreeItem *pc_i1, const CQTOpenGLLuaStateTreeItem *pc_i2)
void AddChild(CQTOpenGLLuaStateTreeItem *pc_child)
CQTOpenGLLuaStateTreeItem(CQTOpenGLLuaStateTreeItem *pc_parent=0)
void RemoveChild(CQTOpenGLLuaStateTreeItem *pc_child)
CQTOpenGLLuaStateTreeItem * GetChild(size_t un_idx)