package com.smartgwt.sample.showcase.client.tabs; import com.smartgwt.client.types.Side; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.CheckboxItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; import com.smartgwt.client.widgets.layout.VLayout; import com.smartgwt.client.widgets.tab.Tab; import com.smartgwt.client.widgets.tab.TabSet; import com.smartgwt.sample.showcase.client.PanelFactory; import com.smartgwt.sample.showcase.client.ShowcasePanel; public class TabsTitleChangeSample extends ShowcasePanel { private static final String DESCRIPTION = "<p>Titles can be changed on the fly. Type in your name to see the \"Preferences\"" + " tab change its title to include your name.</p><p>Note that the tab automatically sizes" + " to accommodate the longer title - automatic sizing also happens at initialization.</p>"; public static class Factory implements PanelFactory { private String id; public ShowcasePanel create() { TabsTitleChangeSample panel = new TabsTitleChangeSample(); id = panel.getID(); return panel; } public String getID() { return id; } public String getDescription() { return DESCRIPTION; } } public Canvas getViewPanel() { final TabSet topTabSet = new TabSet(); topTabSet.setTabBarPosition(Side.TOP); topTabSet.setTabBarAlign(Side.LEFT); topTabSet.setWidth(400); topTabSet.setHeight(200); final Tab preferencesTab = new Tab("Preferences"); DynamicForm preferencesForm = new DynamicForm(); CheckboxItem useTabsCheckbox = new CheckboxItem(); useTabsCheckbox.setTitle("Use Smart GWT tabs"); preferencesForm.setFields(useTabsCheckbox); preferencesTab.setPane(preferencesForm); Tab profileTab = new Tab("Profile"); DynamicForm profileForm = new DynamicForm(); TextItem nameTextItem = new TextItem(); nameTextItem.setTitle("Your Name"); nameTextItem.addChangedHandler(new ChangedHandler() { public void onChanged(ChangedEvent event) { String newTitle = (event.getValue() == null ? "" : event.getValue() + "'s ") + "Preferences"; topTabSet.setTabTitle(preferencesTab, newTitle); } }); profileForm.setFields(nameTextItem); profileTab.setPane(profileForm); topTabSet.addTab(profileTab); topTabSet.addTab(preferencesTab); VLayout vLayout = new VLayout(); vLayout.setMembersMargin(15); vLayout.addMember(topTabSet); vLayout.setHeight("auto"); return vLayout; } public String getIntro() { return DESCRIPTION; } }