| 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; |
| } |
| } |
| } |