summaryrefslogtreecommitdiff
path: root/utils/themeeditor/models/parsetreenode.h
diff options
context:
space:
mode:
authorRobert Bieber <robby@bieberphoto.com>2010-06-17 05:37:01 +0000
committerRobert Bieber <robby@bieberphoto.com>2010-06-17 05:37:01 +0000
commitca564287ee3f48945d45c7d92be7a83452f53745 (patch)
treed6e502bb604f925240a742b3bac2c813a98c447b /utils/themeeditor/models/parsetreenode.h
parentba07b2055c7eb8f2add96f55cb52b40b9ccb3d63 (diff)
Theme Editor: Moved source files into subdirectories
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26876 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/themeeditor/models/parsetreenode.h')
-rw-r--r--utils/themeeditor/models/parsetreenode.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/utils/themeeditor/models/parsetreenode.h b/utils/themeeditor/models/parsetreenode.h
new file mode 100644
index 0000000000..7a0807bb0d
--- /dev/null
+++ b/utils/themeeditor/models/parsetreenode.h
@@ -0,0 +1,69 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2010 Robert Bieber
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#ifndef PARSETREENODE_H
+#define PARSETREENODE_H
+
+#include "skin_parser.h"
+
+#include <QString>
+#include <QVariant>
+#include <QList>
+
+class ParseTreeNode
+{
+public:
+ ParseTreeNode(struct skin_element* data);
+ ParseTreeNode(struct skin_element* data, ParseTreeNode* parent);
+ ParseTreeNode(struct skin_tag_parameter* data, ParseTreeNode* parent);
+ virtual ~ParseTreeNode();
+
+ QString genCode() const;
+ int genHash() const;
+
+ bool isParam() const{ if(param) return true; else return false; }
+ struct skin_tag_parameter* getParam(){ return param;}
+ struct skin_element* getElement(){return element;}
+
+ ParseTreeNode* child(int row);
+ int numChildren() const;
+ QVariant data(int column) const;
+ int getRow() const;
+ ParseTreeNode* getParent() const;
+ ParseTreeNode* getChild(int row) const
+ {
+ if(row < children.count())
+ return children[row];
+ else
+ return 0;
+ }
+
+private:
+ ParseTreeNode* parent;
+ struct skin_element* element;
+ struct skin_tag_parameter* param;
+ QList<ParseTreeNode*> children;
+
+ static int openConditionals;
+
+};
+
+#endif // PARSETREENODE_H