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: 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: 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: true michael@0: michael@0: michael@0: false michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: ({}) michael@0: ({}) michael@0: ({}) michael@0: null michael@0: 0 michael@0: false michael@0: false michael@0: false michael@0: false michael@0: false michael@0: false michael@0: null michael@0: "" michael@0: false michael@0: null michael@0: false michael@0: true michael@0: false 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: 0 && !results.errorDescription) michael@0: return name; 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: 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: 0 && michael@0: !results.errorDescription && results.defaultIndex != -1) michael@0: { michael@0: val = results.getValueAt(results.defaultIndex); michael@0: this.setTextValue(val); michael@0: this.mDefaultMatchFilled = true; michael@0: this.mNeedToFinish = false; michael@0: break; michael@0: } michael@0: } michael@0: michael@0: if (this.mNeedToFinish) { michael@0: // if a search is happening at this juncture, bail out of this function michael@0: // and let the search finish, and tell it to come back here when it's done michael@0: if (this.isSearching) { michael@0: this.mFinishAfterSearch = true; michael@0: this.mFireAfterSearch = aFireTextCommand; michael@0: return; michael@0: } michael@0: michael@0: this.mNeedToFinish = false; michael@0: var defaultSession = this.getDefaultSession(); michael@0: if (defaultSession) michael@0: { michael@0: // preselect the first one michael@0: var first = this.getSessionValueAt(defaultSession, 0); michael@0: this.setTextValue(first); michael@0: this.mDefaultMatchFilled = true; michael@0: } michael@0: } michael@0: } michael@0: michael@0: this.stopLookup(); michael@0: michael@0: this.closePopup(); michael@0: } michael@0: michael@0: this.mNeedToComplete = false; michael@0: this.clearTimer(); michael@0: michael@0: if (aFireTextCommand) michael@0: this._fireEvent("textentered", this.userAction, aTriggeringEvent); 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: > " + resultValue); michael@0: this.mInputElt.setSelectionRange(entry.length, this.value.length); michael@0: } else { michael@0: var postIndex = resultValue.indexOf(this.value); michael@0: if (postIndex >= 0) { michael@0: var startPt = this.value.length; michael@0: this.setTextValue(this.value + michael@0: resultValue.substr(startPt+postIndex)); michael@0: this.mInputElt.setSelectionRange(startPt, this.value.length); michael@0: } michael@0: } michael@0: } michael@0: this.mNeedToComplete = true; michael@0: this.ignoreInputEvent = false; michael@0: this.mDefaultMatchFilled = true; michael@0: } michael@0: } michael@0: ]]> michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: = this.minResultsForPopup || michael@0: this.mFailureItems)) { michael@0: var w = this.boxObject.width; michael@0: if (w != this.popup.boxObject.width) michael@0: this.popup.setAttribute("width", w); michael@0: this.popup.showPopup(this, -1, -1, "popup", "bottomleft", "topleft"); michael@0: this.mMenuOpen = true; 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: document.getBindingParent(this); michael@0: michael@0: michael@0: michael@0: document.getAnonymousElementByAttribute(this, "anonid", "tree"); michael@0: michael@0: michael@0: michael@0: document.getAnonymousElementByAttribute(this, "anonid", "treecols"); michael@0: michael@0: michael@0: michael@0: document.getAnonymousElementByAttribute(this, "anonid", "treebody"); michael@0: michael@0: michael@0: michael@0: null michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: 0 michael@0: 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: this.selection.clearSelection(); michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: aMaxRow) michael@0: return aMaxRow; michael@0: if (aIndex < 0) michael@0: return 0; michael@0: return aIndex; michael@0: ]]> michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: null michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: if (!this.view || !this.selection.count) michael@0: return -1; michael@0: var start = {}, end = {}; michael@0: this.view.selection.getRangeAt(0, start, end); michael@0: return start.value; michael@0: michael@0: michael@0: if (this.view) { michael@0: this.selection.select(val); michael@0: if (val >= 0) { michael@0: this.view.selection.currentIndex = -1; michael@0: this.tree.treeBoxObject.ensureRowIsVisible(val); michael@0: } michael@0: } michael@0: return val; michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: 100 ? width : 100); michael@0: // Adjust the direction (which is not inherited) of the autocomplete michael@0: // popup list, based on the textbox direction. (Bug 707039) michael@0: this.style.direction = aElement.ownerDocument.defaultView michael@0: .getComputedStyle(aElement) michael@0: .direction; michael@0: const nsIPopupBoxObject = Components.interfaces.nsIPopupBoxObject; michael@0: this.popupBoxObject.setConsumeRollupEvent(aInput.consumeRollupEvent michael@0: ? nsIPopupBoxObject.ROLLUP_CONSUME michael@0: : nsIPopupBoxObject.ROLLUP_NO_CONSUME); michael@0: this.openPopup(aElement, "after_start", 0, 0, false, false); michael@0: if (this.state != "closed") michael@0: this.input = aInput; michael@0: } michael@0: ]]> michael@0: michael@0: michael@0: michael@0: michael@0: this.hidePopup(); michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: if (this.view) michael@0: this.adjustHeight(); michael@0: this.tree.treeBoxObject.invalidate(); 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: if (this.textbox) michael@0: this.textbox.mMenuOpen = true; michael@0: michael@0: michael@0: michael@0: if (this.textbox) michael@0: this.textbox.mMenuOpen = false; michael@0: this.clearSelection(); michael@0: this.input = null; michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: document.getBindingParent(this); michael@0: michael@0: Date.now() michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: michael@0: 30) { michael@0: var rc = this.parentNode.treeBoxObject.getRowAt(event.clientX, event.clientY); michael@0: if (rc != -1 && rc != this.popup.selectedIndex) michael@0: this.popup.selectedIndex = rc; michael@0: this.mLastMoveTime = Date.now(); 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: