null -1) this._currentIndex = this.currentIndex + 1; var event = document.createEvent("Events"); event.initEvent("select", true, true); this.dispatchEvent(event); // always call this (allows a commandupdater without controller) document.commandDispatcher.updateCommands("richlistbox-select"); ]]> return this.insertItemAt(-1, aLabel, aValue); const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; var item = this.ownerDocument.createElementNS(XULNS, "richlistitem"); item.setAttribute("value", aValue); var label = this.ownerDocument.createElementNS(XULNS, "label"); label.setAttribute("value", aLabel); label.setAttribute("flex", "1"); label.setAttribute("crop", "end"); item.appendChild(label); var before = this.getItemAtIndex(aIndex); if (!before) this.appendChild(item); else this.insertBefore(item, before); return item; return this.children[aIndex] || null; height) break; // we've reached the desired distance index = ix; } return index != this.currentIndex ? index - this.currentIndex : aDirection; ]]> = 0; i--) { if (this.selectedItems[i] && this.selectedItems[i].id) this.selectedItems[i] = document.getElementById(this.selectedItems[i].id); else this.selectedItems[i] = null; if (!this.selectedItems[i]) this.selectedItems.splice(i, 1); } } if (this.currentItem && this.currentItem.id) this.currentItem = document.getElementById(this.currentItem.id); else this.currentItem = null; // if we have no previously current item or if the above check fails to // find the previous nodes (which causes it to clear selection) if (!this.currentItem && this.selectedCount == 0) { this.currentIndex = this._currentIndex ? this._currentIndex - 1 : 0; // cf. listbox constructor: // select items according to their attributes var children = this.children; for (var i = 0; i < children.length; ++i) { if (children[i].getAttribute("selected") == "true") this.selectedItems.push(children[i]); } } if (this.selType != "multiple" && this.selectedCount == 0) this.selectedItem = this.currentItem; ]]> y.value) && (aItem.boxObject.y < y.value + this.scrollBoxObject.height); ]]> null