summaryrefslogtreecommitdiff
path: root/lib/Tree/Template/Declare/DAG_Node.pm
diff options
context:
space:
mode:
authorGianni Ceccarelli <dakkar@dechirico.(none)>2009-03-27 11:57:16 +0100
committerGianni Ceccarelli <dakkar@dechirico.(none)>2009-03-27 11:57:16 +0100
commit22381c3205f6c24d8e65488b57efb969521aadee (patch)
tree121f349d809c784dcfc45fcbdeb9a254024a3ce1 /lib/Tree/Template/Declare/DAG_Node.pm
parentcustom builder works, it's just ugly (diff)
downloadTree-Template-Declare-22381c3205f6c24d8e65488b57efb969521aadee.tar.gz
Tree-Template-Declare-22381c3205f6c24d8e65488b57efb969521aadee.tar.bz2
Tree-Template-Declare-22381c3205f6c24d8e65488b57efb969521aadee.zip
HTML::Element builder
Diffstat (limited to 'lib/Tree/Template/Declare/DAG_Node.pm')
-rw-r--r--lib/Tree/Template/Declare/DAG_Node.pm16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/Tree/Template/Declare/DAG_Node.pm b/lib/Tree/Template/Declare/DAG_Node.pm
index c005752..45321da 100644
--- a/lib/Tree/Template/Declare/DAG_Node.pm
+++ b/lib/Tree/Template/Declare/DAG_Node.pm
@@ -13,6 +13,18 @@ sub new {
return bless {nc=>$node_class},$class;
}
+sub new_tree {
+ my ($self)=@_;
+
+ return bless [],'Tree::Template::Declare::DAG_Node::Tree';
+}
+
+sub finalize_tree {
+ my ($self,$tree)=@_;
+
+ return $tree->[0];
+}
+
sub new_node {
my ($self)=@_;
@@ -22,6 +34,10 @@ sub new_node {
sub add_child_node {
my ($self,$parent,$child)=@_;
+ if ($parent->isa('Tree::Template::Declare::DAG_Node::Tree')) {
+ push @$parent,$child;
+ return $parent;
+ }
return $parent->add_daughter($child);
}