package org.jboss.tools.switchyard.reddeer.condition; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.jboss.reddeer.common.condition.AbstractWaitCondition; import org.jboss.reddeer.swt.impl.button.PushButton; import org.jboss.reddeer.swt.impl.text.LabeledText; /** * Check if a PushButton is enabled. Depends on switching some input text fields (LabeledText). * * @author tsedmik */ public class IsButtonEnabled extends AbstractWaitCondition { private String button; private List<String> texts; public IsButtonEnabled(String button, String... args) { this.button = button; texts = new ArrayList<String>(Arrays.asList(args)); } @Override public boolean test() { for (String text : texts) { new LabeledText(text).setFocus(); } return new PushButton(button).isEnabled(); } @Override public String description() { return "Button '" + button + "' was not enabled!"; } }