#if defined(Hiro_MessageDialog) struct MessageDialog { using type = MessageDialog; MessageDialog(const string& text = ""); auto error(const vector& buttons = {"Ok"}) -> string; auto information(const vector& buttons = {"Ok"}) -> string; auto question(const vector& buttons = {"Yes", "No"}) -> string; auto setParent(sWindow parent = {}) -> type&; auto setText(const string& text = "") -> type&; auto setTitle(const string& title = "") -> type&; auto warning(const vector& buttons = {"Ok"}) -> string; private: struct State { vector buttons; image icon; sWindow parent; string response; string text; string title; } state; auto _run() -> string; }; #endif