package __TOP_LEVEL_PACKAGE__.client.scaffold.ui; import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.SpanElement; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.uibinder.client.UiHandler; import com.google.gwt.user.client.ui.Anchor; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Widget; /** * A simple widget which displays info about the user and a logout link. */ public class LoginWidget extends Composite { interface Binder extends UiBinder<Widget, LoginWidget> { } private static final Binder BINDER = GWT.create(Binder.class); @UiField SpanElement name; @UiField Anchor logoutLink; public LoginWidget() { initWidget(BINDER.createAndBindUi(this)); } public void setUserName(String userName) { name.setInnerText(userName); } public void setLogoutUrl(String url) { logoutLink.setHref(url); } /** * Squelch clicks of the logout link if no href has been set. */ @UiHandler("logoutLink") void handleClick(ClickEvent e) { if ("".equals(logoutLink.getHref())) { e.stopPropagation(); } } }