ARGoS  3
A parallel, multi-engine simulator for swarm robotics
plugins/simulator/visualizations/qt-opengl/qtopengl_lua_statetree_item.h
Go to the documentation of this file.
00001 
00006 #ifndef QTOPENGL_LUA_STATETREE_ITEM_H
00007 #define QTOPENGL_LUA_STATETREE_ITEM_H
00008 
00009 namespace argos {
00010    class CQTOpenGLLuaStateTreeItem;
00011 }
00012 
00013 #include <QList>
00014 #include <QVariant>
00015 
00016 namespace argos {
00017 
00018    class CQTOpenGLLuaStateTreeItem {
00019 
00020    public:
00021 
00022       CQTOpenGLLuaStateTreeItem(CQTOpenGLLuaStateTreeItem* pc_parent = 0);
00023       CQTOpenGLLuaStateTreeItem(QList<QVariant>& list_data,
00024                                 CQTOpenGLLuaStateTreeItem* pc_parent = 0);
00025       ~CQTOpenGLLuaStateTreeItem();
00026 
00027       CQTOpenGLLuaStateTreeItem* GetParent();
00028 
00029       CQTOpenGLLuaStateTreeItem* GetChild(size_t un_idx);
00030 
00031       void AddChild(CQTOpenGLLuaStateTreeItem* pc_child);
00032 
00033       void RemoveChild(CQTOpenGLLuaStateTreeItem* pc_child);
00034 
00035       size_t GetNumChildren() const;
00036 
00037       void SortChildren();
00038 
00039       QVariant GetData(int n_col) const;
00040 
00041       int GetRow();
00042 
00043    private:
00044 
00045       QList<QVariant> m_listData;
00046       CQTOpenGLLuaStateTreeItem* m_pcParent;
00047       QList<CQTOpenGLLuaStateTreeItem*> m_listChildren;
00048 
00049    };
00050 
00051 }
00052 
00053 #endif