package de.swm.mobile.kitchensink.client.showcase.panels; import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.HTMLPanel; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; import de.swm.commons.mobile.client.widgets.HeaderPanel; import de.swm.commons.mobile.client.widgets.IndexedScrollPanelWithPager; import de.swm.commons.mobile.client.widgets.ListItem; import de.swm.mobile.kitchensink.client.Application; import de.swm.mobile.kitchensink.client.base.ShowcaseDetailPage; import java.util.ArrayList; import java.util.List; import static de.swm.mobile.kitchensink.client.ShowcaseAnnotations.ShowcaseSource; import static de.swm.mobile.kitchensink.client.ShowcaseAnnotations.ShowcaseUiXML; @ShowcaseSource @ShowcaseUiXML({"IndexedScrollPanelPage.ui.xml"}) public class IndexedScrollPanelPage extends ShowcaseDetailPage { private static String[] letters = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}; private static IndexedScrollPanelPageUiBinder uiBinder = GWT.create(IndexedScrollPanelPageUiBinder.class); interface IndexedScrollPanelPageUiBinder extends UiBinder<Widget, IndexedScrollPanelPage> { } @UiField HTMLPanel content; @UiField HeaderPanel header; @UiField IndexedScrollPanelWithPager list; public IndexedScrollPanelPage() { super(IndexedScrollPanelPage.class); initWidget(uiBinder.createAndBindUi(this)); Application.addDefaultBackButtonHanlder(header); for (int i = 0; i < 26; i++) { List<ListItem> items = new ArrayList<ListItem>(); for (int j = 0; j < 5; j++) { ListItem item = new ListItem(); item.add(new Label(letters[i] + " List Item " + j)); items.add(item); } list.setIndexedItems(i, items); } list.updateIndex(); } @Override public String getName() { return "Index panel"; } @Override public HeaderPanel getHeaderPanel() { return header; } }