qtopengl_lua_statetree_item.cpp
Go to the documentation of this file.
1 
8 #include <cstdio>
9 
10 namespace argos {
11 
12  /****************************************/
13  /****************************************/
14 
16  m_pcParent(pc_parent) {}
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 
37  return m_pcParent;
38  }
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)