package com.googlecode.gwt.test.uibinder.specialization;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiFactory;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.googlecode.gwt.test.uibinder.specialization.GenericWidget.ItemWidget;
import com.googlecode.gwt.test.uibinder.specialization.GenericWidget.PersonWidget;
class UiBinderWithMoreThanOneUiBinderFactoriesForSameType extends Composite {
interface MyUiBinder extends
UiBinder<HTMLPanel, UiBinderWithMoreThanOneUiBinderFactoriesForSameType> {
}
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
@UiField
public GenericWidget<Item> itemWidget;
@UiField
public GenericWidget<Person> personWidget;
public UiBinderWithMoreThanOneUiBinderFactoriesForSameType() {
initWidget(uiBinder.createAndBindUi(this));
}
@UiFactory
protected ItemWidget createItemWidget() {
return new ItemWidget(new Item("item created by @UiFactory"));
}
@UiFactory
protected PersonWidget createPersonWidget() {
return new PersonWidget(new Person("person created by @UiFactory"));
}
}