package com.googlecode.gwt.test.editors;
import com.google.gwt.core.client.GWT;
import com.google.gwt.editor.client.Editor;
import com.google.gwt.editor.client.SimpleBeanEditorDriver;
import com.google.gwt.text.shared.AbstractRenderer;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.ValueListBox;
import com.google.gwt.user.client.ui.Widget;
import java.util.Arrays;
import java.util.Collection;
public class AddressEditor extends Composite implements Editor<Address> {
interface AddressDriver extends SimpleBeanEditorDriver<Address, AddressEditor> {
}
interface Binder extends UiBinder<Widget, AddressEditor> {
}
private static final Binder BINDER = GWT.create(Binder.class);
@UiField
TextBox city;
@UiField(provided = true)
@Path("state")
ValueListBox<String> stateWithPath;
@UiField
private TextBox street;
@UiField
private TextBox zipWithPath;
public AddressEditor() {
stateWithPath = new ValueListBox<String>(new AbstractRenderer<String>() {
public String render(String object) {
return object;
}
});
stateWithPath.setAcceptableValues(buildCollection("Austria", "France", "Germany"));
initWidget(BINDER.createAndBindUi(this));
}
public TextBox street() {
return street;
}
@Path("zip")
TextBox zipWithPathEditor() {
return zipWithPath;
}
private Collection<String> buildCollection(String... string) {
return Arrays.asList(string);
}
}