package com.smartgwt.sample.showcase.client.effects.looknfeel;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.HTMLFlow;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.RadioGroupItem;
import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;
import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
import com.smartgwt.sample.showcase.client.PanelFactory;
import com.smartgwt.sample.showcase.client.ShowcasePanel;
import java.util.LinkedHashMap;
public class CssStylesSample extends ShowcasePanel {
private static final String DESCRIPTION = "<p>Click the radio buttons to apply different CSS styles to the text. "
+ "Click the CSS tab for CSS class definitions.</p>"
+ "<p>This container auto-sizes to the styled text.</p>";
private static final String EXAMPLE_TEXT = "When in the Course of human events, it becomes necessary for one people "
+ "to dissolve the political bands which have connected them with another, "
+ "and to assume among the powers of the earth, the separate and equal station "
+ "to which the Laws of Nature and of Nature's God entitle them, a decent respect "
+ "to the opinions of mankind requires that they should declare the causes which impel "
+ "them to the separation.";
public static class Factory implements PanelFactory {
private String id;
public Canvas create() {
CssStylesSample panel = new CssStylesSample();
id = panel.getID();
return panel;
}
public String getID() {
return id;
}
public String getDescription() {
return DESCRIPTION;
}
}
public Canvas getViewPanel() {
final HTMLFlow textBox = new HTMLFlow(EXAMPLE_TEXT);
textBox.setLeft(100);
textBox.setWidth(300);
textBox.setStyleName("exampleStyleOnline");
LinkedHashMap<String, String> styleMap = new LinkedHashMap<String, String>();
styleMap.put("exampleStyleOnline", "Online");
styleMap.put("exampleStyleLegal", "Legal");
styleMap.put("exampleStyleCode", "Code");
styleMap.put("exampleStyleInformal", "Informal");
RadioGroupItem style = new RadioGroupItem();
style.setDefaultValue("exampleStyleOnline");
style.setShowTitle(false);
style.setValueMap(styleMap);
style.addChangedHandler(new ChangedHandler() {
public void onChanged(ChangedEvent event) {
textBox.setStyleName((String)event.getValue());
textBox.markForRedraw();
}
});
DynamicForm controls = new DynamicForm();
controls.setFields(style);
Canvas canvas = new Canvas();
canvas.addChild(textBox);
canvas.addChild(controls);
return canvas;
}
public String getIntro() {
return DESCRIPTION;
}
}