Ad-hoc error message dialogs

#include <x/w/stop_message.H>
#include <x/w/alert_message.H>

mw->stop_message("Something's wrong");

mw->alert_message("Job completed");

try {

  // ...
} catch (const x::exception &e)
{
    mw->exception_message(e);
}

menu.C from Chapter 22, Menus gives an example of using stop_message(). stop_message() is a shortcut for using create_ok_dialog() to create a dialog with a label, and then show it. The dialog has the stop icon. alert_message() creates a similar dialog with the alert icon.

stop_message()'s second, optional x::w::stop_message_config parameter customizes the ad-hoc error message dialog's appearance. The ad-hoc dialog gets automatically destroyed when it's closed. alert_message()'s second optional parameter is unimaginatively called x::w::alert_message_config

exception_message() takes an x::exception parameter instead of a plain string, and formats the exception accordingly.