package org.ourproject.massmob.client.ui; import java.util.Iterator; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.HasClickHandlers; import com.google.gwt.resources.client.ImageResource; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.AbstractImagePrototype; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.FocusPanel; import com.google.gwt.user.client.ui.HasWidgets; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; public class IconTitle extends Composite implements HasWidgets { interface IconTitleUiBinder extends UiBinder<Widget, IconTitle> { } private static IconTitleUiBinder uiBinder = GWT.create(IconTitleUiBinder.class); @UiField Image icon; @UiField Label label; @UiField HorizontalPanel hp; @UiField FocusPanel self; public IconTitle(final String text) { initWidget(uiBinder.createAndBindUi(this)); label.setText(text); } @Override public void add(final Widget w) { hp.add(w); } @Override public void clear() { hp.clear(); } public HasClickHandlers getFocus() { return self; } @Override public Iterator<Widget> iterator() { return hp.iterator(); } @Override public boolean remove(final Widget w) { return hp.remove(w); } public void setIcon(final ImageResource imgRes) { AbstractImagePrototype.create(imgRes).applyTo(icon); } public void setText(final String text) { label.setText(text); } }