package com.smartgwt.sample.showcase.client.forms;
import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.ButtonItem;
import com.smartgwt.client.widgets.form.fields.TextItem;
import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
import com.smartgwt.sample.showcase.client.PanelFactory;
import com.smartgwt.sample.showcase.client.ShowcasePanel;
public class FormFocusFirstSample extends ShowcasePanel {
private static final String DESCRIPTION = "<p>Setting the focus / cursor on the first field of a form is common requirement. Doing this in Smart GWT is as simple as setting <code>form.setAutoFocus(true)</code>.</p>" +
"<p>This sample also has <code>setSelectOnFocus(true)</code> on the first field.</p>";
public static class Factory implements PanelFactory {
private String id;
public Canvas create() {
FormFocusFirstSample panel = new FormFocusFirstSample();
id = panel.getID();
return panel;
}
public String getID() {
return id;
}
public String getDescription() {
return DESCRIPTION;
}
}
public Canvas getViewPanel() {
final DynamicForm form = new DynamicForm();
form.setAutoFocus(true);
form.setNumCols(3);
form.setWidth(300);
TextItem firstName = new TextItem("fName");
firstName.setTitle("First Name");
firstName.setSelectOnFocus(true);
firstName.setWrapTitle(false);
firstName.setDefaultValue("[First Name]");
TextItem lastName = new TextItem("lName");
lastName.setTitle("Last Name");
lastName.setDefaultValue("[Last Name]");
lastName.setWrapTitle(false);
ButtonItem button = new ButtonItem("hello", "Hello");
button.setStartRow(false);
button.setWidth(80);
button.setIcon("icons/16/message.png");
button.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
SC.say("Hello " + form.getValueAsString("fName") + " " + form.getValueAsString("lName"));
}
});
form.setFields(firstName, lastName, button);
return form;
}
public String getIntro() {
return DESCRIPTION;
}
}