/**
* 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.draw;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sencha.gxt.chart.client.draw.DrawComponent;
import com.sencha.gxt.chart.client.draw.sprite.TextSprite;
import com.sencha.gxt.explorer.client.model.Example.Detail;
import com.sencha.gxt.widget.core.client.Slider;
@Detail(name = "Rotate Text", icon = "rotatetext", category = "Draw")
public class RotateTextExample implements IsWidget, EntryPoint {
@Override
public Widget asWidget() {
VerticalPanel vp = new VerticalPanel();
vp.setSpacing(20);
Slider slider = new Slider();
slider.setIncrement(1);
slider.setMinValue(0);
slider.setMaxValue(360);
vp.add(slider);
DrawComponent draw = new DrawComponent(400, 400);
TextSprite text = new TextSprite("With GXT 3.0 Drawing");
text.setFont("Arial");
text.setFontSize(18);
text.setRotation(45);
text.setTranslation(20, 20);
draw.addSprite(text);
text = new TextSprite("Creating rotated text");
text.setFont("Arial");
text.setFontSize(18);
text.setRotation(90);
text.setTranslation(200, 20);
draw.addSprite(text);
final TextSprite rotate = new TextSprite("Is a snap!");
rotate.setFont("Arial");
rotate.setFontSize(18);
rotate.setRotation(45);
rotate.setTranslation(300, 100);
draw.addSprite(rotate);
vp.add(draw);
slider.addValueChangeHandler(new ValueChangeHandler<Integer>() {
@Override
public void onValueChange(ValueChangeEvent<Integer> event) {
rotate.setRotation(event.getValue());
rotate.redraw();
}
});
return vp;
}
public void onModuleLoad() {
RootPanel.get().add(asWidget());
}
}