$CLASSNAME$
	UITree
$SUMMARY$
	Class UITree
$LANG_RU$
	 UITree
$ABOUT$
	Class of hierarchical multi-column lists (tree view).
$LANG_RU$
	    ().
$SYNTAX$
	UITree([<nTreeColumn>],<acNameColumns>)	--> UITree object
$LANG_RU$
	UITree([<nTreeColumn>],<acNameColumns>)	-->  UITree
$ATTRIBUTES$
	<className>	- Class name. Value should be "UITree".
	<nodes>		- Accociated array of <link linkend="classuitreeitem">UITreeItem</link> objects.
	<onSelect> 	- Code block. Action that will be call on row selection by double click or 'Enter' key pressed.
$LANG_RU$
	<className>	-  . : "UITree".
	<nodes>		-    <link linkend="classuitreeitem">UITreeItem</link>.
	<onSelect>	-  . ,           'Enter'.

$METHODNAME$
	UITree()
$SUMMARY$
	Constructor. Create tree view.
$LANG_RU$
	.  .
$SYNTAX$
	UITree([<nTreeColumn>],<acNameColumns>)	--> UITree object
$ARGUMENTS$
	<nTreeColumn>	- Number. Column for show hierarchy. Column numbering is begun from 1.
	<acNameColumns>	- Array of strings. Column titles.
$LANG_RU$
	<nTreeColumn>	- .      .     1.
	<acNameColumns>	-  .   .
$ENDMETHOD$

$METHODNAME$
	addNode()
$SUMMARY$
	Add node to tree view.
$LANG_RU$
	   .
$SYNTAX$
	addNode(<columns>,[<id>],[<parent>],[<sibling>],[<expanded>])	--> <oNode>
$ARGUMENTS$
	<columns>	- Array of strings. Array of values by columns.
	<id>		- String. Node identifier.
	<parent>	- Object <link linkend="classuitreeitem">UITreeItem</link>. Parent node.
	<sibling>	- Object <link linkend="classuitreeitem">UITreeItem</link>. Put node before specified node on such level.
	<expanded>	- Boolean. Expand child nodes.
$LANG_RU$
	<columns>	-  .     .
	<id>		- .  .
	<parent>	-  <link linkend="classuitreeitem">UITreeItem</link>.  .  , , ݣ     .
	<sibling>	-  <link linkend="classuitreeitem">UITreeItem</link>.      .
	<expanded>	-  .    .
$RETURNS$
	Object of tree node, that may be used as parent node (<link linkend="classuitreeitem">UITreeItem</link>).
$LANG_RU$
	 ,       (<link linkend="classuitreeitem">UITreeItem</link>).
$ENDMETHOD$

$METHODNAME$
	setAction()
$SUMMARY$
	Set action that will be executed if tree node selected by double click or 'Enter' key pressed.
$LANG_RU$
	 ,           'Enter'.
$SYNTAX$
	setAction([<signal>],<action>)
$ARGUMENTS$
	<signal>	- String. Signal name.
	<action>	- Code block. Action.
$LANG_RU$
	<signal>	- .  .
	<action>	-  . .
$ENDMETHOD$

$METHODNAME$
	clear()
$SUMMARY$
	Clear tree: remove all nodes.
$LANG_RU$
	 :   .
$SYNTAX$
	clear()
$ENDMETHOD$

$METHODNAME$
	getSelection()
$SUMMARY$
	Get identifier of selected node.
$LANG_RU$
	   .
$SYNTAX$
	getSelection()	--> <sNode>
$RETURNS$
	The selected node identifier.
$LANG_RU$
	  .
$ENDMETHOD$

$METHODNAME$
	getSelectionId()
$SUMMARY$
	Get user identifier of selected node.
$LANG_RU$
	    .
$SYNTAX$
	getSelectionId()	--> <id>
$RETURNS$
	The user identifier of selected node.
$LANG_RU$
	   .
$ENDMETHOD$

$METHODNAME$
	savePosition()
$SUMMARY$
	Get current selected row position.
$LANG_RU$
	   .
$SYNTAX$
	savePosition()	--> <aPos>
$RETURNS$
	Array with selected row position: row address, column address, horizontal and vertical adjustments.
$LANG_RU$
	     :    ,    .
$ENDMETHOD$

$METHODNAME$
	restorePosition()
$SUMMARY$
	Restore saved row position.
$LANG_RU$
	 cΣ  .
$SYNTAX$
	restorePosition(<aPos>)
$ARGUMENTS$
	<aPos>		- Array with selected row position returned by savePosition() function.
$LANG_RU$
	<aPos>		-      ,   savePosition().
$ENDMETHOD$

$EXAMPLES$
	tree := UITree(1, {"N1","N2"})

	node1  := tree:addNode({"Node1", "node1111"})
	node11 := tree:addNode({"Node2"})
	node2  := tree:addNode({"Leaf1"},, node1)

$PLATFORMS$
	No dependies of platform.
$LANG_RU$
	   .
$SEEALSO$
	UITREEITEM
$AUTHOR$
	Andrey Cherepanov <skull@eas.lrn.ru>
$LANG_RU$
	  <skull@eas.lrn.ru>
$LASTDATE$
