package com.smartgwt.sample.showcase.client.tabs; import com.smartgwt.client.types.Side; import com.smartgwt.client.types.TabBarControls; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.SelectItem; import com.smartgwt.client.widgets.form.fields.events.ChangeEvent; import com.smartgwt.client.widgets.form.fields.events.ChangeHandler; 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 TabsCustomControlSample extends ShowcasePanel { private static final String DESCRIPTION = "<p>Custom controls may appear on Tab Bars.</p>"; public static class Factory implements PanelFactory { private String id; public Canvas create() { TabsCustomControlSample panel = new TabsCustomControlSample(); id = panel.getID(); return panel; } public String getID() { return id; } public String getDescription() { return DESCRIPTION; } } public Canvas getViewPanel() { final TabSet tabSet = new TabSet(); tabSet.setTabBarPosition(Side.TOP); //required so that the select item doesnt touch the tab pane tabSet.setTabBarThickness(25); tabSet.setTabBarAlign(Side.LEFT); tabSet.setWidth(400); tabSet.setHeight(200); final Tab statusTab = new Tab("Status"); final Canvas statusPane = new Canvas(); statusTab.setPane(statusPane); tabSet.addTab(statusTab); SelectItem selectItem = new SelectItem(); selectItem.setValueMap("Development", "Staging", "Production"); selectItem.setShowTitle(false); selectItem.setDefaultValue("Development"); selectItem.addChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { statusPane.setContents(event.getValue() + ": <span style='color:green;font-weight:bold'>Normal</span><br>"); } }); DynamicForm form = new DynamicForm(); //form.setHeight(1); form.setPadding(0); form.setMargin(0); form.setCellPadding(1); form.setNumCols(1); form.setFields(selectItem); tabSet.setTabBarControls(TabBarControls.TAB_SCROLLER, TabBarControls.TAB_PICKER, form); return tabSet; } public String getIntro() { return DESCRIPTION; } }