X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/37cda9cb1c55bdbb10d017039ae5920f440ad3b0..f8a3e080aaf03010044191b373d27c2e17cbd7d9:/src/common/log.cpp diff --git a/src/common/log.cpp b/src/common/log.cpp index fd9b103b3d..35add23be2 100644 --- a/src/common/log.cpp +++ b/src/common/log.cpp @@ -29,13 +29,13 @@ // wxWindows #ifndef WX_PRECOMP + #include #include #include #include #include #include - - #include + #include #include #include #endif //WX_PRECOMP @@ -389,6 +389,7 @@ void wxLogStderr::DoLogString(const char *szString) // wxLogStream implementation // ---------------------------------------------------------------------------- +#if wxUSE_STD_IOSTREAM wxLogStream::wxLogStream(ostream *ostr) { if ( ostr == NULL ) @@ -401,15 +402,17 @@ void wxLogStream::DoLogString(const char *szString) { (*m_ostr) << szString << endl << flush; } +#endif #ifndef wxUSE_NOGUI + // ---------------------------------------------------------------------------- // wxLogTextCtrl implementation // ---------------------------------------------------------------------------- -wxLogTextCtrl::wxLogTextCtrl(wxTextCtrl *pTextCtrl) -// @@@ TODO: in wxGTK wxTextCtrl doesn't derive from streambuf -// Also, in DLL mode in wxMSW, can't use it. +#if wxUSE_STD_IOSTREAM +wxLogTextCtrl::wxLogTextCtrl(wxTextCtrl *pTextCtrl) +// DLL mode in wxMSW, can't use it. #if defined(NO_TEXT_WINDOW_STREAM) #else : wxLogStream(new ostream(pTextCtrl)) @@ -421,6 +424,7 @@ wxLogTextCtrl::~wxLogTextCtrl() { delete m_ostr; } +#endif // ---------------------------------------------------------------------------- // wxLogGui implementation @@ -687,22 +691,19 @@ void wxLogFrame::OnSave(wxCommandEvent& WXUNUSED(event)) // retrieve text and save it // ------------------------- -#ifdef __WXGTK__ - // @@@@ TODO: no GetNumberOfLines and GetLineText in wxGTK yet - wxLogError(_("Sorry, this function is not implemented under GTK")); -#else int nLines = m_pTextCtrl->GetNumberOfLines(); for ( int nLine = 0; bOk && nLine < nLines; nLine++ ) { bOk = file.Write(m_pTextCtrl->GetLineText(nLine) + wxTextFile::GetEOL()); } -#endif //GTK if ( bOk ) bOk = file.Close(); if ( !bOk ) { wxLogError(_("Can't save log contents to file.")); - return; + } + else { + wxLogStatus(this, _("Log saved to the file '%s'."), szFileName); } } @@ -947,6 +948,12 @@ void Trap() DebugBreak(); #elif defined(__WXSTUBS__) // TODO + #elif defined(__WXMAC__) + #if __powerc + Debugger(); + #else + SysBreak(); + #endif #else // Unix raise(SIGTRAP); #endif // Win/Unix