michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: for (var parent = this.parentNode; parent; parent = parent.parentNode) { michael@0: if (parent instanceof Components.interfaces.nsIDOMXULContainerElement) michael@0: return parent; michael@0: } michael@0: return null; michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: return this.insertItemAt(-1, aLabel, aValue); michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: const XUL_NS = michael@0: "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; michael@0: michael@0: var menupopup = this.menupopup; michael@0: if (!menupopup) { michael@0: menupopup = this.ownerDocument.createElementNS(XUL_NS, "menupopup"); michael@0: this.appendChild(menupopup); michael@0: } michael@0: michael@0: var menuitem = this.ownerDocument.createElementNS(XUL_NS, "menuitem"); michael@0: menuitem.setAttribute("label", aLabel); michael@0: menuitem.setAttribute("value", aValue); michael@0: michael@0: var before = this.getItemAtIndex(aIndex); michael@0: if (before) michael@0: return menupopup.insertBefore(menuitem, before); michael@0: return menupopup.appendChild(menuitem); michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: var menupopup = this.menupopup; michael@0: return menupopup ? menupopup.childNodes.length : 0; michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: = menupopup.childNodes.length) michael@0: return null; michael@0: michael@0: return menupopup.childNodes[aIndex]; michael@0: ]]> michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: