package org.aplikator.client.local.widgets; import org.aplikator.client.shared.descriptor.PropertyDTO; import org.gwtbootstrap3.client.ui.Column; import org.gwtbootstrap3.client.ui.FormLabel; import org.gwtbootstrap3.client.ui.constants.ColumnSize; import com.google.gwt.user.client.Command; import com.google.gwt.user.client.ui.Composite; public abstract class DataFieldBase extends Composite { protected PropertyDTO property; protected FormLabel label; //private FormGroup wrapper; protected Column controlHolder; protected boolean dirty; public DataFieldBase(String label, PropertyDTO property) { //wrapper = new FormGroup(); controlHolder = new Column(ColumnSize.XS_1); //wrapper.addStyleName("app-clean-pd-right"); //wrapper.addStyleName("app-clean-pd-left"); if (label != null) { this.label = new FormLabel(); this.label.addStyleName("fieldLabel"); if (property.isRequired()) { this.label.setText(label + " *"); } else { this.label.setText(label); } } //wrapper.add(controlHolder); initWidget(controlHolder); if (label != null && !"".equals(label) && !"null".equals(label)) { controlHolder.add(this.label); } this.property = property; } public PropertyDTO getProperty() { return property; } public void setDirty(boolean dirty) { this.dirty = dirty; if (dirty) { //wrapper.setValidationState(ValidationState.SUCCESS);//TODO resolve dirty styling } else { //wrapper.setValidationState(ValidationState.NONE); } } public boolean isDirty() { return dirty; } protected void setGridSize(int size) { controlHolder.setSize(LayoutUtils.size(size)); //wrapper.addStyleName(LayoutUtils.size(size).getCssName()); } public void grabFocus() { } public void addEnterHandler(Command command) { } }