subclass(HierarchyTreeSingleSelect,HierarchyTree);function HierarchyTreeSingleSelect(id,rootNodeList,nodeMap)
{HierarchyTree.call(this,id,rootNodeList,nodeMap);this.selectedNodeKey=null;this.highlightSubNodes=false;this.onSelectItem.addEventListener(new REventListener(HierarchyTreeSingleSelect.prototype.onSelectItemListener,this));}
HierarchyTreeSingleSelect.prototype.getSelectedNodeKey=function()
{return this.selectedNodeKey;}
HierarchyTreeSingleSelect.prototype.setSelectedNodeKey=function(key)
{this.onSelectItem.trigger(true,key);}
HierarchyTreeSingleSelect.prototype.getHighlightSubNodes=function()
{return this.highlightSubNodes;}
HierarchyTreeSingleSelect.prototype.setHighlightSubNodes=function(highlightSubNodes)
{this.highlightSubNodes=highlightSubNodes;if(this.selectedNodeKey)
{var element=$(RegisterControl.statics.encodeId(this,this.selectedNodeKey,"node"));if(this.highlightSubNodes)
HierarchyTree.statics.addCssClass(element.parentNode,"treeNodeDown");else
HierarchyTree.statics.removeCssClass(element.parentNode,"treeNodeDown");}}
HierarchyTreeSingleSelect.prototype.getRootNode=function()
{if(0<this.rootNodeList.length)
return this.rootNodeList[0];return null;}
HierarchyTreeSingleSelect.prototype.onSelectItemListener=function(selected,id)
{if(this.readOnlyId==id)
return;var element=$(RegisterControl.statics.encodeId(this,id,"node"));if(element)
{if(selected)
{if(this.selectedNodeKey)
this.onSelectItem.trigger(false,this.selectedNodeKey);this.selectedNodeKey=id;HierarchyTree.statics.addCssClass(element,"treeNodeSelect");if(this.highlightSubNodes)
HierarchyTree.statics.addCssClass(element.parentNode,"treeNodeDown");}
else
{HierarchyTree.statics.removeCssClass(element,"treeNodeSelect");if(this.highlightSubNodes)
HierarchyTree.statics.removeCssClass(element.parentNode,"treeNodeDown");}}}