/** * Sencha GXT 3.0.0b - Sencha for GWT * Copyright(c) 2007-2012, Sencha, Inc. * licensing@sencha.com * * http://www.sencha.com/products/gxt/license/ */ package com.sencha.gxt.desktopapp.client.utility; import com.google.gwt.core.client.GWT; import com.sencha.gxt.widget.core.client.Dialog; import com.sencha.gxt.widget.core.client.Dialog.PredefinedButton; import com.sencha.gxt.widget.core.client.box.AlertMessageBox; import com.sencha.gxt.widget.core.client.box.ConfirmMessageBox; import com.sencha.gxt.widget.core.client.event.HideEvent; import com.sencha.gxt.widget.core.client.event.HideEvent.HideHandler; public class PromptImpl extends Prompt { /** * Use a GWT.create() here to make it simple to hijack the default * implementation. */ public static final Prompt INSTANCE = GWT.create(PromptImpl.class); @Override public void alert(String title, String text) { alert(title, text, null); } @Override public void alert(String title, String text, final Runnable runnable) { AlertMessageBox alertMessageBox = new AlertMessageBox(title, text); alertMessageBox.addHideHandler(new HideHandler() { @Override public void onHide(HideEvent event) { if (runnable != null) { runnable.run(); } } }); alertMessageBox.setWidth(300); alertMessageBox.show(); } @Override public void confirm(String title, String text, final Runnable yesRunnable) { confirm(title, text, yesRunnable, null); } @Override public void confirm(String title, String text, final Runnable yesRunnable, final Runnable noRunnable) { ConfirmMessageBox confirmMessageBox = new ConfirmMessageBox(title, text); confirmMessageBox.addHideHandler(new HideHandler() { @Override public void onHide(HideEvent event) { Dialog dialog = (Dialog) event.getSource(); boolean isYes = dialog.getHideButton() == dialog.getButtonById(PredefinedButton.YES.name()); if (isYes) { if (yesRunnable != null) { yesRunnable.run(); } } else { if (noRunnable != null) { noRunnable.run(); } } } }); confirmMessageBox.setWidth(300); confirmMessageBox.show(); } }