summaryrefslogtreecommitdiff
path: root/utils/themeeditor/parsetreenode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/themeeditor/parsetreenode.cpp')
-rw-r--r--utils/themeeditor/parsetreenode.cpp56
1 files changed, 56 insertions, 0 deletions
diff --git a/utils/themeeditor/parsetreenode.cpp b/utils/themeeditor/parsetreenode.cpp
new file mode 100644
index 0000000000..97cb559906
--- /dev/null
+++ b/utils/themeeditor/parsetreenode.cpp
@@ -0,0 +1,56 @@
1#include "parsetreenode.h"
2
3ParseTreeNode::ParseTreeNode(struct skin_element* data, ParseTreeNode* parent,
4 bool stop):
5 parentLink(parent), element(data)
6{
7
8 if(stop)
9 return;
10 for(int i = 0; i < 5; i++)
11 appendChild(new ParseTreeNode(data, this, true));
12}
13
14ParseTreeNode::~ParseTreeNode()
15{
16 qDeleteAll(children);
17}
18
19void ParseTreeNode::appendChild(ParseTreeNode* child)
20{
21 children.append(child);
22}
23
24ParseTreeNode* ParseTreeNode::child(int row)
25{
26 return children[row];
27}
28
29int ParseTreeNode::childCount() const
30{
31 return children.count();
32}
33
34int ParseTreeNode::columnCount() const
35{
36 return 2;
37}
38
39QVariant ParseTreeNode::data(int column) const
40{
41 if(column == 0)
42 return element->type;
43 else
44 return element->line;
45}
46int ParseTreeNode::row() const
47{
48 if(parentLink)
49 return parentLink->children.indexOf(const_cast<ParseTreeNode*>(this));
50 return 0;
51}
52
53ParseTreeNode* ParseTreeNode::parent()
54{
55 return parentLink;
56}