⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treeview.h

📁 doxygen(一个自动从源代码生成文档的工具)的源代码
💻 H
字号:
"//**************************************************************** \n""// You are free to copy the \"Folder-Tree\" script as long as you  \n""// keep this copyright notice: \n""// Script found in: http://www.geocities.com/Paris/LeftBank/2178/ \n""// Author: Marcelino Alves Martins (martins@hks.com) December '97. \n""//**************************************************************** \n"" \n""//Log of changes: \n""//       17 Feb 98 - Fix initialization flashing problem with Netscape\n""//       \n""//       27 Jan 98 - Root folder starts open; support for USETEXTLINKS; \n""//                   make the ftien4 a js file \n""//       \n""// DvH:  Dec 2000 -  Made some minor changes to support external \n""//                   references\n"" \n""// Definition of class Folder \n""// ***************************************************************** \n"" \n""function Folder(folderDescription, tagName, hreference) //constructor \n""{ \n""  //constant data \n""  this.desc = folderDescription \n""  this.tagName = tagName\n""  this.hreference = hreference \n""  this.id = -1   \n""  this.navObj = 0  \n""  this.iconImg = 0  \n""  this.nodeImg = 0  \n""  this.isLastNode = 0 \n"" \n""  //dynamic data \n""  this.isOpen = true \n""  this.iconSrc = \"ftv2folderopen.gif\"   \n""  this.children = new Array \n""  this.nChildren = 0 \n"" \n""  //methods \n""  this.initialize = initializeFolder \n""  this.setState = setStateFolder \n""  this.addChild = addChild \n""  this.createIndex = createEntryIndex \n""  this.hide = hideFolder \n""  this.display = display \n""  this.renderOb = drawFolder \n""  this.totalHeight = totalHeight \n""  this.subEntries = folderSubEntries \n""  this.outputLink = outputFolderLink \n""} \n"" \n""function setStateFolder(isOpen) \n""{ \n""  var subEntries \n""  var totalHeight \n""  var fIt = 0 \n""  var i=0 \n"" \n""  if (isOpen == this.isOpen) \n""    return \n"" \n""  if (browserVersion == 2)  \n""  { \n""    totalHeight = 0 \n""    for (i=0; i < this.nChildren; i++) \n""      totalHeight = totalHeight + this.children[i].navObj.clip.height \n""      subEntries = this.subEntries() \n""    if (this.isOpen) \n""      totalHeight = 0 - totalHeight \n""    for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++) \n""      indexOfEntries[fIt].navObj.moveBy(0, totalHeight) \n""  }  \n""  this.isOpen = isOpen \n""  propagateChangesInState(this) \n""} \n"" \n""function propagateChangesInState(folder) \n""{   \n""  var i=0 \n"" \n""  if (folder.isOpen) \n""  { \n""    if (folder.nodeImg) \n""      if (folder.isLastNode) \n""        folder.nodeImg.src = \"ftv2mlastnode.gif\" \n""      else \n""	  folder.nodeImg.src = \"ftv2mnode.gif\" \n""    folder.iconImg.src = \"ftv2folderopen.gif\" \n""    for (i=0; i<folder.nChildren; i++) \n""      folder.children[i].display() \n""  } \n""  else \n""  { \n""    if (folder.nodeImg) \n""      if (folder.isLastNode) \n""        folder.nodeImg.src = \"ftv2plastnode.gif\" \n""      else \n""	  folder.nodeImg.src = \"ftv2pnode.gif\" \n""    folder.iconImg.src = \"ftv2folderclosed.gif\" \n""    for (i=0; i<folder.nChildren; i++) \n""      folder.children[i].hide() \n""  }  \n""} \n"" \n""function hideFolder() \n""{ \n""  if (browserVersion == 1 || browserVersion == 3) { \n""    if (this.navObj.style.display == \"none\") \n""      return \n""    this.navObj.style.display = \"none\" \n""  } else { \n""    if (this.navObj.visibility == \"hidden\") \n""      return \n""    this.navObj.visibility = \"hidden\" \n""  } \n""   \n""  this.setState(0) \n""} \n"" \n""function initializeFolder(level, lastNode, leftSide) \n""{ \n""var j=0 \n""var i=0 \n""var numberOfFolders \n""var numberOfDocs \n""var nc \n""      \n""  nc = this.nChildren \n""   \n""  this.createIndex() \n"" \n""  var auxEv = \"\" \n"" \n""  if (browserVersion > 0) \n""    auxEv = \"<a href='javascript:clickOnNode(\"+this.id+\")'>\" \n""  else \n""    auxEv = \"<a>\" \n"" \n""  if (level>0) \n""    if (lastNode) //the last 'brother' in the children array \n""    { \n""      this.renderOb(leftSide + auxEv + \"<img name='nodeIcon\" + this.id + \"' src='ftv2mlastnode.gif' width=16 height=22 border=0></a>\") \n""      leftSide = leftSide + \"<img src='ftv2blank.gif' width=16 height=22>\"  \n""      this.isLastNode = 1 \n""    } \n""    else \n""    { \n""      this.renderOb(leftSide + auxEv + \"<img name='nodeIcon\" + this.id + \"' src='ftv2mnode.gif' width=16 height=22 border=0></a>\") \n""      leftSide = leftSide + \"<img src='ftv2vertline.gif' width=16 height=22>\" \n""      this.isLastNode = 0 \n""    } \n""  else \n""    this.renderOb(\"\") \n""   \n""  if (nc > 0) \n""  { \n""    level = level + 1 \n""    for (i=0 ; i < this.nChildren; i++)  \n""    { \n""      if (i == this.nChildren-1) \n""        this.children[i].initialize(level, 1, leftSide) \n""      else \n""        this.children[i].initialize(level, 0, leftSide) \n""      } \n""  } \n""} \n"" \n""function drawFolder(leftSide) \n""{ \n""  if (browserVersion == 2) { \n""    if (!doc.yPos) \n""      doc.yPos=8 \n""    doc.write(\"<layer id='folder\" + this.id + \"' top=\" + doc.yPos + \" visibility=hidden>\") \n""  } \n""  if (browserVersion == 3) \n""  {\n""    doc.write(\"<div id='folder\" + this.id + \"' style='visibility:hide;'>\") \n""  }\n""   \n""  doc.write(\"\\n<table \") \n""  if (browserVersion == 1) \n""    doc.write(\" id='folder\" + this.id + \"' style='position:block;' \") \n""  doc.write(\" border=0 cellspacing=0 cellpadding=0>\") \n""  doc.write(\"\\n<tr><td>\") \n""  doc.write(leftSide) \n""  this.outputLink() \n""  doc.write(\"<img name='folderIcon\" + this.id + \"' \") \n""  doc.write(\"src='\" + this.iconSrc+\"' border=0></a>\") \n""  doc.write(\"</td>\\n<td valign=middle nowrap>\") \n""  if (USETEXTLINKS) \n""  { \n""    this.outputLink() \n""    doc.write(this.desc + \"</a>\") \n""  } \n""  else \n""    doc.write(this.desc) \n""  if (this.tagName!=\"\")\n""  {\n""    doc.write(\" [external]\")\n""  }\n""  doc.write(\"</td>\")  \n""  doc.write(\"\\n</table>\\n\") \n""   \n""  if (browserVersion == 2) { \n""    doc.write(\"</layer>\") \n""  } \n""  if (browserVersion == 3) { \n""    doc.write(\"</div>\") \n""  } \n"" \n""  if (browserVersion == 1) { \n""    this.navObj = doc.all[\"folder\"+this.id] \n""    this.iconImg = doc.all[\"folderIcon\"+this.id] \n""    this.nodeImg = doc.all[\"nodeIcon\"+this.id] \n""  } else if (browserVersion == 2) { \n""    this.navObj = doc.layers[\"folder\"+this.id] \n""    this.iconImg = this.navObj.document.images[\"folderIcon\"+this.id] \n""    this.nodeImg = this.navObj.document.images[\"nodeIcon\"+this.id] \n""    doc.yPos=doc.yPos+this.navObj.clip.height \n""  } else if (browserVersion == 3) {\n""    this.navObj = doc.getElementById(\"folder\"+this.id)\n""    this.iconImg = doc.images.namedItem(\"folderIcon\"+this.id)\n""    this.nodeImg = doc.images.namedItem(\"nodeIcon\"+this.id)\n""  }\n""} \n"" \n""function outputFolderLink() \n""{ \n""  if (this.hreference) \n""  { \n""    doc.write(\"<a \")\n""    if (this.tagName)\n""    {\n""      doc.write(\"doxygen='\" + this.tagName + \"' \");\n""    }\n""    doc.write(\"href='\" + this.hreference + \"' TARGET=\\\"basefrm\\\" \") \n""    if (browserVersion > 0) \n""      doc.write(\"onClick='javascript:clickOnFolder(\"+this.id+\")'\") \n""    doc.write(\">\") \n""  } \n""  else \n""    doc.write(\"<a>\") \n""} \n"" \n""function addChild(childNode) \n""{ \n""  this.children[this.nChildren] = childNode \n""  this.nChildren++ \n""  return childNode \n""} \n"" \n""function folderSubEntries() \n""{ \n""  var i = 0 \n""  var se = this.nChildren \n"" \n""  for (i=0; i < this.nChildren; i++){ \n""    if (this.children[i].children) //is a folder \n""      se = se + this.children[i].subEntries() \n""  } \n"" \n""  return se \n""} \n"" \n"" \n""// Definition of class Item (a document or link inside a Folder) \n""// ************************************************************* \n"" \n""function Item(itemDescription, tagName, itemLink) // Constructor \n""{ \n""  // constant data \n""  this.desc = itemDescription \n""  this.tagName = tagName\n""  this.link = itemLink \n""  this.id = -1 //initialized in initalize() \n""  this.navObj = 0 //initialized in render() \n""  this.iconImg = 0 //initialized in render() \n""  this.iconSrc = \"ftv2doc.gif\" \n"" \n""  // methods \n""  this.initialize = initializeItem \n""  this.createIndex = createEntryIndex \n""  this.hide = hideItem \n""  this.display = display \n""  this.renderOb = drawItem \n""  this.totalHeight = totalHeight \n""} \n"" \n""function hideItem() \n""{ \n""  if (browserVersion == 1 || browserVersion == 3) { \n""    if (this.navObj.style.display == \"none\") \n""      return \n""    this.navObj.style.display = \"none\" \n""  } else { \n""    if (this.navObj.visibility == \"hidden\") \n""      return \n""    this.navObj.visibility = \"hidden\" \n""  }     \n""} \n"" \n""function initializeItem(level, lastNode, leftSide) \n""{  \n""  this.createIndex() \n"" \n""  if (level>0) \n""    if (lastNode) //the last 'brother' in the children array \n""    { \n""      this.renderOb(leftSide + \"<img src='ftv2lastnode.gif' width=16 height=22>\") \n""      leftSide = leftSide + \"<img src='ftv2blank.gif' width=16 height=22>\"  \n""    } \n""    else \n""    { \n""      this.renderOb(leftSide + \"<img src='ftv2node.gif' width=16 height=22>\") \n""      leftSide = leftSide + \"<img src='ftv2vertline.gif' width=16 height=22>\" \n""    } \n""  else \n""    this.renderOb(\"\")   \n""} \n"" \n""function drawItem(leftSide) \n""{ \n""  if (browserVersion == 2) \n""    doc.write(\"<layer id='item\" + this.id + \"' top=\" + doc.yPos + \" visibility=hidden>\") \n""  if (browserVersion == 3) \n""    doc.write(\"<div id='item\" + this.id + \"' style='display:block;'>\") \n""     \n""  doc.write(\"\\n<table \") \n""  if (browserVersion == 1) \n""    doc.write(\" id='item\" + this.id + \"' style='position:block;' \") \n""  doc.write(\" border=0 cellspacing=0 cellpadding=0>\\n\") \n""  doc.write(\"<tr><td>\") \n""  doc.write(leftSide) \n""  if (this.link!=\"\")\n""  {\n""    doc.write(\"<a href=\" + this.link + \">\") \n""  }\n""  doc.write(\"<img id='itemIcon\"+this.id+\"' \") \n""  doc.write(\"src='\"+this.iconSrc+\"' border=0>\") \n""  if (this.link!=\"\")\n""  {\n""    doc.write(\"</a>\")\n""  } \n""  doc.write(\"</td>\\n<td valign=middle nowrap>\") \n""  if (USETEXTLINKS && this.link!=\"\") \n""    doc.write(\"<a href=\" + this.link + \">\" + this.desc + \"</a>\") \n""  else \n""    doc.write(this.desc) \n""  if (this.tagName!=\"\")\n""  {\n""    doc.write(\" [external]\");\n""  }\n""  doc.write(\"\\n</table>\\n\") \n""   \n""  if (browserVersion == 2) \n""    doc.write(\"</layer>\") \n""  if (browserVersion == 3) \n""    doc.write(\"</div>\")\n"" \n""  if (browserVersion == 1) { \n""    this.navObj = doc.all[\"item\"+this.id] \n""    this.iconImg = doc.all[\"itemIcon\"+this.id] \n""  } else if (browserVersion == 2) { \n""    this.navObj = doc.layers[\"item\"+this.id] \n""    this.iconImg = this.navObj.document.images[\"itemIcon\"+this.id] \n""    doc.yPos=doc.yPos+this.navObj.clip.height \n""  } else if (browserVersion == 3) {\n""    this.navObj = doc.getElementById(\"item\"+this.id)\n""    this.iconImg = doc.images.namedItem(\"itemIcon\"+this.id)\n""  }\n""} \n"" \n"" \n""// Methods common to both objects (pseudo-inheritance) \n""// ******************************************************** \n"" \n""function display() \n""{ \n""  if (browserVersion == 1 || browserVersion == 3) \n""    this.navObj.style.display = \"block\" \n""  else \n""    this.navObj.visibility = \"show\" \n""} \n"" \n""function createEntryIndex() \n""{ \n""  this.id = nEntries \n""  indexOfEntries[nEntries] = this \n""  nEntries++ \n""} \n"" \n""// total height of subEntries open \n""function totalHeight() //used with browserVersion == 2 \n""{ \n""  var h = this.navObj.clip.height \n""  var i = 0 \n""   \n""  if (this.isOpen) //is a folder and _is_ open \n""    for (i=0 ; i < this.nChildren; i++)  \n""      h = h + this.children[i].totalHeight() \n"" \n""  return h \n""} \n"" \n"" \n""// Events \n""// ********************************************************* \n"" \n""function clickOnFolder(folderId) \n""{ \n""  var clicked = indexOfEntries[folderId] \n"" \n""  if (!clicked.isOpen) \n""    clickOnNode(folderId) \n"" \n""  return  \n"" \n""  if (clicked.isSelected) \n""    return \n""} \n"" \n""function clickOnNode(folderId) \n""{ \n""  var clickedFolder = 0 \n""  var state = 0 \n"" \n""  clickedFolder = indexOfEntries[folderId] \n""  state = clickedFolder.isOpen \n"" \n""  clickedFolder.setState(!state) //open<->close  \n""} \n"" \n""function initializeDocument() \n""{ \n""  doc = document;\n""  if (doc.all) \n""    browserVersion = 1 //IE4   \n""  else \n""    if (doc.layers) \n""      browserVersion = 2 //NS4 \n""    else if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1)\n""        browserVersion = 3 //mozilla\n""      else \n""        browserVersion = 0 //other \n""\n""  foldersTree.initialize(0, 1, \"\") \n""  foldersTree.display()\n""  \n""  if (browserVersion > 0) \n""  { \n""    if(browserVersion != 3)\n""      doc.write(\"<layer top=\"+indexOfEntries[nEntries-1].navObj.top+\">&nbsp;</layer>\") \n"" \n""    // close the whole tree \n""    clickOnNode(0) \n""    // open the root folder \n""    clickOnNode(0) \n""  } \n""} \n"" \n""// Auxiliary Functions for Folder-Treee backward compatibility \n""// ********************************************************* \n"" \n""function gFld(description, tagName, hreference) \n""{ \n""  folder = new Folder(description, tagName, hreference) \n""  return folder \n""} \n"" \n""function gLnk(description, tagName, linkData) \n""{ \n""  fullLink = \"\" \n"" \n""  if (linkData!=\"\")\n""  {\n""    fullLink = \"'\"+linkData+\"' target=\\\"basefrm\\\"\" \n""  } \n"" \n""  linkItem = new Item(description, tagName, fullLink)   \n""  return linkItem \n""} \n"" \n""function insFld(parentFolder, childFolder) \n""{ \n""  return parentFolder.addChild(childFolder) \n""} \n"" \n""function insDoc(parentFolder, document) \n""{ \n""  parentFolder.addChild(document) \n""} \n"" \n""// Global variables \n""// **************** \n"" \n""USETEXTLINKS = 1\n""indexOfEntries = new Array \n""nEntries = 0 \n""doc = document \n""browserVersion = 0 \n""selectedFolder=0\n"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -