This is something brought up
here already and I really think this is something that should be included, given the fact it's rather hard to do it in a cross platform way by hand (if you don't want to resort on writing your own GUI render code or use third party libs for this). After all it's something that can be very useful for any multimedia application or game (even if it's just to tell the user that something went wrong).
Essentially, I'd like to see some simple interface that works similar to
Windows API's MessageBox().
The signature would be something like this (parameters could be bitmasks or some object, too):
sf::DialogResult sf::Window::ShowDialog(const sf::String &text, sf::String &caption, const sf::DialogIcon icon = IconNone, const sf::DialogButtons buttons = ButtonsOk) const;
sf::DialogResult sf::Window::ShowDialog(const sf::String &text, sf::String &caption, const unsigned int flags = 0) const;
sf::DialogResult sf::Window::ShowDialog(const sf::String &text, sf::String &caption, const sf::DialogStyle &style = sf::DialogStyle()) const;
It's a member function, so the window can act as its parent, but some static version with an optional window parameter might be interesting, too.
I could as well think of dialogs with more elaborate dialog choices (compareable to those found in Windows Vista, Windows 7 or (I think) Unity), but at least the basics would be very neat.
Right now I use defines to redirect my error messages to console or MessageBox(), but some ready to be used function or class (might be overkill) would definitely be better.
I could provide a barebone implementation ready to be used for Windows, but unfortunately I'm far too unexperienced in X Windows, etc., to do the same for the other platforms.