package com.smartgwt.sample.showcase.client.forms.layout; import com.smartgwt.client.types.TitleOrientation; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.FormItem; import com.smartgwt.client.widgets.form.fields.PasswordItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.sample.showcase.client.PanelFactory; import com.smartgwt.sample.showcase.client.ShowcasePanel; public class FormTitlesSample extends ShowcasePanel { private static final String DESCRIPTION = "Click on \"Swap Titles\" to change title" + " orientation. Form layout automatically places" + " titles next to fields. Left-oriented titles take" + " up a column so that labels line up. Top oriented" + " titles don't."; public static class Factory implements PanelFactory { private String id; public ShowcasePanel create() { FormTitlesSample panel = new FormTitlesSample(); id = panel.getID(); return panel; } public String getID() { return id; } public String getDescription() { return DESCRIPTION; } } TitleOrientation titleOrientation = TitleOrientation.LEFT; public Canvas getViewPanel() { HLayout layout = new HLayout(20); final DynamicForm form = new DynamicForm(); form.setWidth(250); TextItem usernameItem = new TextItem(); usernameItem.setTitle("Username"); usernameItem.setRequired(true); usernameItem.setDefaultValue("bob"); TextItem emailItem = new TextItem(); emailItem.setTitle("Email"); emailItem.setRequired(true); emailItem.setDefaultValue("bob@isomorphic.com"); PasswordItem passwordItem = new PasswordItem(); passwordItem.setTitle("Password"); passwordItem.setRequired(true); PasswordItem password2Item = new PasswordItem(); password2Item.setTitle("Password again"); password2Item.setRequired(true); password2Item.setType("password"); form.setFields(new FormItem[] {usernameItem, emailItem, passwordItem, password2Item}); IButton swapButton = new IButton("Swap titles"); swapButton.setLeft(300); swapButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { if (form.getTitleOrientation() == TitleOrientation.TOP) { titleOrientation = TitleOrientation.LEFT; } else { titleOrientation = TitleOrientation.TOP; } form.setTitleOrientation(titleOrientation); } }); layout.addMember(form); layout.addMember(swapButton); return layout; } public String getIntro() { return DESCRIPTION; } }