this.drawRoot = function(nodeName, nodeText, nodeParameters, nodeIcon, hasCheckbox, isDisabled, putObj) {// 画根节点
/*--------------- 画根节点 -----------------
nodeName: 根节点的名
nodeText: 根节点的显示文字
nodeParameters:根节点的自带属性串
nodeIcon: 根节点的图标文件名
hasCheckbox: 根节点是否有检查盒
isDisabled: 该检查盒是否不可用
putObj: 放置目录树的目标元素。空:则document.write;否则putObj.innerHTML=
-------------------------------*/
if (!this.test()) {return;}
if (this.rootExist) {alert("根节点已存在"); return;}
this.rootExist = true; if (nodeName==null || this.trim(nodeName)=="") {nodeName = "root";}
else {nodeName = this.trim(nodeName);}
if (nodeText==null) {nodeText = "";}
if (nodeIcon==null) {nodeIcon = "";}
else {nodeIcon = this.trim(nodeIcon);}
if (hasCheckbox==null) {hasCheckbox = false;}
if (isDisabled==null) {isDisabled = false;} if (nodeParameters==null) {nodeParameters = "";} var objName = "document." + this.name;
var objID = this.name + "_" + nodeName;
var outString = ""; outString += "<table id='" + objID + "' border='0' cellpadding='0' cellspacing='0' bgcolor='" + this.generalBgColor + "'>";
if (!this.showRoot) {outString += "<TR id='" + objID + "_row' style='display:none'>";}
else {outString += "<TR id='" + objID + "_row'>";}
outString += "<td colspan=2 nowrap>";
if (nodeIcon != "") { // 有图标
outString += "<A href='JavaScript:" + objName + ".hit(document.all." + objID + ")' title='" + nodeText + "'>"
+ this.getImgTag(nodeIcon, objID+"_icon") + "</a>";
}
if (hasCheckbox) { // 有检查盒
outString += "<input id='" + objID + "_chkbox' type=checkBox" + (isDisabled?" Disabled":"")
+ " onClick='document.all." + this.name + "_" + nodeName + ".resetCheckBox(this.checked)'>";
}
outString += "<A id='" + objID + "_text' style='color:" + this.generalColor + "'"
+ " href='JavaScript:" + objName + ".hit(document.all." + objID + ")' title='" + nodeText + "'>"
+ nodeText + "</a></td></tr>";
outString += "<tr id='" + objID + "_son'><td> </td><td>";
outString += "<table id='" + objID + "_sons' border='0' cellpadding='0' cellspacing='0'>";
outString += "</table></td></tr>";
outString += "</table>";
if (putObj) {putObj.innerHTML = outString;}
else {document.writeln(outString);}
//------ 设置根节点的各元素 ---------------------------
this.root = eval("document.all." + objID); // 根节点元素
this.root.node_parentName = ""; // 父节点的名
this.setNode(this.root, nodeName, nodeParameters, 2, hasCheckbox, (nodeIcon==""?false:true));
this.root.help = this.help; // 在wObj窗口(缺省:在新窗口)显示帮助页面
//---------------------------------------------
}
/*--------------- 画根节点 -----------------
nodeName: 根节点的名
nodeText: 根节点的显示文字
nodeParameters:根节点的自带属性串
nodeIcon: 根节点的图标文件名
hasCheckbox: 根节点是否有检查盒
isDisabled: 该检查盒是否不可用
putObj: 放置目录树的目标元素。空:则document.write;否则putObj.innerHTML=
-------------------------------*/
if (!this.test()) {return;}
if (this.rootExist) {alert("根节点已存在"); return;}
this.rootExist = true; if (nodeName==null || this.trim(nodeName)=="") {nodeName = "root";}
else {nodeName = this.trim(nodeName);}
if (nodeText==null) {nodeText = "";}
if (nodeIcon==null) {nodeIcon = "";}
else {nodeIcon = this.trim(nodeIcon);}
if (hasCheckbox==null) {hasCheckbox = false;}
if (isDisabled==null) {isDisabled = false;} if (nodeParameters==null) {nodeParameters = "";} var objName = "document." + this.name;
var objID = this.name + "_" + nodeName;
var outString = ""; outString += "<table id='" + objID + "' border='0' cellpadding='0' cellspacing='0' bgcolor='" + this.generalBgColor + "'>";
if (!this.showRoot) {outString += "<TR id='" + objID + "_row' style='display:none'>";}
else {outString += "<TR id='" + objID + "_row'>";}
outString += "<td colspan=2 nowrap>";
if (nodeIcon != "") { // 有图标
outString += "<A href='JavaScript:" + objName + ".hit(document.all." + objID + ")' title='" + nodeText + "'>"
+ this.getImgTag(nodeIcon, objID+"_icon") + "</a>";
}
if (hasCheckbox) { // 有检查盒
outString += "<input id='" + objID + "_chkbox' type=checkBox" + (isDisabled?" Disabled":"")
+ " onClick='document.all." + this.name + "_" + nodeName + ".resetCheckBox(this.checked)'>";
}
outString += "<A id='" + objID + "_text' style='color:" + this.generalColor + "'"
+ " href='JavaScript:" + objName + ".hit(document.all." + objID + ")' title='" + nodeText + "'>"
+ nodeText + "</a></td></tr>";
outString += "<tr id='" + objID + "_son'><td> </td><td>";
outString += "<table id='" + objID + "_sons' border='0' cellpadding='0' cellspacing='0'>";
outString += "</table></td></tr>";
outString += "</table>";
if (putObj) {putObj.innerHTML = outString;}
else {document.writeln(outString);}
//------ 设置根节点的各元素 ---------------------------
this.root = eval("document.all." + objID); // 根节点元素
this.root.node_parentName = ""; // 父节点的名
this.setNode(this.root, nodeName, nodeParameters, 2, hasCheckbox, (nodeIcon==""?false:true));
this.root.help = this.help; // 在wObj窗口(缺省:在新窗口)显示帮助页面
//---------------------------------------------
}
/*------------ 加节点 --------------------
parentName: 父节点的名(缺省是根节点)
nodeName: 本节点的名
nodeText: 本节点的显示文字
nodeParameters:本节点的自带属性串
nodeStatus: 本节点状态。0——叶子;1——收拢文件夹;2——展开文件夹
hasCheckbox: 本节点是否有检查盒
isDisabled: 该检查盒是否不可用
-------------------------------*/
if (!this.rootExist) {alert("根节点不存在"); return;}
if (nodeName==null || this.trim(nodeName)=="") {alert("节点名不得为空"); return;}
else {nodeName = this.trim(nodeName);}
if (this.findNode(nodeName) != null) {alert("同名节点已存在"); return;}
if (parentName==null || this.trim(parentName)=="") {parentName = this.root.node_name;}
else {parentName = this.trim(parentName);}
var parentNode = this.findNode(parentName); // 找到父节点
if (parentNode == null) {alert("父节点不存在"); return;}
if (parentNode.node_status == 0) {alert("父节点不是文件夹"); return;}
if (nodeText==null) {nodeText = "";}
if (hasCheckbox==null) {hasCheckbox = false;}
if (nodeStatus==null) {nodeStatus = 0;}
if (nodeParameters==null) {nodeParameters = "";}
if (isDisabled==null) {
if (parentNode.node_chkbox) {isDisabled = parentNode.node_chkbox.disabled;}
else {isDisabled = false;}
}
if (parentNode.node_sonNodes.length > 0) {
if (this.imageOfVertLine != "") {parentNode.node_sonNodes[parentNode.node_sonNodes.length-1].node_vertLine.style.backgroundImage = "url(" + this.imageDirectory + this.imageOfVertLine + ")";}
if (this.imageOfVertLine == "") {
parentNode.node_sonNodes[parentNode.node_sonNodes.length-1].node_vertLine.innerHTML='<table width="1" bgcolor="'+this.generalColor+'" height="100%" border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';
}
if (parentNode.node_sonNodes[parentNode.node_sonNodes.length-1].node_status == 0) { // 是叶子
if (this.imageOfConLeaf == "") {parentNode.node_sonNodes[parentNode.node_sonNodes.length-1].node_continueIcon.innerText = "├";}
else {parentNode.node_sonNodes[parentNode.node_sonNodes.length-1].node_continueIcon.src = this.imageDirectory + this.imageOfConLeaf;}
}
else {if (parentNode.node_sonNodes[parentNode.node_sonNodes.length-1].node_status == 1) { // 是收拢文件夹
if (this.imageOfConCloseFolder == "") {parentNode.node_sonNodes[parentNode.node_sonNodes.length-1].node_continueIcon.innerText = "├";}
else {parentNode.node_sonNodes[parentNode.node_sonNodes.length-1].node_continueIcon.src = this.imageDirectory + this.imageOfConCloseFolder;}
}
else {if (this.imageOfConOpenFolder == "") {parentNode.node_sonNodes[parentNode.node_sonNodes.length-1].node_continueIcon.innerText = "├";}
else {parentNode.node_sonNodes[parentNode.node_sonNodes.length-1].node_continueIcon.src = this.imageDirectory + this.imageOfConOpenFolder;}
}
}
}
var objName = "document." + this.name;
var objID = this.name + "_" + nodeName;
var outString = "";
outString += "<table id='" + objID + "' border='0' cellpadding='0' cellspacing='0' bgcolor='" + this.generalBgColor + "'>";
outString += "<TR id='" + objID + "_row'><td>";
//--------------------画连接点图符-----------------------------------
if (nodeStatus == 0) {outString += this.getImgTag(this.imageOfEndLeaf, objID+"_con", "└");} // 是叶子节点
else {outString += "<A HREF='JavaScript:document.all." + objID + ".collapseOrExpand()' title='展开或收拢文件夹'>";
if (nodeStatus == 1) { // 是收拢文件夹
outString += this.getImgTag(this.imageOfEndCloseFolder, objID+"_con", "└") + "</A>";
}
else {outString += this.getImgTag(this.imageOfEndOpenFolder, objID+"_con", "└") + "</A>";}
}
outString += "</Td><td nowrap>";
if (nodeStatus == 0) {
if (this.imageOfLeaf != "") {
outString += "<A href='JavaScript:" + objName + ".hit(document.all." + objID + ")'"
+ " title='" + nodeText + "'>"
+ this.getImgTag(this.imageOfLeaf, objID+"_icon") + "</A>";
}
}
else {if (nodeStatus == 1) { // 是收拢文件夹
if (this.imageOfCloseFolder != "") {
outString += "<A href='JavaScript:" + objName + ".hit(document.all." + objID + ")'"
+ " title='" + nodeText + "'>"
+ this.getImgTag(this.imageOfCloseFolder, objID+"_icon") + "</A>";
}
else {outString += "<A href='JavaScript:document.all." + objID + ".collapseOrExpand()'"
+ " title='" + nodeText + "'>"
+ this.getImgTag(this.imageOfCloseFolder, objID+"_icon", "□") + "</A>";
}
}
else {if (this.imageOfOpenFolder != "") {
outString += "<A href='JavaScript:" + objName + ".hit(document.all." + objID + ")'"
+ " title='" + nodeText + "'>"
+ this.getImgTag(this.imageOfOpenFolder, objID+"_icon") + "</A>";
}
else {outString += "<A href='JavaScript:document.all." + objID + ".collapseOrExpand()'"
+ " title='" + nodeText + "'>"
+ this.getImgTag(this.imageOfOpenFolder, objID+"_icon", "■") + "</A>";
}
}
}
}
if (hasCheckbox) { // 有检查盒
outString += "<input id='" + objID + "_chkbox' type=checkBox" + (isDisabled?" Disabled":"")
+ " onClick='document.all." + objID + ".resetCheckBox(this.checked)'>";
}
outString += "<A id='" + objID + "_text' style='color:" + this.generalColor + "' title='" + nodeText + "'"
+ " href='JavaScript:" + objName + ".hit(document.all." + objID + ")'>"
+ nodeText + "</a></td></tr>";
outString += "<tr id='" + objID + "_son'" + (nodeStatus==2?"":" style='display:none'") + ">";
outString += "<td id='" + objID + "_vert' height=5 align=center> </td>"; // 垂直线的单元格
outString += "<td><table id='" + objID + "_sons' border='0' cellpadding='0' cellspacing='0'></table></td>";
outString += "</tr></table>"; var trNumber = parentNode.node_son.rows.length;
var newTr = parentNode.node_son.insertRow(trNumber); // 插入一行
newTr.style.verticalAlign = "top";
newTr.insertCell(); // 插入一列
parentNode.node_son.rows[trNumber].cells[0].style.textAlign="left";
// parentNode.node_son.rows[trNumber].cells[0].noWrap = true;
parentNode.node_son.rows[trNumber].cells[0].innerHTML = outString;
//------- 设置本节点的各元素 ---------------------------
var newObj = eval("document.all." + objID); // 本节点元素
newObj.node_parentName = parentName; // 父节点的名
this.setNode(newObj, nodeName, nodeParameters, nodeStatus, hasCheckbox, this.showIcon);
parentNode.node_sonNodes[parentNode.node_sonNodes.length] = newObj;
//---------------------------------------------
}
return this;
}
var tt = new this.create(treeName);
if (tt != null) {eval("document." + treeName + " = tt");}
return tt;
}// Ending Hidden -->