]> git.saurik.com Git - wxWidgets.git/commitdiff
Revert "Split documentation of the GUI wxLog classes in a separate file."
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 31 Oct 2012 12:55:52 +0000 (12:55 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 31 Oct 2012 12:55:52 +0000 (12:55 +0000)
This reverts r72818 as it resulted in wrong header files being generated in
the documentation for the GUI wxLog classes.

See #14784.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

interface/wx/generic/logg.h [deleted file]
interface/wx/log.h

diff --git a/interface/wx/generic/logg.h b/interface/wx/generic/logg.h
deleted file mode 100644 (file)
index 0380483..0000000
+++ /dev/null
@@ -1,300 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-// Name:        logg.h
-// Purpose:     interface of GUI wxLog* classes
-// Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows licence
-/////////////////////////////////////////////////////////////////////////////
-
-
-/**
-    @class wxLogWindow
-
-    This class represents a background log window: to be precise, it collects all
-    log messages in the log frame which it manages but also passes them on to the
-    log target which was active at the moment of its creation. This allows you, for
-    example, to show all the log messages in a frame but still continue to process
-    them normally by showing the standard log dialog.
-
-    @library{wxcore}
-    @category{logging}
-    @header{wx/log.h}
-
-    @see wxLogTextCtrl
-*/
-class wxLogWindow : public wxLogInterposer
-{
-public:
-    /**
-        Creates the log frame window and starts collecting the messages in it.
-
-        @param pParent
-            The parent window for the log frame, may be @NULL
-        @param szTitle
-            The title for the log frame
-        @param show
-            @true to show the frame initially (default), otherwise
-            Show() must be called later.
-        @param passToOld
-            @true to process the log messages normally in addition to logging them
-            in the log frame (default), @false to only log them in the log frame.
-            Note that if no targets were set using wxLog::SetActiveTarget() then
-            wxLogWindow simply becomes the active one and messages won't be passed
-            to other targets.
-    */
-    wxLogWindow(wxWindow* pParent, const wxString& szTitle, bool show = true,
-                bool passToOld = true);
-
-    /**
-        Returns the associated log frame window. This may be used to position or resize
-        it but use Show() to show or hide it.
-    */
-    wxFrame* GetFrame() const;
-
-    /**
-        Called if the user closes the window interactively, will not be
-        called if it is destroyed for another reason (such as when program
-        exits).
-
-        Return @true from here to allow the frame to close, @false to
-        prevent this from happening.
-
-        @see OnFrameDelete()
-    */
-    virtual bool OnFrameClose(wxFrame* frame);
-
-    /**
-        Called immediately after the log frame creation allowing for
-        any extra initializations.
-    */
-    virtual void OnFrameCreate(wxFrame* frame);
-
-    /**
-        Called right before the log frame is going to be deleted: will
-        always be called unlike OnFrameClose().
-    */
-    virtual void OnFrameDelete(wxFrame* frame);
-
-    /**
-        Shows or hides the frame.
-    */
-    void Show(bool show = true);
-};
-
-
-
-/**
-    @class wxLogGui
-
-    This is the default log target for the GUI wxWidgets applications.
-
-    Please see @ref overview_log_customize for explanation of how to change the
-    default log target.
-
-    An object of this class is used by default to show the log messages created
-    by using wxLogMessage(), wxLogError() and other logging functions. It
-    doesn't display the messages logged by them immediately however but
-    accumulates all messages logged during an event handler execution and then
-    shows them all at once when its Flush() method is called during the idle
-    time processing. This has the important advantage of showing only a single
-    dialog to the user even if several messages were logged because of a single
-    error as it often happens (e.g. a low level function could log a message
-    because it failed to open a file resulting in its caller logging another
-    message due to the failure of higher level operation requiring the use of
-    this file). If you need to force the display of all previously logged
-    messages immediately you can use wxLog::FlushActive() to force the dialog
-    display.
-
-    Also notice that if an error message is logged when several informative
-    messages had been already logged before, the informative messages are
-    discarded on the assumption that they are not useful -- and may be
-    confusing and hence harmful -- any more after the error. The warning
-    and error messages are never discarded however and any informational
-    messages logged after the first error one are also kept (as they may
-    contain information about the error recovery). You may override DoLog()
-    method to change this behaviour.
-
-    At any rate, it is possible that that several messages were accumulated
-    before this class Flush() method is called. If this is the case, Flush()
-    uses a custom dialog which shows the last message directly and allows the
-    user to view the previously logged ones by expanding the "Details"
-    wxCollapsiblePane inside it. This custom dialog also provides the buttons
-    for copying the log messages to the clipboard and saving them to a file.
-
-    However if only a single message is present when Flush() is called, just a
-    wxMessageBox() is used to show it. This has the advantage of being closer
-    to the native behaviour but it doesn't give the user any possibility to
-    copy or save the message (except for the recent Windows versions where @c
-    Ctrl-C may be pressed in the message box to copy its contents to the
-    clipboard) so you may want to override DoShowSingleLogMessage() to
-    customize wxLogGui -- the dialogs sample shows how to do this.
-
-    @library{wxcore}
-    @category{logging}
-    @header{wx/log.h}
-*/
-class wxLogGui : public wxLog
-{
-public:
-    /**
-        Default constructor.
-    */
-    wxLogGui();
-
-    /**
-        Presents the accumulated log messages, if any, to the user.
-
-        This method is called during the idle time and should show any messages
-        accumulated in wxLogGui#m_aMessages field to the user.
-     */
-    virtual void Flush();
-
-protected:
-    /**
-        Returns the appropriate title for the dialog.
-
-        The title is constructed from wxApp::GetAppDisplayName() and the
-        severity string (e.g. "error" or "warning") appropriate for the current
-        wxLogGui#m_bErrors and wxLogGui#m_bWarnings values.
-     */
-    wxString GetTitle() const;
-
-    /**
-        Returns wxICON_ERROR, wxICON_WARNING or wxICON_INFORMATION depending on
-        the current maximal severity.
-
-        This value is suitable to be used in the style parameter of
-        wxMessageBox() function.
-     */
-    int GetSeverityIcon() const;
-
-    /**
-        Forgets all the currently stored messages.
-
-        If you override Flush() (and don't call the base class version), you
-        must call this method to avoid messages being logged over and over
-        again.
-     */
-    void Clear();
-
-
-    /**
-        All currently accumulated messages.
-
-        This array may be empty if no messages were logged.
-
-        @see m_aSeverity, m_aTimes
-     */
-    wxArrayString m_aMessages;
-
-    /**
-        The severities of each logged message.
-
-        This array is synchronized with wxLogGui#m_aMessages, i.e. the n-th
-        element of this array corresponds to the severity of the n-th message.
-        The possible severity values are @c wxLOG_XXX constants, e.g.
-        wxLOG_Error, wxLOG_Warning, wxLOG_Message etc.
-     */
-    wxArrayInt m_aSeverity;
-
-    /**
-        The time stamps of each logged message.
-
-        The elements of this array are time_t values corresponding to the time
-        when the message was logged.
-     */
-    wxArrayLong m_aTimes;
-
-    /**
-        True if there any error messages.
-     */
-    bool m_bErrors;
-
-    /**
-        True if there any warning messages.
-
-        If both wxLogGui#m_bErrors and this member are false, there are only
-        informational messages to be shown.
-     */
-    bool m_bWarnings;
-
-    /**
-        True if there any messages to be shown to the user.
-
-        This variable is used instead of simply checking whether
-        wxLogGui#m_aMessages array is empty to allow blocking further calls to
-        Flush() while a log dialog is already being shown, even if the messages
-        array hasn't been emptied yet.
-     */
-    bool m_bHasMessages;
-
-private:
-    /**
-        Method called by Flush() to show a single log message.
-
-        This function can be overridden to show the message in a different way.
-        By default a simple wxMessageBox() call is used.
-
-        @param message
-            The message to show (it can contain multiple lines).
-        @param title
-            The suggested title for the dialog showing the message, see
-            GetTitle().
-        @param style
-            One of @c wxICON_XXX constants, see GetSeverityIcon().
-     */
-    virtual void DoShowSingleLogMessage(const wxString& message,
-                                        const wxString& title,
-                                        int style);
-
-    /**
-        Method called by Flush() to show multiple log messages.
-
-        This function can be overridden to show the messages in a different way.
-        By default a special log dialog showing the most recent message and
-        allowing the user to expand it to view the previously logged ones is
-        used.
-
-        @param messages
-            Array of messages to show; it contains more than one element.
-        @param severities
-            Array of message severities containing @c wxLOG_XXX values.
-        @param times
-            Array of time_t values indicating when each message was logged.
-        @param title
-            The suggested title for the dialog showing the message, see
-            GetTitle().
-        @param style
-            One of @c wxICON_XXX constants, see GetSeverityIcon().
-     */
-    virtual void DoShowMultipleLogMessages(const wxArrayString& messages,
-                                           const wxArrayInt& severities,
-                                           const wxArrayLong& times,
-                                           const wxString& title,
-                                           int style);
-};
-
-
-
-/**
-    @class wxLogTextCtrl
-
-    Using these target all the log messages can be redirected to a text control.
-    The text control must have been created with @c wxTE_MULTILINE style by the
-    caller previously.
-
-    @library{wxcore}
-    @category{logging}
-    @header{wx/log.h}
-
-    @see wxTextCtrl, wxStreamToTextRedirector
-*/
-class wxLogTextCtrl : public wxLog
-{
-public:
-    /**
-        Constructs a log target which sends all the log messages to the given text
-        control. The @a textctrl parameter cannot be @NULL.
-    */
-    wxLogTextCtrl(wxTextCtrl* pTextCtrl);
-};
index c440515b0e7479625c072082e6d1b9d51311bed8..db420030f5ea4b76575ec96d26d46db2255be88b 100644 (file)
@@ -68,6 +68,520 @@ public:
     wxThreadIdType threadId;
 };
 
