home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0"?> <!-- -*- Mode: SGML -*- -->
- <!--
-
- The contents of this file are subject to the Netscape Public
- License Version 1.1 (the "License"); you may not use this file
- except in compliance with the License. You may obtain a copy of
- the License at http://www.mozilla.org/NPL/
-
- Software distributed under the License is distributed on an "AS
- IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- implied. See the License for the specific language governing
- rights and limitations under the License.
-
- The Original Code is mozilla.org code.
-
- The Initial Developer of the Original Code is Netscape
- Communications Corporation. Portions created by Netscape are
- Copyright (C) 1998 Netscape Communications Corporation. All
- Rights Reserved.
-
- Contributor(s):
-
- -->
-
- <!--
-
- This test exercises some simple DOM manipulation on a tree control
-
- -->
-
-
- <window
- xmlns:html="http://www.w3.org/1999/xhtml"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- align="vertical">
-
- <html:script>
- function RemovePersonalToolbar()
- {
- var personalToolbarFolder = document.getElementById("NC:PersonalToolbarFolder");
- dump("personalToolbarFolder = " + personalToolbarFolder + "\n");
- if (personalToolbarFolder == null)
- return;
-
- var bookmarksRoot = document.getElementById("NC:BookmarksRoot");
- dump("bookmarksRoot = " + bookmarksRoot + "\n");
- if (bookmarksRoot == null)
- return;
-
- bookmarksRoot.removeChild(personalToolbarFolder);
- }
-
- function AddPersonalToolbar()
- {
- var bookmarksRoot = document.getElementById("NC:BookmarksRoot");
- dump("bookmarksRoot = " + bookmarksRoot + "\n");
- if (bookmarksRoot == null)
- return;
-
- var personalToolbarFolder = document.getElementById("NC:PersonalToolbarFolder");
- dump("personalToolbarFolder = " + personalToolbarFolder + "\n");
- if (personalToolbarFolder != null) // already there
- return;
-
- personalToolbarFolder = document.createElement("xul:treeitem");
- personalToolbarFolder.setAttribute("id", "NC:PersonalToolbarFolder");
- bookmarksRoot.appendChild(personalToolbarFolder);
- }
-
- function MutateBody()
- {
- // This test changes the "id" attribute on the treebody
- var tree = document.getElementById("tree");
- dump("tree = " + tree + "\n");
-
- var currentRef = tree.getAttribute("ref");
- dump("currentRef = " + currentRef + "\n");
-
- if (currentRef == "NC:BookmarksRoot") {
- tree.setAttribute("ref", "NC:PersonalToolbarFolder");
- }
- else {
- tree.setAttribute("ref", "NC:BookmarksRoot");
- }
- }
- </html:script>
-
- <box align="horizontal">
- <html:button onclick="RemovePersonalToolbar();">Remove Personal Toolbar</html:button>
- <html:button onclick="AddPersonalToolbar();">Add Personal Toolbar</html:button>
- <html:button onclick="MutateBody();">Swap Body (Bookmarks Root/Personal Toolbar Folder)</html:button>
- </box>
-
- <tree id="tree" datasources="rdf:bookmarks" onclick="return OpenURL(event,event.target.parentNode);" ref="NC:BookmarksRoot">
- <template>
- <rule rdf:type="http://home.netscape.com/NC-rdf#BookmarkSeparator">
- <treechildren>
- <treeitem uri="...">
- <treerow>
- <treecell>
- <html:hr width="75%" align="center" size="1" />
- </treecell>
- </treerow>
- </treeitem>
- </treechildren>
- </rule>
-
- <rule>
- <treechildren>
- <treeitem uri="...">
- <treerow>
- <treecell>
- <treeindentation />
- <titledbutton value="rdf:http://home.netscape.com/NC-rdf#Name" align="right" />
- </treecell>
- <treecell>
- <titledbutton value="rdf:http://home.netscape.com/NC-rdf#URL" align="right" style="list-style-image: none;" />
- </treecell>
- </treerow>
- </treeitem>
- </treechildren>
- </rule>
- </template>
-
- <treehead>
- <treerow>
- <treecell>Name</treecell>
- <treecell>URL</treecell>
- </treerow>
- </treehead>
- </tree>
-
- </window>
-