package de.swm.gwt.client.widget; import com.google.gwt.dom.client.Document; import com.google.gwt.editor.client.EditorError; import com.google.gwt.editor.client.HasEditorErrors; import com.google.gwt.i18n.client.ConstantsWithLookup; import com.google.gwt.user.client.ui.ValueBox; import de.swm.gwt.client.I18NEnum; import de.swm.gwt.client.enums.AlwaysNullParser; import de.swm.gwt.client.enums.I18NEnumRenderer; import java.util.Date; import java.util.List; /** * Redert ein Enum DISPLAY_ONLY (nicht fuer read verwenden - de ein NullParser verwendet wird)! * * @author wiese.daniel * <br> * copyright (C) 2014, Stadtwerke München GmbH */ public class EnumBoxWithAttributes<T extends I18NEnum> extends ValueBox<T> implements HasEditorErrors<T> { private final SwmErrorStyleHelper swmErrorStyleHelper; /** * Default constructor. * @param constants die i18n konstanten */ public EnumBoxWithAttributes(ConstantsWithLookup constants) { super(Document.get().createTextInputElement(), new I18NEnumRenderer<T>(constants), new AlwaysNullParser<T>()); swmErrorStyleHelper = new SwmErrorStyleHelper(this); } public void setAttribute(String attribute) { this.getElement().setAttribute(attribute, ""); } public void setAttribute(String attribute, String value) { this.getElement().setAttribute(attribute, value); } /** * Setzt den Style-Name fuer einen Fehler. * * @param errorStyleName der Style-Name */ public void setErrorStyleName(String errorStyleName) { swmErrorStyleHelper.setErrorStyleName(errorStyleName); } @Override public void showErrors(List<EditorError> errors) { swmErrorStyleHelper.showErrors(errors); } }