+/**
+    @class wxLogWindow
+
+    This class represents a background log window: to be precise, it collects all
+    log messages in the log frame which it manages but also passes them on to the
+    log target which was active at the moment of its creation. This allows you, for
+    example, to show all the log messages in a frame but still continue to process
+    them normally by showing the standard log dialog.
+
+    @library{wxcore}
+    @category{logging}
+
+    @see wxLogTextCtrl
+*/
+class wxLogWindow : public wxLogInterposer
+{
+public:
+    /**
+        Creates the log frame window and starts collecting the messages in it.
+
+        @param pParent
+            The parent window for the log frame, may be @NULL
+        @param szTitle
+            The title for the log frame
+        @param show
+            @true to show the frame initially (default), otherwise
+            Show() must be called later.
+        @param passToOld
+            @true to process the log messages normally in addition to logging them 
+            in the log frame (default), @false to only log them in the log frame.
+            Note that if no targets were set using wxLog::SetActiveTarget() then 
+            wxLogWindow simply becomes the active one and messages won't be passed
+            to other targets.
+    */
+    wxLogWindow(wxWindow* pParent, const wxString& szTitle, bool show = true,
+                bool passToOld = true);
+
+    /**
+        Returns the associated log frame window. This may be used to position or resize
+        it but use Show() to show or hide it.
+    */
+    wxFrame* GetFrame() const;
+
+    /**
+        Called if the user closes the window interactively, will not be
+        called if it is destroyed for another reason (such as when program
+        exits).
+
+        Return @true from here to allow the frame to close, @false to
+        prevent this from happening.
+
+        @see OnFrameDelete()
+    */
+    virtual bool OnFrameClose(wxFrame* frame);
+
+    /**
+        Called immediately after the log frame creation allowing for
+        any extra initializations.
+    */
+    virtual void OnFrameCreate(wxFrame* frame);
+
+    /**
+        Called right before the log frame is going to be deleted: will
+        always be called unlike OnFrameClose().
+    */
+    virtual void OnFrameDelete(wxFrame* frame);
+
+    /**
+        Shows or hides the frame.
+    */
+    void Show(bool show = true);
+};
+
+
+
+/**
+    @class wxLogInterposerTemp
+
+    A special version of wxLogChain which uses itself as the new log target.
+    It forwards log messages to the previously installed one in addition to
+    processing them itself. Unlike wxLogInterposer, it doesn't delete the old
+    target which means it can be used to temporarily redirect log output.
+
+    As per wxLogInterposer, this class must be derived from to implement
+    wxLog::DoLog and/or wxLog::DoLogString methods.
+
+    @library{wxbase}
+    @category{logging}
+*/
+class wxLogInterposerTemp : public wxLogChain
+{
+public:
+    /**
+        The default constructor installs this object as the current active log target.
+    */
+    wxLogInterposerTemp();
+};
+
+
+
+/**
+    @class wxLogChain
+
+    This simple class allows you to chain log sinks, that is to install a new sink but
+    keep passing log messages to the old one instead of replacing it completely as
+    wxLog::SetActiveTarget does.
+
+    It is especially useful when you want to divert the logs somewhere (for
+    example to a file or a log window) but also keep showing the error messages
+    using the standard dialogs as wxLogGui does by default.
+
+    Example of usage:
+
+    @code
+    wxLogChain *logChain = new wxLogChain(new wxLogStderr);
+
+    // all the log messages are sent to stderr and also processed as usually
+    ...
+
+    // don't delete logChain directly as this would leave a dangling
+    // pointer as active log target, use SetActiveTarget() instead
+    delete wxLog::SetActiveTarget(...something else or NULL...);
+    @endcode
+
+    @library{wxbase}
+    @category{logging}
+*/
+class wxLogChain : public wxLog
+{
+public:
+    /**
+        Sets the specified @c logger (which may be @NULL) as the default log
+        target but the log messages are also passed to the previous log target if any.
+    */
+    wxLogChain(wxLog* logger);
+
+    /**
+        Destroys the previous log target.
+    */
+    virtual ~wxLogChain();
+
+    /**
+        Detaches the old log target so it won't be destroyed when the wxLogChain object
+        is destroyed.
+    */
+    void DetachOldLog();
+
+    /**
+        Returns the pointer to the previously active log target (which may be @NULL).
+    */
+    wxLog* GetOldLog() const;
+
+    /**
+        Returns @true if the messages are passed to the previously active log
+        target (default) or @false if PassMessages() had been called.
+    */
+    bool IsPassingMessages() const;
+
+    /**
+        By default, the log messages are passed to the previously active log target.
+        Calling this function with @false parameter disables this behaviour
+        (presumably temporarily, as you shouldn't use wxLogChain at all otherwise) and
+        it can be reenabled by calling it again with @a passMessages set to @true.
+    */
+    void PassMessages(bool passMessages);
+
+    /**
+        Sets another log target to use (may be @NULL).
+
+        The log target specified in the wxLogChain(wxLog*) constructor or in a
+        previous call to this function is deleted.
+        This doesn't change the old log target value (the one the messages are
+        forwarded to) which still remains the same as was active when wxLogChain
+        object was created.
+    */
+    void SetLog(wxLog* logger);
+};
+
+
+
+/**
+    @class wxLogGui
+
+    This is the default log target for the GUI wxWidgets applications.
+
+    Please see @ref overview_log_customize for explanation of how to change the
+    default log target.
+
+    An object of this class is used by default to show the log messages created
+    by using wxLogMessage(), wxLogError() and other logging functions. It
+    doesn't display the messages logged by them immediately however but
+    accumulates all messages logged during an event handler execution and then
+    shows them all at once when its Flush() method is called during the idle
+    time processing. This has the important advantage of showing only a single
+    dialog to the user even if several messages were logged because of a single
+    error as it often happens (e.g. a low level function could log a message
+    because it failed to open a file resulting in its caller logging another
+    message due to the failure of higher level operation requiring the use of
+    this file). If you need to force the display of all previously logged
+    messages immediately you can use wxLog::FlushActive() to force the dialog
+    display.
+
+    Also notice that if an error message is logged when several informative
+    messages had been already logged before, the informative messages are
+    discarded on the assumption that they are not useful -- and may be
+    confusing and hence harmful -- any more after the error. The warning
+    and error messages are never discarded however and any informational
+    messages logged after the first error one are also kept (as they may
+    contain information about the error recovery). You may override DoLog()
+    method to change this behaviour.
+
+    At any rate, it is possible that that several messages were accumulated
+    before this class Flush() method is called. If this is the case, Flush()
+    uses a custom dialog which shows the last message directly and allows the
+    user to view the previously logged ones by expanding the "Details"
+    wxCollapsiblePane inside it. This custom dialog also provides the buttons
+    for copying the log messages to the clipboard and saving them to a file.
+
+    However if only a single message is present when Flush() is called, just a
+    wxMessageBox() is used to show it. This has the advantage of being closer
+    to the native behaviour but it doesn't give the user any possibility to
+    copy or save the message (except for the recent Windows versions where @c
+    Ctrl-C may be pressed in the message box to copy its contents to the
+    clipboard) so you may want to override DoShowSingleLogMessage() to
+    customize wxLogGui -- the dialogs sample shows how to do this.
+
+    @library{wxcore}
+    @category{logging}
+*/
+class wxLogGui : public wxLog
+{
+public:
+    /**
+        Default constructor.
+    */
+    wxLogGui();
+
+    /**
+        Presents the accumulated log messages, if any, to the user.
+
+        This method is called during the idle time and should show any messages
+        accumulated in wxLogGui#m_aMessages field to the user.
+     */
+    virtual void Flush();
+
+protected:
+    /**
+        Returns the appropriate title for the dialog.
+
+        The title is constructed from wxApp::GetAppDisplayName() and the
+        severity string (e.g. "error" or "warning") appropriate for the current
+        wxLogGui#m_bErrors and wxLogGui#m_bWarnings values.
+     */
+    wxString GetTitle() const;
+
+    /**
+        Returns wxICON_ERROR, wxICON_WARNING or wxICON_INFORMATION depending on
+        the current maximal severity.
+
+        This value is suitable to be used in the style parameter of
+        wxMessageBox() function.
+     */
+    int GetSeverityIcon() const;
+
+    /**
+        Forgets all the currently stored messages.
+
+        If you override Flush() (and don't call the base class version), you
+        must call this method to avoid messages being logged over and over
+        again.
+     */
+    void Clear();
+
+
+    /**
+        All currently accumulated messages.
+
+        This array may be empty if no messages were logged.
+
+        @see m_aSeverity, m_aTimes
+     */
+    wxArrayString m_aMessages;
+
+    /**
+        The severities of each logged message.
+
+        This array is synchronized with wxLogGui#m_aMessages, i.e. the n-th
+        element of this array corresponds to the severity of the n-th message.
+        The possible severity values are @c wxLOG_XXX constants, e.g.
+        wxLOG_Error, wxLOG_Warning, wxLOG_Message etc.
+     */
+    wxArrayInt m_aSeverity;
+
+    /**
+        The time stamps of each logged message.
+
+        The elements of this array are time_t values corresponding to the time
+        when the message was logged.
+     */
+    wxArrayLong m_aTimes;
+
+    /**
+        True if there any error messages.
+     */
+    bool m_bErrors;
+
+    /**
+        True if there any warning messages.
+
+        If both wxLogGui#m_bErrors and this member are false, there are only
+        informational messages to be shown.
+     */
+    bool m_bWarnings;
+
+    /**
+        True if there any messages to be shown to the user.
+
+        This variable is used instead of simply checking whether
+        wxLogGui#m_aMessages array is empty to allow blocking further calls to
+        Flush() while a log dialog is already being shown, even if the messages
+        array hasn't been emptied yet.
+     */
+    bool m_bHasMessages;
+
+private:
+    /**
+        Method called by Flush() to show a single log message.
+
+        This function can be overridden to show the message in a different way.
+        By default a simple wxMessageBox() call is used.
+
+        @param message
+            The message to show (it can contain multiple lines).
+        @param title
+            The suggested title for the dialog showing the message, see
+            GetTitle().
+        @param style
+            One of @c wxICON_XXX constants, see GetSeverityIcon().
+     */
+    virtual void DoShowSingleLogMessage(const wxString& message,
+                                        const wxString& title,
+                                        int style);
+
+    /**
+        Method called by Flush() to show multiple log messages.
+
+        This function can be overridden to show the messages in a different way.
+        By default a special log dialog showing the most recent message and
+        allowing the user to expand it to view the previously logged ones is
+        used.
+
+        @param messages
+            Array of messages to show; it contains more than one element.
+        @param severities
+            Array of message severities containing @c wxLOG_XXX values.
+        @param times
+            Array of time_t values indicating when each message was logged.
+        @param title
+            The suggested title for the dialog showing the message, see
+            GetTitle().
+        @param style
+            One of @c wxICON_XXX constants, see GetSeverityIcon().
+     */
+    virtual void DoShowMultipleLogMessages(const wxArrayString& messages,
+                                           const wxArrayInt& severities,
+                                           const wxArrayLong& times,
+                                           const wxString& title,
+                                           int style);
+};
+
+
+
+/**
+    @class wxLogStream
+
+    This class can be used to redirect the log messages to a C++ stream.
+
+    Please note that this class is only available if wxWidgets was compiled with
+    the standard iostream library support (@c wxUSE_STD_IOSTREAM must be on).
+
+    @library{wxbase}
+    @category{logging}
+
+    @see wxLogStderr, wxStreamToTextRedirector
+*/
+class wxLogStream : public wxLog
+{
+public:
+    /**
+        Constructs a log target which sends all the log messages to the given
+        output stream. If it is @NULL, the messages are sent to @c cerr.
+    */
+    wxLogStream(std::ostream *ostr = NULL);
+};
+
+
+
+/**
+    @class wxLogStderr
+
+    This class can be used to redirect the log messages to a C file stream (not to
+    be confused with C++ streams).
+
+    It is the default log target for the non-GUI wxWidgets applications which
+    send all the output to @c stderr.
+
+    @library{wxbase}
+    @category{logging}
+
+    @see wxLogStream
+*/
+class wxLogStderr : public wxLog
+{
+public:
+    /**
+        Constructs a log target which sends all the log messages to the given
+        @c FILE. If it is @NULL, the messages are sent to @c stderr.
+    */
+    wxLogStderr(FILE* fp = NULL);
+};
+
+
+
+/**
+    @class wxLogBuffer
+
+    wxLogBuffer is a very simple implementation of log sink which simply collects
+    all the logged messages in a string (except the debug messages which are output
+    in the usual way immediately as we're presumably not interested in collecting
+    them for later). The messages from different log function calls are separated
+    by the new lines.
+
+    All the messages collected so far can be shown to the user (and the current
+    buffer cleared) by calling the overloaded wxLogBuffer::Flush method.
+
+    @library{wxbase}
+    @category{logging}
+*/
+class wxLogBuffer : public wxLog
+{
+public:
+    /**
+        The default ctor does nothing.
+    */
+    wxLogBuffer();
+
+    /**
+        Shows all the messages collected so far to the user (using a message box in the
+        GUI applications or by printing them out to the console in text mode) and
+        clears the internal buffer.
+    */
+    virtual void Flush();
+
+    /**
+        Returns the current buffer contains. Messages from different log function calls
+        are separated with the new lines in the buffer.
+        The buffer can be cleared by Flush() which will also show the current
+        contents to the user.
+    */
+    const wxString& GetBuffer() const;
+};
+
+
+
+/**
+    @class wxLogInterposer
+
+    A special version of wxLogChain which uses itself as the new log target.
+    It forwards log messages to the previously installed one in addition to
+    processing them itself.
+
+    Unlike wxLogChain which is usually used directly as is, this class must be
+    derived from to implement wxLog::DoLog and/or wxLog::DoLogString methods.
+
+    wxLogInterposer destroys the previous log target in its destructor.
+    If you don't want this to happen, use wxLogInterposerTemp instead.
+
+    @library{wxbase}
+    @category{logging}
+*/
+class wxLogInterposer : public wxLogChain
+{
+public:
+    /**
+        The default constructor installs this object as the current active log target.
+    */
+    wxLogInterposer();
+};
+
+
+
+/**
+    @class wxLogTextCtrl
+
+    Using these target all the log messages can be redirected to a text control.
+    The text control must have been created with @c wxTE_MULTILINE style by the
+    caller previously.
+
+    @library{wxcore}
+    @category{logging}
+
+    @see wxTextCtrl, wxStreamToTextRedirector
+*/
+class wxLogTextCtrl : public wxLog
+{
+public:
+    /**
+        Constructs a log target which sends all the log messages to the given text
+        control. The @a textctrl parameter cannot be @NULL.
+    */
+    wxLogTextCtrl(wxTextCtrl* pTextCtrl);
+};
+
+
 
 
 /**
@@ -606,230 +1120,6 @@ protected:
 
 
 
-/**
-    @class wxLogChain
-
-    This simple class allows you to chain log sinks, that is to install a new sink but
-    keep passing log messages to the old one instead of replacing it completely as
-    wxLog::SetActiveTarget does.
-
-    It is especially useful when you want to divert the logs somewhere (for
-    example to a file or a log window) but also keep showing the error messages
-    using the standard dialogs as wxLogGui does by default.
-
-    Example of usage:
-
-    @code
-    wxLogChain *logChain = new wxLogChain(new wxLogStderr);
-
-    // all the log messages are sent to stderr and also processed as usually
-    ...
-
-    // don't delete logChain directly as this would leave a dangling
-    // pointer as active log target, use SetActiveTarget() instead
-    delete wxLog::SetActiveTarget(...something else or NULL...);
-    @endcode
-
-    @library{wxbase}
-    @category{logging}
-*/
-class wxLogChain : public wxLog
-{
-public:
-    /**
-        Sets the specified @c logger (which may be @NULL) as the default log
-        target but the log messages are also passed to the previous log target if any.
-    */
-    wxLogChain(wxLog* logger);
-
-    /**
-        Destroys the previous log target.
-    */
-    virtual ~wxLogChain();
-
-    /**
-        Detaches the old log target so it won't be destroyed when the wxLogChain object
-        is destroyed.
-    */
-    void DetachOldLog();
-
-    /**
-        Returns the pointer to the previously active log target (which may be @NULL).
-    */
-    wxLog* GetOldLog() const;
-
-    /**
-        Returns @true if the messages are passed to the previously active log
-        target (default) or @false if PassMessages() had been called.
-    */
-    bool IsPassingMessages() const;
-
-    /**
-        By default, the log messages are passed to the previously active log target.
-        Calling this function with @false parameter disables this behaviour
-        (presumably temporarily, as you shouldn't use wxLogChain at all otherwise) and
-        it can be reenabled by calling it again with @a passMessages set to @true.
-    */
-    void PassMessages(bool passMessages);
-
-    /**
-        Sets another log target to use (may be @NULL).
-
-        The log target specified in the wxLogChain(wxLog*) constructor or in a
-        previous call to this function is deleted.
-        This doesn't change the old log target value (the one the messages are
-        forwarded to) which still remains the same as was active when wxLogChain
-        object was created.
-    */
-    void SetLog(wxLog* logger);
-};
-
-
-
-/**
-    @class wxLogInterposerTemp
-
-    A special version of wxLogChain which uses itself as the new log target.
-    It forwards log messages to the previously installed one in addition to
-    processing them itself. Unlike wxLogInterposer, it doesn't delete the old
-    target which means it can be used to temporarily redirect log output.
-
-    As per wxLogInterposer, this class must be derived from to implement
-    wxLog::DoLog and/or wxLog::DoLogString methods.
-
-    @library{wxbase}
-    @category{logging}
-*/
-class wxLogInterposerTemp : public wxLogChain
-{
-public:
-    /**
-        The default constructor installs this object as the current active log target.
-    */
-    wxLogInterposerTemp();
-};
-
-
-
-/**
-    @class wxLogStream
-
-    This class can be used to redirect the log messages to a C++ stream.
-
-    Please note that this class is only available if wxWidgets was compiled with
-    the standard iostream library support (@c wxUSE_STD_IOSTREAM must be on).
-
-    @library{wxbase}
-    @category{logging}
-
-    @see wxLogStderr, wxStreamToTextRedirector
-*/
-class wxLogStream : public wxLog
-{
-public:
-    /**
-        Constructs a log target which sends all the log messages to the given
-        output stream. If it is @NULL, the messages are sent to @c cerr.
-    */
-    wxLogStream(std::ostream *ostr = NULL);
-};
-
-
-
-/**
-    @class wxLogStderr
-
-    This class can be used to redirect the log messages to a C file stream (not to
-    be confused with C++ streams).
-
-    It is the default log target for the non-GUI wxWidgets applications which
-    send all the output to @c stderr.
-
-    @library{wxbase}
-    @category{logging}
-
-    @see wxLogStream
-*/
-class wxLogStderr : public wxLog
-{
-public:
-    /**
-        Constructs a log target which sends all the log messages to the given
-        @c FILE. If it is @NULL, the messages are sent to @c stderr.
-    */
-    wxLogStderr(FILE* fp = NULL);
-};
-
-
-
-/**
-    @class wxLogBuffer
-
-    wxLogBuffer is a very simple implementation of log sink which simply collects
-    all the logged messages in a string (except the debug messages which are output
-    in the usual way immediately as we're presumably not interested in collecting
-    them for later). The messages from different log function calls are separated
-    by the new lines.
-
-    All the messages collected so far can be shown to the user (and the current
-    buffer cleared) by calling the overloaded wxLogBuffer::Flush method.
-
-    @library{wxbase}
-    @category{logging}
-*/
-class wxLogBuffer : public wxLog
-{
-public:
-    /**
-        The default ctor does nothing.
-    */
-    wxLogBuffer();
-
-    /**
-        Shows all the messages collected so far to the user (using a message box in the
-        GUI applications or by printing them out to the console in text mode) and
-        clears the internal buffer.
-    */
-    virtual void Flush();
-
-    /**
-        Returns the current buffer contains. Messages from different log function calls
-        are separated with the new lines in the buffer.
-        The buffer can be cleared by Flush() which will also show the current
-        contents to the user.
-    */
-    const wxString& GetBuffer() const;
-};
-
-
-
-/**
-    @class wxLogInterposer
-
-    A special version of wxLogChain which uses itself as the new log target.
-    It forwards log messages to the previously installed one in addition to
-    processing them itself.
-
-    Unlike wxLogChain which is usually used directly as is, this class must be
-    derived from to implement wxLog::DoLog and/or wxLog::DoLogString methods.
-
-    wxLogInterposer destroys the previous log target in its destructor.
-    If you don't want this to happen, use wxLogInterposerTemp instead.
-
-    @library{wxbase}
-    @category{logging}
-*/
-class wxLogInterposer : public wxLogChain
-{
-public:
-    /**
-        The default constructor installs this object as the current active log target.
-    */
-    wxLogInterposer();
-};
-
-
-
 /**
     @class wxLogNull