/**
* Sencha GXT 3.0.0b - Sencha for GWT
* Copyright(c) 2007-2012, Sencha, Inc.
* licensing@sencha.com
*
* http://www.sencha.com/products/gxt/license/
*/
package com.sencha.gxt.explorer.client.misc;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sencha.gxt.core.client.Style.Direction;
import com.sencha.gxt.core.client.util.Rectangle;
import com.sencha.gxt.explorer.client.model.Example.Detail;
import com.sencha.gxt.fx.client.FxElement;
import com.sencha.gxt.fx.client.animation.AfterAnimateEvent;
import com.sencha.gxt.fx.client.animation.AfterAnimateEvent.AfterAnimateHandler;
import com.sencha.gxt.fx.client.animation.Fx;
import com.sencha.gxt.widget.core.client.ContentPanel;
import com.sencha.gxt.widget.core.client.button.ButtonBar;
import com.sencha.gxt.widget.core.client.button.TextButton;
import com.sencha.gxt.widget.core.client.container.FlowLayoutContainer;
import com.sencha.gxt.widget.core.client.container.MarginData;
import com.sencha.gxt.widget.core.client.event.SelectEvent;
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
@Detail(name = "Fx", icon = "fx", category = "Misc", fit=true)
public class FxExample implements IsWidget, EntryPoint {
private ContentPanel cp;
public Widget asWidget() {
FlowLayoutContainer con = new FlowLayoutContainer();
TextButton slide = new TextButton("Slide In / Out");
slide.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
if (cp.isVisible()) {
cp.getElement().<FxElement>cast().slideOut(Direction.UP);
} else {
cp.getElement().<FxElement>cast().slideIn(Direction.DOWN);
}
}
});
TextButton fade = new TextButton("Fade In / Out");
fade.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
cp.getElement().<FxElement>cast().fadeToggle();
}
});
TextButton move = new TextButton("Move");
move.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
Rectangle bounds = cp.getElement().getBounds();
cp.getElement().<FxElement>cast().setXY(bounds.getX() + 50, bounds.getY() + 50, new Fx());
}
});
TextButton blink = new TextButton("Blink");
blink.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
cp.getElement().<FxElement>cast().blink();
}
});
TextButton event = new TextButton("Event");
event.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
Fx fx = new Fx();
fx.addAfterAnimateHandler(new AfterAnimateHandler() {
@Override
public void onAfterAnimate(AfterAnimateEvent event) {
if (cp.isCollapsed()) {
cp.expand();
} else {
cp.collapse();
}
}
});
cp.getElement().<FxElement>cast().blink(fx, 50);
}
});
TextButton reset = new TextButton("Reset");
reset.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
cp.setPosition(100, 100);
}
});
ButtonBar buttonBar = new ButtonBar();
buttonBar.add(slide);
buttonBar.add(fade);
buttonBar.add(move);
buttonBar.add(blink);
buttonBar.add(event);
buttonBar.add(reset);
cp = new ContentPanel();
cp.setCollapsible(true);
cp.setAnimCollapse(true);
cp.setHeadingText("FX Demo");
// cp.setIcon(Resources.ICONS.text());
// cp.setBodyStyleName("pad-text");
// cp.addText(TestData.DUMMY_TEXT_SHORT);
cp.setPixelSize(200, 200);
con.add(buttonBar, new MarginData(10));
con.add(cp);
// cp.setStyleAttribute("position", "relative");
cp.setPosition(100, 100);
return con;
}
public void onModuleLoad() {
RootPanel.get().add(asWidget());
}
}