package com.ocpsoft.socialpm.gwt.client.local.view.component; import javax.annotation.PostConstruct; import javax.enterprise.context.Dependent; import javax.inject.Inject; import org.jboss.errai.ui.shared.api.annotations.DataField; import org.jboss.errai.ui.shared.api.annotations.Templated; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Image; import com.ocpsoft.socialpm.gwt.client.local.util.Gravatar; import com.ocpsoft.socialpm.model.user.Profile; @Dependent @Templated public class GravatarImage extends Composite { @Inject @DataField ProfileLink imageLink; @Inject @DataField Image image; private int size = 32; @PostConstruct public final void init() {} public int getSize() { return size; } public void setSize(int size) { image.setHeight(size + "px"); image.setWidth(size + "px"); this.size = size; } public void setProfile(Profile profile) { imageLink.setProfile(profile); image.setUrl(Gravatar.forEmail(profile.getEmail(), getSize())); imageLink.getElement().setInnerHTML(""); imageLink.getElement().appendChild(image.getElement()); } public void clear() { image.setUrl(""); imageLink.clear(); } public Image getImage() { return image; } }