TreeMaker
[ class tree: TreeMaker ] [ index: TreeMaker ] [ all elements ]

Class: TreeMaker

Source Location: d:\website\PhpDocumentor\/util/tree.php

Class Overview


Base class for all tree makers


Variables

Methods


Child classes:

CatAdminTreeMaker
Class to render categories browse tree
CatBrowseTreeMaker
Class to render categories browse tree

Class Details

[line 30]
Base class for all tree makers

Define base interface and provide common algotithm for tree generation

Format of element in array for make_tree() call: id => number of ID of current node parent => number of ID of parant node data => user provided data to be placed as node text




[ Top ]


Class Variables

$prefix =

[line 32]


Type:   mixed


[ Top ]



Class Methods


constructor TreeMaker [line 34]

TreeMaker TreeMaker( $prefix)



Parameters:

   $prefix  

[ Top ]

method make_tree [line 38]

void make_tree( $rootid, $ar)



Overridden in child classes as:

CatAdminTreeMaker::make_tree()
CatBrowseTreeMaker::make_tree()

Parameters:

   $rootid  
   $ar  

[ Top ]

method make_tree_r [line 42]

void make_tree_r( $rootid, &$ar)



Parameters:

   $rootid  
   &$ar  

[ Top ]

method node_child_end_code [line 127]

void node_child_end_code( $nodeinfo)



Overridden in child classes as:

CatAdminTreeMaker::node_child_end_code()
CatBrowseTreeMaker::node_child_end_code()

Parameters:

   $nodeinfo  

[ Top ]

method node_child_start_code [line 123]

void node_child_start_code( $nodeinfo)



Overridden in child classes as:

CatAdminTreeMaker::node_child_start_code()
CatBrowseTreeMaker::node_child_start_code()

Parameters:

   $nodeinfo  

[ Top ]

method node_data_end_code [line 119]

void node_data_end_code( $nodeinfo)



Overridden in child classes as:

CatAdminTreeMaker::node_data_end_code()
CatBrowseTreeMaker::node_data_end_code()

Parameters:

   $nodeinfo  

[ Top ]

method node_data_start_code [line 115]

void node_data_start_code( $nodeinfo)



Overridden in child classes as:

CatAdminTreeMaker::node_data_start_code()
CatBrowseTreeMaker::node_data_start_code()

Parameters:

   $nodeinfo  

[ Top ]

method node_end_code [line 131]

void node_end_code( $nodeinfo)



Overridden in child classes as:

CatAdminTreeMaker::node_end_code()
CatBrowseTreeMaker::node_end_code()

Parameters:

   $nodeinfo  

[ Top ]

method node_flipper_code [line 111]

void node_flipper_code( $nodeinfo)



Overridden in child classes as:

CatAdminTreeMaker::node_flipper_code()
CatBrowseTreeMaker::node_flipper_code()

Parameters:

   $nodeinfo  

[ Top ]

method node_start_code [line 107]

void node_start_code( $nodeinfo)

To change behavior (look and feel :) of generated tree it is enough to redefine follwing methods..

(thanx that PHP have implicit vurtual functions :)

General layout of generated tree code looks like this:

[node start code] [node flipper code] (1) [node data start code] [node data end code] [node childs start code] (1) [node childs end code] (1) [node end code]

(1) -- this code will be generated if node have childs

NOTE: Methods called exactly in that order. This fact can be (and actualy do) used by child classes to define and use some variables depends on pervious call...

NOTE: This is abstract base class... it doing nothig except defining algirithm... So to make smth other use inheritance and redifine corresponding function :)




Overridden in child classes as:

CatAdminTreeMaker::node_start_code()
CatBrowseTreeMaker::node_start_code()

Parameters:

   $nodeinfo  

[ Top ]


Documentation generated on Thu, 15 Feb 2007 20:50:25 +0000 by phpDocumentor 1.3.0