From a3e64f73cfa02cea9b7318f77c3247bed743e8e7 Mon Sep 17 00:00:00 2001 From: Nicolas Micoud Date: Wed, 20 May 2015 11:47:27 -0500 Subject: [PATCH] IDEMPIERE-2411 FDialog.ask with title, AD_Message and msg --- .../org/adempiere/webui/window/FDialog.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FDialog.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FDialog.java index 1abe6ab5a9..58710d4a7c 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FDialog.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FDialog.java @@ -464,4 +464,41 @@ public class FDialog Messagebox.showDialog(s, newTitle, Messagebox.OK, Messagebox.INFORMATION); return; } + + + /************************************************************************** + * Ask Question with question icon and (OK) (Cancel) buttons + * + * @param WindowNo Number of Window + * @param c Container (owner) + * @param title Title of the dialog panel + * @param AD_Message Message to be translated + * @param msg Additional clear text message + * + * @return true, if OK + */ + public static boolean ask(int windowNo, Component comp, String title, String adMessage, String msg, final Callback callback) + { + Callback msgCallback = null; + if (callback != null) + { + msgCallback = new Callback() { + @Override + public void onCallback(Integer result) { + boolean b = result != null && result.intValue() == Messagebox.OK; + callback.onCallback(b); + } + }; + } + + StringBuilder out = new StringBuilder(); + if (adMessage != null && !adMessage.equals("")) + out.append(Msg.getMsg(Env.getCtx(), adMessage)); + if (msg != null && msg.length() > 0) + out.append("\n").append(msg); + String s = out.toString().replace("\n", "
"); + + int response = Messagebox.showDialog(s, title, Messagebox.OK | Messagebox.CANCEL, Messagebox.QUESTION, msgCallback, (msgCallback == null)); + return (response == Messagebox.OK); + } }