X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/65ca8c0b797944fc19880a56041edf249089d109..73bab6b44da953b35b902c9f3199582e4e76d89b:/include/wx/log.h diff --git a/include/wx/log.h b/include/wx/log.h index ee2f933f8f..eeec34cc7b 100644 --- a/include/wx/log.h +++ b/include/wx/log.h @@ -6,7 +6,7 @@ // Created: 29/01/98 // RCS-ID: $Id$ // Copyright: (c) 1998 Vadim Zeitlin -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_LOG_H_ @@ -101,7 +101,7 @@ enum #define wxTraceOleCalls 0x0100 // OLE interface calls #endif -#include "wx/ioswrap.h" +#include "wx/iosfwrap.h" // ---------------------------------------------------------------------------- // derive from this class to redirect (or suppress, or ...) log messages @@ -143,22 +143,19 @@ public: // and iostream logs don't need it, but wxGuiLog does to avoid showing // 17 modal dialogs one after another) virtual void Flush(); - // call to Flush() may be optimized: call it only if this function - // returns true (although Flush() also returns immediately if there is - // no messages, this functions is more efficient because inline) - bool HasPendingMessages() const { return m_bHasMessages; } - // only one sink is active at each moment // flush the active target if any static void FlushActive() { if ( !ms_suspendCount ) { wxLog *log = GetActiveTarget(); - if ( log && log->HasPendingMessages() ) + if ( log ) log->Flush(); } } + + // only one sink is active at each moment // get current log target, will call wxApp::CreateLogTarget() to // create one if none exists static wxLog *GetActiveTarget(); @@ -224,9 +221,11 @@ public: // make dtor virtual for all derived classes virtual ~wxLog() { } -protected: - bool m_bHasMessages; // any messages in the queue? + // this method exists for backwards compatibility only, don't use + bool HasPendingMessages() const { return TRUE; } + +protected: // the logging functions that can be overriden // default DoLog() prepends the time stamp and a prefix corresponding // to the message to szString and then passes it to DoLogString() @@ -369,6 +368,8 @@ private: // do we pass the messages to the old logger? bool m_bPassMessages; + + DECLARE_NO_COPY_CLASS(wxLogChain) }; // a chain log target which uses itself as the new logger @@ -400,6 +401,8 @@ private: // the control we use wxTextCtrl *m_pTextCtrl; + + DECLARE_NO_COPY_CLASS(wxLogTextCtrl) }; #endif // wxUSE_TEXTCTRL @@ -429,7 +432,9 @@ protected: wxArrayInt m_aSeverity; // one of wxLOG_XXX values wxArrayLong m_aTimes; // the time of each message bool m_bErrors, // do we have any errors? - m_bWarnings; // any warnings? + m_bWarnings, // any warnings? + m_bHasMessages; // any messages at all? + }; #endif // wxUSE_LOGGUI @@ -478,6 +483,8 @@ protected: private: wxLogFrame *m_pLogFrame; // the log frame + + DECLARE_NO_COPY_CLASS(wxLogWindow) }; #endif // wxUSE_LOGWINDOW @@ -530,6 +537,20 @@ inline void WXDLLEXPORT wxVLog##level(arg1, const wxChar *szFormat, \ va_list argptr) {} \ inline void WXDLLEXPORT wxLog##level(arg1, const wxChar *szFormat, ...) {} +// Empty Class to fake wxLogNull +class WXDLLEXPORT wxLogNull +{ +public: + wxLogNull() {} +}; + +// Dummy macros to replace some functions. +#define wxSysErrorCode() (unsigned long)0 +#define wxSysErrorMsg( X ) (const wxChar*)NULL + +// Fake symbolic trace masks... for those that are used frequently +#define wxTRACE_OleCalls wxT("") // OLE interface calls + #endif // wxUSE_LOG/!wxUSE_LOG // a generic function for all levels (level is passes as parameter) @@ -619,4 +640,3 @@ void WXDLLEXPORT wxSafeShowMessage(const wxString& title, const wxString& text); #endif // _WX_LOG_H_ -// vi:sts=4:sw=4:et