1
0
Fork 0
forked from len0rd/rockbox

Theme Editor: Made the viewport tag a top-level child under VIEWPORT elements in the parse tree

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26450 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Robert Bieber 2010-06-01 18:31:58 +00:00
parent 27d529e186
commit 47cd8786ba
2 changed files with 22 additions and 5 deletions

View file

@ -67,10 +67,13 @@ ParseTreeNode::ParseTreeNode(struct skin_element* data, ParseTreeNode* parent)
case VIEWPORT: case VIEWPORT:
case LINE: case LINE:
for(struct skin_element* current = data->children[0]; current; for(int i = 0; i < data->children_count; i++)
current = current->next)
{ {
children.append(new ParseTreeNode(current, this)); for(struct skin_element* current = data->children[i]; current;
current = current->next)
{
children.append(new ParseTreeNode(current, this));
}
} }
break; break;

View file

@ -98,7 +98,6 @@ struct skin_element* skin_parse_viewport(char** document)
retval = skin_alloc_element(); retval = skin_alloc_element();
retval->type = VIEWPORT; retval->type = VIEWPORT;
retval->children = skin_alloc_children(1);
retval->children_count = 1; retval->children_count = 1;
retval->line = skin_line; retval->line = skin_line;
@ -109,6 +108,21 @@ struct skin_element* skin_parse_viewport(char** document)
int sublines = 0; /* Flag for parsing sublines */ int sublines = 0; /* Flag for parsing sublines */
/* Parsing out the viewport tag if there is one */
if(check_viewport(cursor))
{
retval->children_count = 2;
retval->children = skin_alloc_children(2);
retval->children[0] = skin_alloc_element();
skin_parse_tag(retval->children[0], &cursor);
}
else
{
retval->children_count = 1;
retval->children = skin_alloc_children(1);
}
while(*cursor != '\0' && !(check_viewport(cursor) && cursor != *document)) while(*cursor != '\0' && !(check_viewport(cursor) && cursor != *document))
{ {
@ -182,7 +196,7 @@ struct skin_element* skin_parse_viewport(char** document)
*document = cursor; *document = cursor;
retval->children[0] = root; retval->children[retval->children_count - 1] = root;
return retval; return retval;
} }