package org.ovirt.engine.ui.userportal.widget.basic; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.ui.uicommonweb.models.vms.IconCache; import com.google.gwt.editor.client.IsEditor; import com.google.gwt.editor.client.adapters.TakesValueEditor; import com.google.gwt.safehtml.shared.SafeUri; import com.google.gwt.safehtml.shared.UriUtils; import com.google.gwt.user.client.TakesValue; import com.google.gwt.user.client.ui.Image; public class IconImage extends Image implements IsEditor<TakesValueEditor<Guid>>, TakesValue<Guid> { private Guid value; @Override public TakesValueEditor<Guid> asEditor() { return TakesValueEditor.of(this); } @Override public void setValue(Guid value) { setUrl(toIconUrl(value)); this.value = value; } private SafeUri toIconUrl(Guid iconId) { return UriUtils.fromTrustedString(IconCache.getInstance().getIcon(iconId)); } @Override public Guid getValue() { return value; } }