20 #include "model-node-creator.h"
23 ModelCreator::ModelCreator ()
28 ModelCreator::Build (GtkTreeStore *treestore)
30 m_treestore = treestore;
31 m_iters.push_back (0);
40 ModelCreator::Add (ModelNode *node)
42 GtkTreeIter *parent = m_iters.back ();
43 GtkTreeIter *current = g_new (GtkTreeIter, 1);
44 gtk_tree_store_append (m_treestore, current, parent);
45 gtk_tree_store_set (m_treestore, current,
47 m_iters.push_back (current);
50 ModelCreator::Remove (
void)
52 GtkTreeIter *iter = m_iters.back ();
58 ModelCreator::DoVisitAttribute (Ptr<Object>
object, std::string name)
60 ModelNode *node =
new ModelNode ();
61 node->type = ModelNode::NODE_ATTRIBUTE;
62 node->object = object;
68 ModelCreator::DoStartVisitObject (Ptr<Object>
object)
70 ModelNode *node =
new ModelNode ();
71 node->type = ModelNode::NODE_OBJECT;
72 node->object = object;
76 ModelCreator::DoEndVisitObject (
void)
81 ModelCreator::DoStartVisitPointerAttribute (Ptr<Object>
object, std::string name, Ptr<Object> value)
83 ModelNode *node =
new ModelNode ();
84 node->type = ModelNode::NODE_POINTER;
85 node->object = object;
90 ModelCreator::DoEndVisitPointerAttribute (
void)
95 ModelCreator::DoStartVisitArrayAttribute (Ptr<Object>
object, std::string name,
const ObjectPtrContainerValue &vector)
97 ModelNode *node =
new ModelNode ();
98 node->type = ModelNode::NODE_VECTOR;
99 node->object = object;
104 ModelCreator::DoEndVisitArrayAttribute (
void)
109 ModelCreator::DoStartVisitArrayItem (
const ObjectPtrContainerValue &vector, uint32_t index, Ptr<Object> item)
111 GtkTreeIter *parent = m_iters.back ();
112 GtkTreeIter *current = g_new (GtkTreeIter, 1);
113 ModelNode *node =
new ModelNode ();
114 node->type = ModelNode::NODE_VECTOR_ITEM;
117 gtk_tree_store_append (m_treestore, current, parent);
118 gtk_tree_store_set (m_treestore, current,
121 m_iters.push_back (current);
124 ModelCreator::DoEndVisitArrayItem (
void)
126 GtkTreeIter *iter = m_iters.back ();
#define NS_ASSERT(condition)