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>