package org.ovirt.engine.ui.common.widget.editor.generic; import org.ovirt.engine.ui.common.css.OvirtCss; import org.ovirt.engine.ui.common.widget.editor.EditorWidget; import org.ovirt.engine.ui.common.widget.renderer.EmptyValueRenderer; import com.google.gwt.dom.client.Document; import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.editor.ui.client.adapters.ValueBoxEditor; import com.google.gwt.text.shared.Parser; import com.google.gwt.text.shared.Renderer; import com.google.gwt.user.client.ui.ValueBox; /** * An {@link org.ovirt.engine.ui.common.widget.editor.EditorWidget} that only shows a Label (readonly) */ public class EntityModelLabel<T> extends ValueBox<T> implements EditorWidget<T, ValueBoxEditor<T>> { public EntityModelLabel(Renderer<T> renderer, Parser<T> parser) { super(Document.get().createTextInputElement(), renderer, parser); } @Override public void setText(String text) { super.setText(new EmptyValueRenderer<String>().render(text)); setReadOnly(true); getElement().getStyle().setBorderWidth(0, Unit.PX); } @Override public void setEnabled(boolean enabled) { super.setEnabled(enabled); if (enabled) { getElement().replaceClassName(OvirtCss.LABEL_DISABLED, OvirtCss.LABEL_ENABLED); } else { getElement().replaceClassName(OvirtCss.LABEL_ENABLED, OvirtCss.LABEL_DISABLED); } } }