package com.vaadin.tests.components.button;
import java.util.LinkedHashMap;
import com.vaadin.tests.components.AbstractComponentTest;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Button.ClickListener;
import com.vaadin.v7.ui.themes.Reindeer;
public class Buttons2<T extends Button> extends AbstractComponentTest<T>
implements ClickListener {
private Command<T, Boolean> disableOnClickCommand = new Command<T, Boolean>() {
@Override
public void execute(T c, Boolean value, Object data) {
c.setDisableOnClick(value);
}
};
private Command<T, Boolean> clickListenerCommand = new Command<T, Boolean>() {
@Override
public void execute(T c, Boolean value, Object data) {
if (value) {
c.addClickListener(Buttons2.this);
} else {
c.removeClickListener(Buttons2.this);
}
}
};
@SuppressWarnings("unchecked")
@Override
protected Class<T> getTestClass() {
return (Class<T>) Button.class;
}
@Override
protected void createActions() {
super.createActions();
createBooleanAction("Disable on click", CATEGORY_FEATURES, false,
disableOnClickCommand);
addClickListener(CATEGORY_LISTENERS);
}
@Override
protected void createComponentStyleNames(
LinkedHashMap<String, String> options) {
options.put("Reindeer default", Reindeer.BUTTON_DEFAULT);
options.put("Reindeer small", Reindeer.BUTTON_SMALL);
options.put("Reindeer link", Reindeer.BUTTON_LINK);
}
private void addClickListener(String category) {
createBooleanAction("Click listener", category, false,
clickListenerCommand);
}
@Override
public void buttonClick(ClickEvent event) {
log(event.getClass().getSimpleName());
}
}