Trying to implement QAbstractItemModel for parse trees, haven't got it working yet...
[kugel-rb.git] / utils / themeeditor / parsetreenode.cpp
blob97cb559906fa045a23fe1959a4ece6376fd829e8
1 #include "parsetreenode.h"
3 ParseTreeNode::ParseTreeNode(struct skin_element* data, ParseTreeNode* parent,
4 bool stop):
5 parentLink(parent), element(data)
8 if(stop)
9 return;
10 for(int i = 0; i < 5; i++)
11 appendChild(new ParseTreeNode(data, this, true));
14 ParseTreeNode::~ParseTreeNode()
16 qDeleteAll(children);
19 void ParseTreeNode::appendChild(ParseTreeNode* child)
21 children.append(child);
24 ParseTreeNode* ParseTreeNode::child(int row)
26 return children[row];
29 int ParseTreeNode::childCount() const
31 return children.count();
34 int ParseTreeNode::columnCount() const
36 return 2;
39 QVariant ParseTreeNode::data(int column) const
41 if(column == 0)
42 return element->type;
43 else
44 return element->line;
46 int ParseTreeNode::row() const
48 if(parentLink)
49 return parentLink->children.indexOf(const_cast<ParseTreeNode*>(this));
50 return 0;
53 ParseTreeNode* ParseTreeNode::parent()
55 return parentLink;