blob: 4f5ceeba9860b24a7294f61227570149a4410da0 [file] [log] [blame]
package org.eclipse.osbp.runtime.web.ecview.presentation.vaadin.internal;
import com.vaadin.data.Container;
import com.vaadin.data.Property;
import com.vaadin.ui.Component;
import com.vaadin.ui.DefaultFieldFactory;
import com.vaadin.ui.Field;
import com.vaadin.ui.RichTextArea;
import com.vaadin.ui.TextField;
@SuppressWarnings("serial")
public class CustomTableFieldFactory extends DefaultFieldFactory {
@SuppressWarnings("rawtypes")
@Override
public Field createField(Container container, Object itemId, Object propertyId, Component uiContext) {
Class<?> clz = container.getType(propertyId);
if(String.class.isAssignableFrom(clz)) {
Property containerProperty = container.getContainerProperty(itemId,
propertyId);
Class<?> type = containerProperty.getType();
if (type == null) {
return null;
}
Field<?> field = new RichTextArea();
field.setCaption(createCaptionByPropertyId(propertyId));
return field;
} else {
Field<?> field = new TextField();//super.createField(container, itemId, propertyId, uiContext);
field.setCaption(createCaptionByPropertyId(propertyId));
return field;
}
}
}