From 3d33a2667fcbae80776f9c42cffc3403d3f8d9a8 Mon Sep 17 00:00:00 2001 From: Blain Hamon Date: Tue, 25 Oct 2011 15:34:25 -0700 Subject: [PATCH] Adding child support at the element level. --- iphone/Classes/TiDOMElementProxy.m | 28 ++++++++++++++++++++++++++++ iphone/Classes/TiDOMNodeProxy.h | 2 +- iphone/Classes/TiDOMNodeProxy.m | 8 +------- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/iphone/Classes/TiDOMElementProxy.m b/iphone/Classes/TiDOMElementProxy.m index 90bbe4c86fd..9cfd9b53d4a 100644 --- a/iphone/Classes/TiDOMElementProxy.m +++ b/iphone/Classes/TiDOMElementProxy.m @@ -127,6 +127,34 @@ -(id)getAttributeNode:(id)args return result; } +-(id)insertBefore:(id)args +{ + [self throwException:@"mutation not supported" subreason:nil location:CODELOCATION]; +} + +-(id)replaceChild:(id)args +{ + [self throwException:@"mutation not supported" subreason:nil location:CODELOCATION]; +} + +-(id)removeChild:(id)args +{ + ENSURE_ARG_COUNT(args, 1); + TiDOMNodeProxy * oldChild; + ENSURE_ARG_AT_INDEX(oldChild, args, 0, TiDOMNodeProxy); + [element removeChild:[oldChild node]]; + return oldChild; +} + +-(id)appendChild:(id)args +{ + ENSURE_ARG_COUNT(args, 1); + TiDOMNodeProxy * newChild; + ENSURE_ARG_AT_INDEX(newChild, args, 0, TiDOMNodeProxy); + [element addChild:[newChild node]]; + return newChild; +} + -(void)setAttributeNode:(id)args { //TODO: diff --git a/iphone/Classes/TiDOMNodeProxy.h b/iphone/Classes/TiDOMNodeProxy.h index 5a8ab139b00..6e2ea682664 100644 --- a/iphone/Classes/TiDOMNodeProxy.h +++ b/iphone/Classes/TiDOMNodeProxy.h @@ -15,7 +15,7 @@ GDataXMLDocument *document; } --(void)setNode:(GDataXMLNode*)node_; +@property(nonatomic,retain) GDataXMLNode *node; @property(nonatomic,retain) GDataXMLDocument *document; -(NSString *)XMLString; diff --git a/iphone/Classes/TiDOMNodeProxy.m b/iphone/Classes/TiDOMNodeProxy.m index 10368d65edb..eda81af5185 100644 --- a/iphone/Classes/TiDOMNodeProxy.m +++ b/iphone/Classes/TiDOMNodeProxy.m @@ -15,7 +15,7 @@ #import "TiDOMAttrProxy.h" @implementation TiDOMNodeProxy -@synthesize document; +@synthesize document, node; #pragma mark Internal @@ -26,12 +26,6 @@ -(void)dealloc [super dealloc]; } --(void)setNode:(GDataXMLNode*)node_ -{ - RELEASE_TO_NIL(node); - node = [node_ retain]; -} - -(NSString *)XMLString { return [node XMLString];