package me.rkfg.ns2gather.client; import ru.ppsrk.gwt.client.ClientUtils.MyAsyncCallback; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.Window.Location; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.DialogBox; import com.google.gwt.user.client.ui.FlexTable; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HasHorizontalAlignment; import com.google.gwt.user.client.ui.HasVerticalAlignment; import com.google.gwt.user.client.ui.SimplePanel; public class FakeLoginBox extends DialogBox { private final SimplePanel simplePanel = new SimplePanel(); private final FlexTable flexTable = new FlexTable(); private final HTML html_loginButton = new HTML("", false); private final Button button_anonymous = new Button("Войти анонимно"); public FakeLoginBox() { setText("Пожалуйста, войдите"); setWidget(simplePanel); simplePanel.setSize("300px", "200px"); simplePanel.setWidget(flexTable); flexTable.setSize("100%", "100%"); html_loginButton.addClickHandler(new Html_loginButtonClickHandler()); flexTable.setWidget(0, 0, html_loginButton); html_loginButton .setHTML("<img src=\"http://steamcommunity-a.akamaihd.net/public/images/signinthroughsteam/sits_large_border.png\"/>"); flexTable.getCellFormatter().setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_CENTER); flexTable.getCellFormatter().setVerticalAlignment(0, 0, HasVerticalAlignment.ALIGN_MIDDLE); button_anonymous.addClickHandler(new Button_anonymousClickHandler()); flexTable.setWidget(1, 0, button_anonymous); flexTable.getCellFormatter().setHorizontalAlignment(1, 0, HasHorizontalAlignment.ALIGN_CENTER); } private class Html_loginButtonClickHandler implements ClickHandler { public void onClick(ClickEvent event) { NS2GServiceAsync.Util.getInstance().fakeLogin(new MyAsyncCallback<Void>() { @Override public void onSuccess(Void result) { Location.reload(); } }); } } private class Button_anonymousClickHandler implements ClickHandler { public void onClick(ClickEvent event) { NS2GServiceAsync.Util.getInstance().loginAnonymously(new MyAsyncCallback<Void>() { @Override public void onSuccess(Void result) { Location.reload(); } }); } } }