package de.swm.mobile.kitchensink.client.base;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
import de.swm.commons.mobile.client.page.SimplePage;
import de.swm.commons.mobile.client.widgets.HeaderPanel;
import de.swm.commons.mobile.client.widgets.ListItem;
import de.swm.commons.mobile.client.widgets.ListPanel;
import de.swm.gwt.client.mobile.Direction;
import de.swm.mobile.kitchensink.client.theme.TestResources;
/**
* SWM S-IP-AN
* User: wiesed
* Date: 12.06.14
* Time: 13:51
*/
public abstract class ShowcaseOverviewPage extends SimplePage {
private final TestResources resources;
@UiField
HeaderPanel header;
@UiField
ListPanel components;
private static ShowcaseOverviewUiBinder uiBinder = GWT.create(ShowcaseOverviewUiBinder.class);
private HasWidgets parentWidget;
interface ShowcaseOverviewUiBinder extends UiBinder<Widget, ShowcaseOverviewPage> {
}
public ShowcaseOverviewPage(TestResources resources, HasWidgets toolbarContentArea, final int toolbarIndex) {
this.resources = resources;
initWidget(uiBinder.createAndBindUi(this));
this.setParent(toolbarContentArea);
header.setCaption(this.getName());
}
public void addPage(final ShowcaseDetailPage page) {
final ListItem toAdd = new ListItem();
toAdd.add(new Label(page.getName()));
page.setParentPage(this);
toAdd.setShowArrow(true);
toAdd.addClickHanlder(new ClickHandler() {
@Override
public void onClick(ClickEvent clickEvent) {
goTo(page, Direction.RIGHT);
}
});
components.add(toAdd);
}
public TestResources getResources() {
return resources;
}
@Override
public void setParent(HasWidgets parent) {
parentWidget = parent;
super.setParent(parent);
}
public HasWidgets getParentWidget() {
return parentWidget;
}
}