Re: Trees in Tabs?

reverendlinux <[email protected]>
Newsgroups gmane.comp.mozilla.devel.xpfe
Organization http://groups.google.com
Message-ID <879d1ead-7d17-41a8-bcf1-66c00c7ed082@gk10g2000vbb.googlegroups.com>
On Oct 24, 8:55 pm, reverendlinux <[email protected]>
wrote:

In case anyone would like to contribute some ideas as to why my data
is not being displayed within trees contained in tabs, here is the
full code of the three associated files I'm having the trouble with.
Any help is greatly appreciated as this has got me completely stopped
in writing my app.

**************
1 - mags.txt - A text file containing tab-separated values.  This is
an example of the files contents:
**************
Automobile	Vol 1 Issue 3	June 1986
Beekeeper Weekly	1057	April 1999
Choppers	NN	December 1978



************************
2 - populate-listing.js - The Javascript file that reads mags.txt,
formats the data and is supposed to insert it into the proper tree in
listing.xul.  IE - All magazines starting with A go into the A tab
(aList tree), etc.
************************
function doPopulate() {
	// Path to data file
	var magFile = /home/paul/Documents/mags.txt;

	//Read Data File//
	var file = Components.classes["@mozilla.org/file/local;
1"].createInstance(Components.interfaces.nsILocalFile);
	file.initWithPath( magFile );

	var istream = Components.classes["@mozilla.org/network/file-input-
stream;1"].createInstance(Components.interfaces.nsIFileInputStream);
	istream.init(file, 0x01, 0444, 0);
	istream.QueryInterface(Components.interfaces.nsILineInputStream);

	var mag = {}, mags = [], hasmore;
	do {
		hasmore = istream.readLine(mag);
		mags.push(mag.value);
	   } while(hasmore);

	istream.close();

	var filtered = [];
	var charCodeRange = {
		start: 65,
		end: 90
			    }

	// Get all all titles starting with A, then B, etc
	for (var cc = charCodeRange.start; cc <= charCodeRange.end; cc++) {
		for (var z=0;z<mags.length;z++) {
			entry = mags[z].split("\t");

			if (entry[1].charAt(0) === String.fromCharCode(cc) ||
entry[1].charAt(0) === String.fromCharCode(cc).toLowerCase()) {
				filtered.push(filtered[z]);
						    											    }
						}

		// Set target tree name (ie - aList, bList, etc)
		var alphaList = String.fromCharCode(cc).toLowerCase()+"List";
		populateTree(filtered,alphaList);

		// Add to allList tree (last tab)
		alphaList = "allList";
		populateTree(filtered,alphaList);
									 }
} // end function

function populateTree(filtered,alphaList) {
	//Write Data in listing.xul
	var treeView = {
		rowCount : filtered.length,
		getCellText : function(row,column) {
			if (filtered[row]) {
       				var line = filtered[row].split("\t");
				switch (column.id) {
					case "title":
						return line[0];
					case "issue":
						return line[1];
					case "date":
						return line[2];
					default :
						return false;
						    } // end switch
  					   } // end if filtered
    						   },
    		setTree: function(treebox){ this.treebox = treebox; },
    		isContainer: function(row){ return false; },
    		isSeparator: function(row){ return false; },
    		isSorted: function(){ return false; },
    		getLevel: function(row){ return 0; },
    		getImageSrc: function(row,col){ return null; },
    		getRowProperties: function(row,props){},
    		getCellProperties: function(row,col,props){},
    		getColumnProperties: function(colid,col,props){}
			  };

	document.getElementById(alphaList).view = treeView;

} // end function




**************
3 - listing.xul - The XUL window into which my data is supposed to be
displayed.
**************
<?xml  version="1.0"?>
<?xml-stylesheet href="style.css" type="text/css"?>
<!DOCTYPE window>

<window
	id="list"
	name="list"
	title="Magazine Listing"
	xmlns:html="http://www.w3.org/1999/xhtml"
	xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
	onload='doPopulate();'>

	<script type="application/x-javascript" src="./scripts/populate-
listing.js" />

	<tabbox id="MagTabs" flex="1" style="font-size: 10px;">
		<tabs>
			<tab id="a" label="A" flex="1" />
			<tab id="b" label="B" flex="1" />
			<tab id="c" label="C" flex="1" />
			<tab id="d" label="D" flex="1" />
			<tab id="e" label="E" flex="1" />
			<tab id="f" label="F" flex="1" />
			<tab id="g" label="G" flex="1" />
			<tab id="h" label="H" flex="1" />
			<tab id="i" label="I" flex="1" />
			<tab id="j" label="J" flex="1" />
			<tab id="k" label="K" flex="1" />
			<tab id="l" label="L" flex="1" />
			<tab id="m" label="M" flex="1" />
			<tab id="n" label="N" flex="1" />
			<tab id="o" label="O" flex="1" />
			<tab id="p" label="P" flex="1" />
			<tab id="q" label="Q" flex="1" />
			<tab id="r" label="R" flex="1" />
			<tab id="s" label="S" flex="1" />
			<tab id="t" label="T" flex="1" />
			<tab id="u" label="U" flex="1" />
			<tab id="v" label="V" flex="1" />
			<tab id="w" label="W" flex="1" />
			<tab id="x" label="X" flex="1" />
			<tab id="y" label="Y" flex="1" />
			<tab id="z" label="Z" flex="1" />
			<tab id="all" label="All" flex="1" />
		</tabs>
		<tabpanels>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="aList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="bList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="cList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="dList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="eList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="fList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="gList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="hList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="iList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="jList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="kList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="lList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="mList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="nList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="oList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="pList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="qList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="rList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="sList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="tList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="uList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="vList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="wList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="xList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="yList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="zList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>

			<tabpanel>
				<tree
					editable="false"
					ref=""
					id="allList"
					enableColumnDrag="true"
					hidecolumnpicker="true"
					seltype="multiple"
					flex="1"
					style="font-size: 8pt;">

					<treecols style="font-size: 9pt;">
						<treecol id="title" label="Title" flex="1" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="issue" label="Issue" flex="2" persist="width
ordinal hidden" />
						<splitter class="tree-splitter" />
						<treecol id="date" label="Date" persist="width ordinal hidden" /
>
					</treecols>

					<treechildren id="child">

					</treechildren>
				</tree>
			</tabpanel>
		</tabpanels>
	</tabbox>

</window>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.