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 LoginBox extends DialogBox { private final SimplePanel simplePanel = new SimplePanel(); private final FlexTable flexTable = new FlexTable(); private final HTML html_loginButton = new HTML("", false); private final HTML htmlNewHtml = new HTML( "Пожалуйста, ознакомьтесь с <a href=\"rules.html\" target=\"_blank\">правилами</a>, прежде чем войти.", true); private final Button button_anonymous = new Button("Войти анонимно"); public LoginBox(String url) { setText("Пожалуйста, войдите"); setWidget(simplePanel); simplePanel.setSize("300px", "200px"); simplePanel.setWidget(flexTable); flexTable.setSize("100%", "100%"); flexTable.setWidget(0, 0, html_loginButton); html_loginButton.setHTML("<a href=\"" + url + "\"><img src=\"https://steamcommunity-a.akamaihd.net/public/images/signinthroughsteam/sits_large_border.png\"/></a>"); flexTable.getCellFormatter().setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_CENTER); flexTable.getCellFormatter().setVerticalAlignment(0, 0, HasVerticalAlignment.ALIGN_MIDDLE); flexTable.setWidget(1, 0, htmlNewHtml); button_anonymous.addClickHandler(new Button_anonymousClickHandler()); flexTable.setWidget(2, 0, button_anonymous); flexTable.getCellFormatter().setHorizontalAlignment(2, 0, HasHorizontalAlignment.ALIGN_CENTER); } 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(); } }); } } }