1 function createComplexHTMLElement (e, attrs, objects, text) {
2 var l = document.createElementNS('http://www.w3.org/1999/xhtml',e);
5 for (var i in attrs) l.setAttribute(i,attrs[i]);
9 for ( var i in objects ) l.appendChild( objects[i] );
13 l.appendChild( document.createTextNode(text) )
19 function createComplexXULElement (e, attrs, objects) {
20 var l = document.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul',e);
23 for (var i in attrs) {
24 if (typeof attrs[i] == 'function') {
25 l.addEventListener( i, attrs[i], true );
27 l.setAttribute(i,attrs[i]);
33 for ( var i in objects ) l.appendChild( objects[i] );
39 function createDescription (attrs) {
40 return createComplexXULElement('description', attrs, Array.prototype.slice.apply(arguments, [1]) );
43 function createTooltip (attrs) {
44 return createComplexXULElement('tooltip', attrs, Array.prototype.slice.apply(arguments, [1]) );
47 function createLabel (attrs) {
48 return createComplexXULElement('label', attrs, Array.prototype.slice.apply(arguments, [1]) );
51 function createVbox (attrs) {
52 return createComplexXULElement('vbox', attrs, Array.prototype.slice.apply(arguments, [1]) );
55 function createHbox (attrs) {
56 return createComplexXULElement('hbox', attrs, Array.prototype.slice.apply(arguments, [1]) );
59 function createRow (attrs) {
60 return createComplexXULElement('row', attrs, Array.prototype.slice.apply(arguments, [1]) );
63 function createTextbox (attrs) {
64 return createComplexXULElement('textbox', attrs, Array.prototype.slice.apply(arguments, [1]) );
67 function createCheckbox (attrs) {
68 return createComplexXULElement('checkbox', attrs, Array.prototype.slice.apply(arguments, [1]) );
71 function createTreeChildren (attrs) {
72 return createComplexXULElement('treechildren', attrs, Array.prototype.slice.apply(arguments, [1]) );
75 function createTreeItem (attrs) {
76 return createComplexXULElement('treeitem', attrs, Array.prototype.slice.apply(arguments, [1]) );
79 function createTreeRow (attrs) {
80 return createComplexXULElement('treerow', attrs, Array.prototype.slice.apply(arguments, [1]) );
83 function createTreeCell (attrs) {
84 return createComplexXULElement('treecell', attrs, Array.prototype.slice.apply(arguments, [1]) );
87 function createPopup (attrs) {
88 return createComplexXULElement('popup', attrs, Array.prototype.slice.apply(arguments, [1]) );
91 function createMenuPopup (attrs) {
92 return createComplexXULElement('menupopup', attrs, Array.prototype.slice.apply(arguments, [1]) );
95 function createMenu (attrs) {
96 return createComplexXULElement('menu', attrs, Array.prototype.slice.apply(arguments, [1]) );
99 function createMenuItem (attrs) {
100 return createComplexXULElement('menuitem', attrs, Array.prototype.slice.apply(arguments, [1]) );
103 function createMenuSeparator (attrs) {
104 return createComplexXULElement('menuseparator', attrs, Array.prototype.slice.apply(arguments, [1]) );