diff --git a/res/modules/internal/gui_util.lua b/res/modules/internal/gui_util.lua index 15360521..524bd7ae 100644 --- a/res/modules/internal/gui_util.lua +++ b/res/modules/internal/gui_util.lua @@ -3,8 +3,8 @@ local gui_util = { } --- Parse `pagename?arg1=value1&arg2=value2` queries ---- @param query page query string ---- @return page_name, args_table +--- @param query string page query string +--- @return string, string -> page_name, args_table function gui_util.parse_query(query) local args = {} local name @@ -23,8 +23,7 @@ function gui_util.parse_query(query) return name, args end ---- @param query page query string ---- @return document_id +--- @param query string page query string function gui_util.load_page(query) local name, args = gui_util.parse_query(query) for i = #gui_util.local_dispatchers, 1, -1 do @@ -116,4 +115,24 @@ gui_util.Document = Document gui_util.Element = Element gui_util.RadioGroup = RadioGroup +function gui.show_message(text, actual_callback) + local id = "dialog_"..random.uuid() + + local callback = function() + gui.root[id]:destruct() + if actual_callback then + actual_callback() + end + end + gui.root.root:add(string.format([[ + + + + + + + ]], id, string.escape_xml(text)), {callback=callback}) + input.add_callback("key:escape", callback, gui.root[id]) +end + return gui_util