diff --git a/wxmsg.cpp b/wxmsg.cpp index 75e6644..7239ae3 100644 --- a/wxmsg.cpp +++ b/wxmsg.cpp @@ -41,6 +41,8 @@ using namespace std; +#define std2wx(x) wxString((wxChar*)x.c_str(), strlen(x.c_str())) + class wxmsgApp: public wxApp { public: wxmsgApp(const wxString& message, vector& buttons, const wxString& default_label, int center, int nearmouse, int timeout); @@ -58,9 +60,10 @@ vector buttons; }; -wxmsgApp::wxmsgApp ( const wxString& _message, vector& _buttons ) +wxmsgApp::wxmsgApp(const wxString& _message, vector& _buttons, const wxString& default_label, int center, int nearmouse, int timeout) : wxApp ( ) { + // TODO: handle other parameters message = _message; buttons = _buttons; } @@ -90,7 +93,7 @@ buttons = vector(); for ( i = 0; i < str_buttons.size(); i++ ) { - buttons.push_back(new wxButton(m_panel, wxmsg_BUTTON_BASE_ID + i, wxString(str_buttons[i].c_str(), wxConvUTF8))); + buttons.push_back(new wxButton(m_panel, wxmsg_BUTTON_BASE_ID + i, std2wx(str_buttons[i]))); sizerBtns->Add(buttons[i]); } @@ -297,7 +300,7 @@ fd.close(); } - wxmsgApp* app = new wxmsgApp(message, buttons, default_label, center, nearmouse, timeout); + wxmsgApp* app = new wxmsgApp(std2wx(message), buttons, std2wx(default_label), center, nearmouse, timeout); /* TODO: add wxWidgets interface here (instead of this cruft) */