package de.swm.mobile.kitchensink.client.showcase.animations;
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.uibinder.client.UiHandler;
import com.google.gwt.user.client.ui.Widget;
import de.swm.commons.mobile.client.event.SelectionChangedEvent;
import de.swm.commons.mobile.client.page.Transition;
import de.swm.commons.mobile.client.widgets.HeaderPanel;
import de.swm.commons.mobile.client.widgets.ListPanel;
import de.swm.gwt.client.mobile.Direction;
import de.swm.mobile.kitchensink.client.base.ShowcaseDetailPage;
import de.swm.mobile.kitchensink.client.showcase.animations.util.TransitionDemoPage;
import static de.swm.mobile.kitchensink.client.ShowcaseAnnotations.ShowcaseSource;
import static de.swm.mobile.kitchensink.client.ShowcaseAnnotations.ShowcaseUiXML;
@ShowcaseSource
@ShowcaseUiXML({"TransitionsPage.ui.xml"})
public class TransitionsPage extends ShowcaseDetailPage {
@UiField
HeaderPanel header;
@UiField
ListPanel list;
private final TransitionDemoPage demo = new TransitionDemoPage();
private static TransitionPageUiBinder uiBinder = GWT.create(TransitionPageUiBinder.class);
interface TransitionPageUiBinder extends UiBinder<Widget, TransitionsPage> {
}
public TransitionsPage() {
super(TransitionsPage.class);
initWidget(uiBinder.createAndBindUi(this));
}
@UiHandler("list")
void onListSelectionChanged(SelectionChangedEvent e) {
switch (e.getSelection()) {
case 0:
this.goTo(demo, Transition.SLIDE, Direction.RIGHT, null);
demo.setParentPage(this);
break;
case 1:
this.goTo(demo, Transition.SLIDEUP, Direction.RIGHT, null);
demo.setParentPage(this);
break;
case 2:
this.goTo(demo, Transition.SLIDEDOWN, Direction.RIGHT, null);
demo.setParentPage(this);
break;
case 3:
this.goTo(demo, Transition.FADE, Direction.RIGHT, null);
demo.setParentPage(this);
break;
case 4:
this.goTo(demo, Transition.POP, Direction.RIGHT, null);
demo.setParentPage(this);
break;
case 5:
this.goTo(demo, Transition.SWAP, Direction.RIGHT, null);
demo.setParentPage(this);
break;
case 6:
demo.setParentPage(this);
this.goTo(demo, Transition.FLIP, Direction.RIGHT, null);
break;
}
}
@Override
public String getName() {
return "Transitions";
}
@Override
public HeaderPanel getHeaderPanel() {
return header;
}
}