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");