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) {
}
}