/*******************************************************************************
* Copyright (c) 2008, 2011 Obeo.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Obeo - initial API and implementation
*******************************************************************************/
package org.eclipse.emf.eef.runtime.tests.swtbot.finder;
import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.allOf;
import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.widgetOfType;
import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.withId;
import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.withMnemonic;
import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.withStyle;
import org.eclipse.emf.eef.runtime.ui.UIConstants;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Widget;
import org.eclipse.swtbot.swt.finder.SWTBot;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotRadio;
import org.hamcrest.Matcher;
/**
* @author <a href="mailto:goulwen.lefur@obeo.fr">Goulwen Le Fur</a>
*/
public class SWTEEFBotHelper {
private SWTBot bot;
/**
* @param bot
*/
public SWTEEFBotHelper(SWTBot bot) {
super();
this.bot = bot;
}
/**
* @param viewID the edited advEOFCV
* @return the browse button of the given advEOFCV
*/
public SWTBotButton browseButtonAdvancedEObjectFlatComboViewer(String viewID) {
return new SWTBotButton((Button)bot.widget(allOf(widgetOfType(Button.class), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_ID_KEY, viewID), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_TYPE_KEY, "eef::AdvancedEObjectFlatComboViewer::browsebutton"))));
}
/**
* @param viewID the edited advEOFCV
* @return the remove button of the given advEOFCV
*/
public SWTBotButton removeButtonAdvancedEObjectFlatComboViewer(String viewID) {
return new SWTBotButton((Button)bot.widget(allOf(widgetOfType(Button.class), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_ID_KEY, viewID), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_TYPE_KEY, "eef::AdvancedEObjectFlatComboViewer::removebutton"))));
}
/**
* @param viewID the edited advReferencesTable
* @return the add button of the given advReferencesTable
*/
public SWTBotButton addButtonAdvancedReferencesTable(String viewID) {
return new SWTBotButton((Button)bot.widget(allOf(widgetOfType(Button.class), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_ID_KEY, viewID), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_TYPE_KEY, "eef::AdvancedReferencesTable::addbutton"))));
}
/**
* @param viewID the edited advReferencesTable
* @return the remove button of the given advReferencesTable
*/
public SWTBotButton removeButtonAdvancedReferencesTable(String viewID) {
return new SWTBotButton((Button)bot.widget(allOf(widgetOfType(Button.class), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_ID_KEY, viewID), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_TYPE_KEY, "eef::AdvancedReferencesTable::removebutton"))));
}
/**
* @param viewID the edited advTableComposition
* @return the add button of the given advTableComposition
*/
public SWTBotButton addButtonAdvancedTableComposition(String viewID) {
Matcher<Widget> allOf = allOf(widgetOfType(Button.class), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_ID_KEY, viewID), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_TYPE_KEY, "eef::AdvancedTableComposition::addbutton"));
return new SWTBotButton((Button)bot.widget(allOf));
}
/**
* @param viewID the edited advTableComposition
* @return the remove button of the given advTableComposition
*/
public SWTBotButton removeButtonAdvancedTableComposition(String viewID) {
return new SWTBotButton((Button)bot.widget(
allOf(widgetOfType(Button.class),
withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_ID_KEY, viewID),
withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_TYPE_KEY, "eef::AdvancedTableComposition::removebutton"))));
}
/**
* @param viewID the edited radio
* @param mnemonicText the mnemonic to select
* @return the radio to select
*/
public SWTBotRadio radioWithIdAndMnemonic(String viewID, String mnemonicText) {
Matcher matcher = allOf(withId(UIConstants.EEF_WIDGET_ID_KEY, viewID), widgetOfType(Button.class), withMnemonic(mnemonicText), withStyle(SWT.RADIO, "SWT.RADIO"));
return new SWTBotRadio((Button) bot.widget(matcher), matcher);
}
/**
* @param viewID the edited ReferencesTable
* @return the browse button of the given ReferencesTable
*/
public SWTBotButton addButtonReferencesTable(String viewID) {
return new SWTBotButton((Button)bot.widget(allOf(widgetOfType(Button.class), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_ID_KEY, viewID), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_TYPE_KEY, "eef::ReferencesTable::addbutton"))));
}
/**
* @param viewID the edited ReferencesTable
* @return the remove button of the given ReferencesTable
*/
public SWTBotButton removeButtonReferencesTable(String viewID) {
return new SWTBotButton((Button)bot.widget(allOf(widgetOfType(Button.class), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_ID_KEY, viewID), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_TYPE_KEY, "eef::ReferencesTable::removebutton"))));
}
/**
* @param viewID the edited ReferencesTable
* @return the add button of the given ReferencesTable
*/
public SWTBotButton addButtonTableComposition(String viewID) {
Matcher<Widget> allOf = allOf(widgetOfType(Button.class), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_ID_KEY, viewID), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_TYPE_KEY, "eef::TableComposition::addbutton"));
return new SWTBotButton((Button)bot.widget(allOf));
}
/**
* @param viewID the edited ReferencesTable
* @return the remove button of the given ReferencesTable
*/
public SWTBotButton removeButtonTableComposition(String viewID) {
Matcher<Widget> allOf = allOf(widgetOfType(Button.class), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_ID_KEY, viewID), withId(org.eclipse.emf.eef.runtime.ui.UIConstants.EEF_WIDGET_TYPE_KEY, "eef::TableComposition::removebutton"));
return new SWTBotButton((Button)bot.widget(allOf));
}
}