/* ************************************************************************ 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.tabview; import java.util.Iterator; import java.util.List; import org.oneandone.qxwebdriver.QxWebDriver; import org.oneandone.qxwebdriver.ui.Widget; import org.oneandone.qxwebdriver.ui.Selectable; import org.openqa.selenium.WebElement; /** * Represents a <a href="http://demo.qooxdoo.org/current/apiviewer/#qx.ui.tabview.TabView">TabView</a> * widget */ public class TabView extends org.oneandone.qxwebdriver.ui.core.WidgetImpl implements Selectable { public TabView(WebElement element, QxWebDriver webDriver) { super(element, webDriver); } @Override public Widget getSelectableItem(Integer index) { Widget bar = getChildControl("bar"); List<Widget> buttons = bar.getChildren(); return buttons.get(index); } @Override public void selectItem(Integer index) { getSelectableItem(index).click(); } @Override public Widget getSelectableItem(String regex) { Widget bar = getChildControl("bar"); List<Widget> buttons = bar.getChildren(); Iterator<Widget> iter = buttons.iterator(); while (iter.hasNext()) { Widget button = iter.next(); String buttonLabel = (String) button.getPropertyValue("label"); if (buttonLabel.matches(regex)) { return button; } } return null; } @Override public void selectItem(String regex) { getSelectableItem(regex).click(); } }