home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / mozil06.zip / bin / chrome / toolkit.jar / content / global / treePopups.js < prev    next >
Text File  |  2001-02-14  |  3KB  |  92 lines

  1. /* -*- Mode: Java; tab-width: 4; c-basic-offset: 4; -*-
  2.  * 
  3.  * The contents of this file are subject to the Netscape Public License
  4.  * Version 1.0 (the "NPL"); you may not use this file except in
  5.  * compliance with the NPL.  You may obtain a copy of the NPL at
  6.  * http://www.mozilla.org/NPL/
  7.  *
  8.  * Software distributed under the NPL is distributed on an "AS IS" basis,
  9.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
  10.  * for the specific language governing rights and limitations under the
  11.  * NPL.
  12.  *
  13.  * The Initial Developer of this code under the NPL is Netscape
  14.  * Communications Corporation.  Portions created by Netscape are
  15.  * Copyright (C) 1998 Netscape Communications Corporation.  All Rights
  16.  * Reserved.
  17.  *
  18.  * Contributor(s):
  19.  *   Dave Hyatt (hyatt@netscape.com)
  20.  *   Peter Annema <disttsc@bart.nl>
  21.  *   Blake Ross <blakeross@telocity.com>
  22.  */
  23.  
  24. function BuildTreePopup( treeColGroup, treeHeadRow, popup, skipCell )
  25. {
  26.   var popupChild = popup.firstChild;
  27.   var firstTime = !popupChild ? true : false;
  28.  
  29.   var currTreeCol = treeHeadRow.firstChild;
  30.   var currColNode = treeColGroup.firstChild;
  31.   while (currTreeCol) {
  32.     if (currColNode.tagName == "splitter")
  33.       currColNode = currColNode.nextSibling;
  34.  
  35.     if (skipCell != currTreeCol) {
  36.       // Construct an entry for each cell in the row.
  37.       var columnName = currTreeCol.getAttribute("value");
  38.       if (firstTime) {
  39.         popupChild = document.createElement("menuitem");
  40.         popupChild.setAttribute("type", "checkbox");
  41.         popupChild.setAttribute("value", columnName);
  42.         if (columnName == "") {
  43.           var display = currTreeCol.getAttribute("display");
  44.           popupChild.setAttribute("value", display);
  45.         }
  46.         popupChild.setAttribute("colid", currColNode.id);
  47.         popupChild.setAttribute("oncommand", "ToggleColumnState(this, document)");
  48.         if ("true" != currColNode.getAttribute("hidden")) {
  49.           popupChild.setAttribute("checked", "true");
  50.         }
  51.         popup.appendChild(popupChild);
  52.       } else {
  53.         if ("true" == currColNode.getAttribute("hidden")) {
  54.           if (popupChild.getAttribute("checked"))
  55.             popupChild.removeAttribute("checked");
  56.         } else {
  57.           if (!popupChild.getAttribute("checked"))
  58.             popupChild.setAttribute("checked", "true");
  59.         }
  60.         popupChild = popupChild.nextSibling;
  61.       }
  62.  
  63.     }
  64.  
  65.     currTreeCol = currTreeCol.nextSibling;
  66.     currColNode = currColNode.nextSibling;
  67.   }
  68. }
  69.  
  70. function DestroyPopup(element)
  71. {
  72. /*
  73.   while (element.firstChild) {
  74.     element.removeChild(element.firstChild);
  75.   }
  76.   */
  77. }
  78.  
  79. function ToggleColumnState(popupElement, doc)
  80. {
  81.   var colid = popupElement.getAttribute("colid");
  82.   var colNode = doc.getElementById(colid);
  83.   if (colNode) {
  84.     dump(colNode.id + "\n");
  85.     var checkedState = popupElement.getAttribute("checked");
  86.     if (checkedState == "true")
  87.       colNode.removeAttribute("hidden");
  88.     else
  89.       colNode.setAttribute("hidden", "true");
  90.   }
  91. }
  92.