]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/log.h
Moved the cleanup code to an EVT_WINDOW_DESTROY handler.
[wxWidgets.git] / include / wx / log.h
index b6b3a645929c41e4e97a30439bc70b9d790d5fc7..edbddebb630616f40b198fde3b15e3fd4f291bf4 100644 (file)
@@ -103,6 +103,12 @@ public:
     // ctor
     wxLog();
 
+    // Internal buffer.
+        // Allow replacement of the fixed size static buffer with
+        // a user allocated one.  Pass in NULL to restore the
+        // built in static buffer.
+    static wxChar *SetLogBuffer( wxChar *buf, size_t size = 0 );
+
     // these functions allow to completely disable all log messages
         // is logging disabled now?
     static bool IsEnabled() { return ms_doLog; }
@@ -475,16 +481,24 @@ WXDLLEXPORT const wxChar* wxSysErrorMsg(unsigned long nErrCode = 0);
 // -------------------
 
 #define DECLARE_LOG_FUNCTION(level)                                 \
+extern void WXDLLEXPORT wxVLog##level(const wxChar *szFormat,       \
+                                      va_list argptr);              \
 extern void WXDLLEXPORT wxLog##level(const wxChar *szFormat, ...)
 #define DECLARE_LOG_FUNCTION2(level, arg1)                          \
+extern void WXDLLEXPORT wxVLog##level(arg1, const wxChar *szFormat, \
+                                      va_list argptr);              \
 extern void WXDLLEXPORT wxLog##level(arg1, const wxChar *szFormat, ...)
 
 #else // !wxUSE_LOG
 
 // log functions do nothing at all
 #define DECLARE_LOG_FUNCTION(level)                                 \
+inline void WXDLLEXPORT wxVLog##level(const wxChar *szFormat,       \
+                                     va_list argptr) {}             \
 inline void WXDLLEXPORT wxLog##level(const wxChar *szFormat, ...) {}
 #define DECLARE_LOG_FUNCTION2(level, arg1)                          \
+inline void WXDLLEXPORT wxVLog##level(arg1, const wxChar *szFormat, \
+                                     va_list argptr) {}             \
 inline void WXDLLEXPORT wxLog##level(arg1, const wxChar *szFormat, ...) {}
 
 #endif // wxUSE_LOG/!wxUSE_LOG
@@ -520,7 +534,7 @@ DECLARE_LOG_FUNCTION2(SysError, long lErrCode);
 #ifdef  __WXDEBUG__
     DECLARE_LOG_FUNCTION(Debug);
 
-    // first king of LogTrace is uncoditional: it doesn't check the level,
+    // first kind of LogTrace is unconditional: it doesn't check the level,
     DECLARE_LOG_FUNCTION(Trace);
 
     // this second version will only log the message if the mask had been
@@ -533,9 +547,13 @@ DECLARE_LOG_FUNCTION2(SysError, long lErrCode);
     DECLARE_LOG_FUNCTION2(Trace, wxTraceMask mask);
 #else   //!debug
     // these functions do nothing in release builds
+    inline void wxVLogDebug(const wxChar *, va_list) { }
     inline void wxLogDebug(const wxChar *, ...) { }
+    inline void wxVLogTrace(const wxChar *, va_list) { }
     inline void wxLogTrace(const wxChar *, ...) { }
+    inline void wxVLogTrace(wxTraceMask, const wxChar *, va_list) { }
     inline void wxLogTrace(wxTraceMask, const wxChar *, ...) { }
+    inline void wxVLogTrace(const wxChar *, const wxChar *, va_list) { }
     inline void wxLogTrace(const wxChar *, const wxChar *, ...) { }
 #endif // debug/!debug
 
@@ -543,11 +561,6 @@ DECLARE_LOG_FUNCTION2(SysError, long lErrCode);
 // debug only logging functions: use them with API name and error code
 // ----------------------------------------------------------------------------
 
-#ifndef __TFILE__
-    #define __XFILE__(x) Tx)
-    #define __TFILE__ __XFILE__(__FILE__)
-#endif
-
 #ifdef __WXDEBUG__
     // make life easier for people using VC++ IDE: clicking on the message
     // will take us immediately to the place of the failed API
@@ -572,3 +585,5 @@ DECLARE_LOG_FUNCTION2(SysError, long lErrCode);
 #endif  //debug/!debug
 
 #endif  // _WX_LOG_H_
+
+// vi:sts=4:sw=4:et