/* ************************************************************************
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.QxWebDriver;
import org.oneandone.qxwebdriver.ui.Selectable;
import org.oneandone.qxwebdriver.ui.Widget;
import org.openqa.selenium.WebElement;
/**
* Represents a <a href="http://demo.qooxdoo.org/current/apiviewer/#qx.ui.form.SelectBox">SelectBox</a>
* widget
*/
public class SelectBox extends org.oneandone.qxwebdriver.ui.core.WidgetImpl implements Selectable {
public SelectBox(WebElement element, QxWebDriver driver) {
super(element, driver);
}
protected Widget button = null;
protected Selectable list = null;
public Widget getSelectableItem(Integer index) {
return getList().getSelectableItem(index);
}
public void selectItem(Integer index) {
getButton().click();
getSelectableItem(index).click();
}
public Widget getSelectableItem(String regex) {
return getList().getSelectableItem(regex);
}
public void selectItem(String regex) {
getButton().click();
getSelectableItem(regex).click();
}
protected Widget getButton() {
if (button == null) {
button = driver.getWidgetForElement(contentElement);
}
return button;
}
protected Selectable getList() {
if (list == null) {
list = (Selectable) waitForChildControl("list", 3);
}
return list;
}
}