/******************************************************************************* * Copyright Technophobia Ltd 2012 * * This file is part of the Substeps Eclipse Plugin. * * The Substeps Eclipse Plugin is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License v1.0. * * The Substeps Eclipse Plugin is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * Eclipse Public License for more details. * * You should have received a copy of the Eclipse Public License * along with the Substeps Eclipse Plugin. If not, see <http://www.eclipse.org/legal/epl-v10.html>. ******************************************************************************/ package com.technophobia.substeps.test.component.toolbar; import org.eclipse.swtbot.swt.finder.SWTBot; import org.eclipse.swtbot.swt.finder.widgets.SWTBotToolbarButton; import com.technophobia.substeps.test.component.AbstractSWTLocatable; import com.technophobia.substeps.test.component.SWTComponent; import com.technophobia.substeps.test.component.SWTLocator; import com.technophobia.substeps.test.component.SWTRootComponent; public class ToolbarButtonSWTComponent extends AbstractSWTLocatable<SWTBotToolbarButton> implements SWTComponent<SWTBotToolbarButton> { private final SWTRootComponent<SWTBot> parent; private final SWTLocator<SWTBot, SWTBotToolbarButton> locator; public ToolbarButtonSWTComponent(final SWTLocator<SWTBot, SWTBotToolbarButton> locator, final SWTRootComponent<SWTBot> parent) { this.locator = locator; this.parent = parent; } public void click() { locate().click(); } public boolean isPresent() { return locate() != null; } @Override public SWTBotToolbarButton doLocate() { return locator.locate(parent.locate()); } }