void wxMessageOutputBest::Output(const wxString& str) { #ifdef __WINDOWS__ // decide whether to use console output or not wxAppTraits * const traits = wxTheApp ? wxTheApp->GetTraits() : NULL; const bool hasStderr = traits ? traits->CanUseStderr() : false; if ( !(m_flags & wxMSGOUT_PREFER_MSGBOX) ) { if ( hasStderr && traits->WriteToStderr(AppendLineFeedIfNeeded(str)) ) return; } wxString title; if ( wxTheApp ) title = wxTheApp->GetAppDisplayName(); else // Use some title to avoid default "Error" title = _("Message"); ::MessageBox(NULL, str.t_str(), title.t_str(), MB_ICONINFORMATION | MB_OK); #else // !__WINDOWS__ wxUnusedVar(m_flags); // TODO: use the native message box for the other ports too wxMessageOutputStderr::Output(str); #endif // __WINDOWS__/!__WINDOWS__ }
void wxMessageOutputStderr::Output(const wxString& str) { const wxString strWithLF = AppendLineFeedIfNeeded(str); const wxWX2MBbuf buf = strWithLF.mb_str(); if ( buf ) fprintf(stderr, "%s", (const char*) buf); else // print at least something fprintf(stderr, "%s", (const char*) strWithLF.ToAscii()); }
void wxMessageOutputDebug::Output(const wxString& str) { #if defined(__WXMSW__) && !defined(__WXMICROWIN__) wxString out(AppendLineFeedIfNeeded(str)); out.Replace(wxT("\t"), wxT(" ")); out.Replace(wxT("\n"), wxT("\r\n")); ::OutputDebugString(out.t_str()); #else // TODO: use native debug output function for the other ports too wxMessageOutputStderr::Output(str); #endif // platform }
void wxMessageOutputBest::Output(const wxString& str) { #ifdef __WINDOWS__ // decide whether to use console output or not wxAppTraits * const traits = wxTheApp ? wxTheApp->GetTraits() : NULL; const bool hasStderr = traits ? traits->CanUseStderr() : false; if ( !(m_flags & wxMSGOUT_PREFER_MSGBOX) ) { if ( hasStderr && traits->WriteToStderr(AppendLineFeedIfNeeded(str)) ) return; } ::MessageBox(NULL, str.t_str(), NULL, MB_ICONINFORMATION | MB_OK); #else // !__WINDOWS__ // TODO: use the native message box for the other ports too wxMessageOutputStderr::Output(str); #endif // __WINDOWS__/!__WINDOWS__ }