return Components.interfaces.nsIAccessibleProvider.XFormsSelect; return this.nativeWidget.getFreeEntryValues(); return this.nativeWidget.allowFreeEntry(aAllowed); this.nativeWidget.appendFreeEntryItem(aValue); this.nativeWidget.selectItem(aItem, aIsSelected); return this.nativeWidget.isItemSelected(aItem); this.nativeWidget.disableItem(aItem, aIsDisabled); return this.nativeWidget.isItemDisabled(aItem); this.nativeWidget.focus(); this.handleInsertion(this, null); if (!this._nativeWidget) this._nativeWidget = this.ownerDocument. getAnonymousElementByAttribute(this, "anonid", "nativewidget"); return this._nativeWidget; false if (this.isInsertionHandlingPrevented) return; var target = event.originalTarget; if (target.namespaceURI == this.XFORMS_NS) { switch (target.localName) { case "choices": case "item": this.nativeWidget.removeNativeElm(target); return; case "itemset": var itemset = target.QueryInterface(Components.interfaces.nsIXFormsItemSetUIElement); var container = itemset.anonymousItemSetContent; for (var child = container.firstChild; child; child = child.nextSibling) this.nativeWidget.removeNativeElm(child); return; } } this.handleLabel(target, false); if (this.isInsertionHandlingPrevented) return; this.handleLabel(event.originalTarget, true); function _isSelected(aItem, aItemList) { if (this.isItemMarkedSelected(aItem)) aItemList.push(aItem); return true; } var list = []; this.traverseItems(this, _isSelected, list); return list; this.markItemSelected(aItem, true); this.markItemSelected(aItem, false); function _clearSelection(aItem) { this.markItemSelected(aItem, false); return true; } this.traverseItems(this, _clearSelection); function _selectAll(aItem) { this.markItemSelected(aItem, true); return true; } this.traverseItems(this, _selectAll); return this.isItemMarkedSelected(aItem); // A limitation of the XML Schema list datatypes is that white space // characters in the storage values (the value element) are always // interpreted as separators between individual data values. // Therefore, authors should avoid using white space characters within // storage values with list simpleContent. // Replace new line (\n), tabs (\t) and carriage returns (\r) with // space (" "). var value = aString.replace(aWhiteSpaceExpr, " "); return value.split(/\s/); for (var i = 0; this.values.length; ++i) { if (!this.values[i].isUsed) { this.appendFreeEntryItem(this.values[i].value); this.values[i].isUsed = true; } } function getSelectedItem(aItem, aSelectedItem) { var selected = this.isItemMarkedSelected(aItem); if (selected) aSelectedItem.value = aItem; return !selected; } var selectedItem = {value: null}; this.traverseItems(this, getSelectedItem, selectedItem); return selectedItem.value; function setSelectedItem(aItem, aSelectedItem) { this.markItemSelected(aItem, aItem == aSelectedItem); return true; } this.traverseItems(this, setSelectedItem, val); return [aString]; if (this.values.length != 1) return; if (!this.values[0].isUsed) { this.appendFreeEntryItem(this.values[0].value); this.values[0].isUsed = true; } 1 || aHitArray.length == 1 && !aHitArray[0].isUsed); ]]> var index = this.getIndexByElm(aItem); if (index != -1) { var listElm = this.nodeList[index]; this.selectItemNative(listElm.nativeElm, aDoSelect); listElm.wasSelected = aDoSelect; } var index = this.getIndexByElm(aItem); if (index != -1) return this.isItemSelectedNative(this.nodeList[index].nativeElm); return false; var index = this.getIndexByElm(aItem); if (index != -1) this.disableItemNative(this.nodeList[index].nativeElm, aDoDisable); var index = this.getIndexByElm(aItem); if (index != -1) return this.isItemDisabledNative(this.nodeList[index].nativeElm); return false; this.control.focus(); return ""; return false; var index = this.getIndexByElm(aNode); if (index != -1) this.setLabelForNative(this.nodeList[index].nativeElm, aLabelNode); return false; var listElm = { elm: aSelect, nativeElm: this.control, level: 0, wasSelected: false }; this.nodeList = [listElm]; this.selectControl = aSelect; return 0; switch (aElm.localName) { case "choices": aIsItemElm.value = false; var group = this.createGroupElm(aParentElm, aNextElm, this.getLabelFor(aElm)); return group ? group : this.control; case "item": aIsItemElm.value = true; return this.createItemElm(aParentElm, aNextElm, this.getLabelFor(aElm)); } return null; if (!this._control) this._control = this.ownerDocument. getAnonymousElementByAttribute(this, "anonid", "control"); return this._control; null new Array() if (this.selectControl) this.selectControl.dispatchDOMUIEvent("DOMFocusIn"); if (this.selectControl) this.selectControl.dispatchDOMUIEvent("DOMFocusOut");