package scrum.client.collaboration;
import ilarkesto.gwt.client.TableBuilder;
import java.util.List;
import scrum.client.common.AScrumGwtEntity;
import scrum.client.common.AScrumWidget;
import com.google.gwt.dom.client.Style;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.Widget;
public class EmoticonsWidget extends AScrumWidget {
private AScrumGwtEntity entity;
private SimplePanel wrapper;
public EmoticonsWidget(AScrumGwtEntity entity) {
super();
this.entity = entity;
}
@Override
protected Widget onInitialization() {
wrapper = new SimplePanel();
wrapper.setStyleName("EmoticonsWidget");
return wrapper;
}
@Override
protected void onUpdate() {
wrapper.clear();
List<Emoticon> emoticons = entity.getEmoticons();
TableBuilder tb = new TableBuilder();
tb.setWidth(null);
for (Emoticon emoticon : emoticons) {
// if (emoticon.getOwner() == currentUser) continue;
tb.add(createEmoticonWidget(emoticon));
}
// tb.add(createEmoticonEditor());
wrapper.setWidget(tb.createTable());
}
private Widget createEmoticonWidget(Emoticon emoticon) {
Image img = new Image(getEmotionImage(emoticon.getEmotion()), 0, 0, 16, 16);
img.setTitle(emoticon.getTooltip());
Style imgStyle = img.getElement().getStyle();
imgStyle.setMarginLeft(1, Unit.PX);
imgStyle.setMarginTop(1, Unit.PX);
return img;
}
private String getEmotionImage(String emotion) {
if (emotion == null) emotion = "none";
return "emoticons/" + emotion + ".png";
}
}