Project

General

Profile

Download (2.24 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.test;
2

    
3
import java.util.List;
4

    
5
import org.eclipse.osgi.internal.loader.FilteredSourcePackage;
6
import org.eclipse.swt.widgets.Tree;
7
import org.eclipse.swt.widgets.Widget;
8
import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
9
import org.eclipse.swtbot.eclipse.finder.matchers.WidgetMatcherFactory;
10
import org.eclipse.swtbot.eclipse.finder.waits.Conditions;
11
import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
12
import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
13
import org.eclipse.swtbot.swt.finder.finders.ChildrenControlFinder;
14
import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
15
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
16

    
17
public class SwtBotUtils {
18
	
19
	private SWTWorkbenchBot bot;
20
	
21
	public SwtBotUtils(SWTWorkbenchBot bot) {
22
		this.bot = bot;
23
	}
24
	
25
	/**
26
	 * @return
27
	 * @throws WidgetNotFoundException
28
	 */
29
	public SWTBotTree tree(Widget widget) throws WidgetNotFoundException {
30
		List<Tree> controls = new ChildrenControlFinder(widget).findControls(WidgetMatcherFactory.widgetOfType(Tree.class));
31
		if (controls.isEmpty())
32
			throw new WidgetNotFoundException("Could not find any tree");
33
		SWTBotTree tree = new SWTBotTree((Tree) controls.get(0));
34
		return tree;
35
	}
36
	
37
	/**
38
	 * 
39
	 * @param index the index of the SelectionElement
40
	 * @param dialogName the title of the expected dialog
41
	 */
42
	public void openFilteredSelection(int index, String dialogName){
43
		SWTBotButton existing = bot.buttonWithTooltip("Browse existing", index);
44
		existing.click();
45
		bot.waitUntil(Conditions.shellIsActive(dialogName));
46
	}
47

    
48
	/**
49
	 * @return
50
	 * @throws WidgetNotFoundException
51
	 */
52
	public SWTBotView view(String title) throws WidgetNotFoundException {
53
		return getBot().viewByTitle(title);
54
	}
55
	
56
	public void cancel() {
57
		clickButton("Cancel");
58
	}
59
	
60
	public void ok() {
61
		clickButton("OK");
62
	}
63
	
64
	public void finish() {
65
		clickButton("Finish");
66
	}
67
	
68
	public void clickButton(String label) {
69
		getBot().button(label).click();
70
	}
71
	
72
	public String getActiveShellHeadline(){
73
		return getBot().activeShell().getText();
74
	}
75

    
76
	public SWTWorkbenchBot getBot() {
77
		return bot;
78
	}
79

    
80
	public void setBot(SWTWorkbenchBot bot) {
81
		this.bot = bot;
82
	}
83
}
(3-3/3)