package com.google.dart.tools.tests.swtbot.model; import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot; import org.eclipse.swtbot.swt.finder.SWTBot; import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable; import org.eclipse.swtbot.swt.finder.results.Result; import org.eclipse.swtbot.swt.finder.waits.Conditions; public class InlineMethodBotView extends AbstractBotView { public InlineMethodBotView(SWTWorkbenchBot bot) { super(bot); bot.waitUntilWidgetAppears(Conditions.shellIsActive(viewName())); } public void clickAllInvocations() { inlineMethodComposite().radio("All invocations").click(); } public void close() { inlineMethodShell().button("OK").click(); waitForAnalysis(); } @Override protected String viewName() { return "Inline Method"; } private SWTBot inlineMethodComposite() { return UIThreadRunnable.syncExec(new Result<SWTBot>() { @Override public SWTBot run() { return new SWTBot(bot.radio("Only the selected invocation").widget.getParent()); } }); } private SWTBot inlineMethodShell() { return UIThreadRunnable.syncExec(new Result<SWTBot>() { @Override public SWTBot run() { return new SWTBot( bot.radio("Only the selected invocation").widget.getParent().getParent().getParent()); } }); } }