/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.web.organizer.ui;
/**
*
* @author Gery
*/
import com.vaadin.data.util.BeanItem;
import com.vaadin.terminal.ThemeResource;
import com.vaadin.ui.Form;
import com.vaadin.ui.TabSheet;
import com.vaadin.ui.TabSheet.SelectedTabChangeEvent;
import com.vaadin.ui.TabSheet.Tab;
import com.vaadin.ui.VerticalLayout;
import com.web.organizer.data.Person;
import com.web.organizer.data.PersonFieldFactory;
import java.util.Arrays;
/**
*
* @author Gery
*/
public class NewContactContent extends BaseContent implements
TabSheet.SelectedTabChangeListener {
private Person person;
private static final ThemeResource icon1 = new ThemeResource(
"../sampler/icons/action_save.gif");
private static final ThemeResource icon2 = new ThemeResource(
"../sampler/icons/comment_yellow.gif");
private TabSheet tContact;
//private SignUpContent Cform = new SignUpContent();
private BusinessForm bPersonForm = new BusinessForm();
public NewContactContent() {
person = new Person(); // a person POJO
BeanItem<Person> personItem = new BeanItem<Person>(person); // item from
// POJO
// Create the Form
final Form Cform = new Form();
Cform.setCaption("Personal details");
Cform.setWriteThrough(false); // we want explicit 'apply'
Cform.setInvalidCommitted(false); // no invalid values in datamodel
// FieldFactory for customizing the fields and adding validators
Cform.setFormFieldFactory(new PersonFieldFactory());
Cform.setItemDataSource(personItem); // bind to POJO via BeanItem
// Determines which properties are shown, and in which order:
Cform.setVisibleItemProperties(Arrays.asList(new String[]{
"firstName", "lastName","email","email2","mobile","mobile2", "birthdate", "countryCode",}));
// Tab 1 content
VerticalLayout l1 = new VerticalLayout();
l1.setMargin(true);
l1.addComponent(Cform);
// Tab 2 content
VerticalLayout l2 = new VerticalLayout();
l2.setMargin(true);
l2.addComponent(bPersonForm);
tContact= new TabSheet();
tContact.addTab(l1, "Personal information", icon1);
tContact.addTab(l2, "Bussines information", icon2);
addComponent(tContact);
// tContact.addTab(Cform, "Saved actions",item1);
}
@Override
public void selectedTabChange(SelectedTabChangeEvent event) {
TabSheet tabsheet = event.getTabSheet();
Tab tab = tabsheet.getTab(tabsheet.getSelectedTab());
if (tab != null) {
getWindow().showNotification("Selected tab: " + tab.getCaption());
}
}
}