/* ************************************************************************ qxwebdriver-java http://github.com/qooxdoo/qxwebdriver-java Copyright: 2012-2013 1&1 Internet AG, Germany, http://www.1und1.de License: LGPL: http://www.gnu.org/licenses/lgpl.html EPL: http://www.eclipse.org/org/documents/epl-v10.php See the license.txt file in the project's top-level directory for details. Authors: * Daniel Wagner (danielwagner) ************************************************************************ */ package org.oneandone.qxwebdriver.ui.form; import org.oneandone.qxwebdriver.By; import org.oneandone.qxwebdriver.QxWebDriver; import org.oneandone.qxwebdriver.ui.Scrollable; import org.oneandone.qxwebdriver.ui.Selectable; import org.oneandone.qxwebdriver.ui.Widget; import org.oneandone.qxwebdriver.ui.core.scroll.AbstractScrollArea; import org.openqa.selenium.WebElement; /** * Represents a <a href="http://demo.qooxdoo.org/current/apiviewer/#qx.ui.form.List">List</a> * widget */ public class List extends AbstractScrollArea implements Selectable, Scrollable { public List(WebElement element, QxWebDriver webDriver) { super(element, webDriver); } public Widget getSelectableItem(Integer index) { Object result = jsRunner.runScript("getItemFromSelectables", contentElement, index); WebElement element = (WebElement) result; return driver.getWidgetForElement(element); } public void selectItem(Integer index) { //TODO: scroll getSelectableItem(index).click(); } public Widget getSelectableItem(String label) { scrollTo("y", 0); By itemLocator = By.qxh("*/[@label=" + label + "]"); return scrollToChild("y", itemLocator); } public void selectItem(String regex) { Widget item = getSelectableItem(regex); item.click(); } }