]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/log.h
removed wxUSE_MENU_CALLBACK references: the code inside the #if couldn't compile...
[wxWidgets.git] / include / wx / log.h
index eef804d039944775069cbbb5c1d72d5fdd8a4fb5..b1309ce30ab91f0839185d77f46d8877f138ccaa 100644 (file)
@@ -288,11 +288,36 @@ private:
 // "trivial" derivations of wxLog
 // ----------------------------------------------------------------------------
 
+#if wxABI_VERSION > 20601
+
+// log everything to a buffer
+class WXDLLIMPEXP_BASE wxLogBuffer : public wxLog
+{
+public:
+    wxLogBuffer() { }
+
+    // get the string contents with all messages logged
+    const wxString& GetBuffer() const { return m_str; }
+
+    // show the buffer contents to the user in the best possible way (this uses
+    // wxMessageOutputMessageBox) and clear it
+    virtual void Flush();
+
+protected:
+    virtual void DoLog(wxLogLevel level, const wxChar *szString, time_t t);
+    virtual void DoLogString(const wxChar *szString, time_t t);
+
+private:
+    wxString m_str;
+
+    DECLARE_NO_COPY_CLASS(wxLogBuffer)
+};
+
+#endif // wxABI_VERSION
+
 // log everything to a "FILE *", stderr by default
 class WXDLLIMPEXP_BASE wxLogStderr : public wxLog
 {
-    DECLARE_NO_COPY_CLASS(wxLogStderr)
-
 public:
     // redirect log output to a FILE
     wxLogStderr(FILE *fp = (FILE *) NULL);
@@ -302,6 +327,8 @@ protected:
     virtual void DoLogString(const wxChar *szString, time_t t);
 
     FILE *m_fp;
+
+    DECLARE_NO_COPY_CLASS(wxLogStderr)
 };
 
 #if wxUSE_STD_IOSTREAM