]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/log.tex
Don't use const bool.
[wxWidgets.git] / docs / latex / wx / log.tex
index ec53f6792f1fbb573607c21921fb2c8b89decb67..ae311235b433a7fdb94435ada0f4c40a5150a72d 100644 (file)
@@ -6,7 +6,7 @@
 %% Created:     some time ago
 %% RCS-ID:      $Id$
 %% Copyright:   (c) 1997-2001 Vadim Zeitlin
-%% License:     wxWidgets license
+%% License:     wxWindows license
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \section{\class{wxLog}}\label{wxlog}
@@ -36,7 +36,7 @@ No base class
 
 \latexignore{\rtfignore{\wxheading{Function groups}}}
 
-\membersection{Static functions}
+\membersection{Global functions}
 
 The functions in this section work with and manipulate the active log target.
 The \helpref{OnLog()}{wxlogonlog} is called by the {\it wxLogXXX()} functions
@@ -54,7 +54,7 @@ situations because it may easily lead to a loss of messages.
 \helpref{Suspend}{wxlogsuspend}\\
 \helpref{Resume}{wxlogresume}
 
-\membersection{Logging functions}
+\membersection{Logging functions}\label{loggingfunctions}
 
 There are two functions which must be implemented by any derived class to
 actually process the log messages: \helpref{DoLog}{wxlogdolog} and
@@ -155,7 +155,9 @@ window on the corresponding error message. If you wish to enable it, please use
 \helpref{SetTimestamp}{wxlogsettimestamp}\\
 \helpref{GetTimestamp}{wxloggettimestamp}\\
 \helpref{SetTraceMask}{wxlogsettracemask}\\
-\helpref{GetTraceMask}{wxloggettracemask}
+\helpref{GetTraceMask}{wxloggettracemask}\\
+\helpref{SetRepetitionCounting}{wxlogsetrepetitioncounting}\\
+\helpref{GetRepetitionCounting}{wxloggetrepetitioncounting}
 
 %%%%% MEMBERS HERE %%%%%
 \helponly{\insertatlevel{2}{
@@ -199,7 +201,7 @@ Returns the currently allowed list of string trace masks.
 
 \membersection{wxLog::OnLog}\label{wxlogonlog}
 
-\func{static void}{OnLog}{\param{wxLogLevel }{ level}, \param{const char * }{ message}}
+\func{static void}{OnLog}{\param{wxLogLevel }{ level}, \param{const wxString\& }{ message}}
 
 Forwards the message at specified level to the {\it DoLog()} function of the
 active log target if there is any, does nothing otherwise.
@@ -215,7 +217,9 @@ Returns the pointer to the active log target (may be NULL).
 \func{static wxLog *}{SetActiveTarget}{\param{wxLog * }{ logtarget}}
 
 Sets the specified log target as the active one. Returns the pointer to the
-previous active log target (may be NULL).
+previous active log target (may be NULL).  To suppress logging use a new
+instance of wxLogNull not NULL.  If the active log target is set to NULL a
+new default log target will be created when logging occurs.
 
 \membersection{wxLog::Suspend}\label{wxlogsuspend}
 
@@ -246,7 +250,7 @@ flushed soon.
 
 \membersection{wxLog::DoLog}\label{wxlogdolog}
 
-\func{virtual void}{DoLog}{\param{wxLogLevel }{level}, \param{const wxChar }{*msg}, \param{time\_t }{timestamp}}
+\func{virtual void}{DoLog}{\param{wxLogLevel }{level}, \param{const wxString\& }{msg}, \param{time\_t }{timestamp}}
 
 Called to process the message of the specified severity. {\it msg} is the text
 of the message as specified in the call of {\it wxLogXXX()} function which
@@ -258,9 +262,9 @@ corresponding to the log level and then calls
 
 \membersection{wxLog::DoLogString}\label{wxlogdologstring}
 
-\func{virtual void}{DoLogString}{\param{const wxChar }{*msg}, \param{time\_t }{timestamp}}
+\func{virtual void}{DoLogString}{\param{const wxString\& }{msg}, \param{time\_t }{timestamp}}
 
-Called to log the specified string. The timestamp is already included into the
+Called to log the specified string. The timestamp is already included in the
 string but still passed to this function.
 
 A simple implementation may just send the string to {\tt stdout} or, better,
@@ -320,9 +324,24 @@ and not sent to the active log target.
 
 Returns the current log level limit.
 
+\membersection{wxLog::SetRepetitionCounting}\label{wxlogsetrepetitioncounting}
+
+\func{static void}{SetRepetitionCounting}{\param{bool }{ repetCounting = true}}
+
+Enables logging mode in which a log message is logged once, and in case exactly
+the same message successively repeats one or more times, only the number of 
+repetitions is logged.
+
+\membersection{wxLog::GetRepetitionCounting}\label{wxloggetrepetitioncounting}
+
+\func{static bool}{GetRepetitionCounting}{\void}
+
+Returns whether the repetition counting mode is enabled.
+
+
 \membersection{wxLog::SetTimestamp}\label{wxlogsettimestamp}
 
-\func{void}{SetTimestamp}{\param{const char * }{ format}}
+\func{void}{SetTimestamp}{\param{const wxStrgin\&}{ format}}
 
 Sets the timestamp format prepended by the default log targets to all
 messages. The string may contain any normal characters as well as \%
@@ -331,7 +350,7 @@ Passing a NULL value (not empty string) to this function disables message timest
 
 \membersection{wxLog::GetTimestamp}\label{wxloggettimestamp}
 
-\constfunc{const char *}{GetTimestamp}{\void}
+\constfunc{const wxString\&}{GetTimestamp}{\void}
 
 Returns the current timestamp format string.
 
@@ -349,7 +368,7 @@ for details.
 
 \membersection{wxLog::IsAllowedTraceMask}\label{wxlogisallowedtracemask}
 
-\func{static bool}{IsAllowedTraceMask}{\param{const wxChar *}{mask}}
+\func{static bool}{IsAllowedTraceMask}{\param{const wxString\& }{mask}}
 
 Returns true if the {\it mask} is one of allowed masks for
 \helpref{wxLogTrace}{wxlogtrace}.
@@ -402,19 +421,26 @@ delete wxLog::SetActiveTarget(...something else or NULL...);
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxLogChain::wxLogChain}\label{wxlogchainwxlogchain}
+\membersection{wxLogChain::wxLogChain}\label{wxlogchainctor}
 
 \func{}{wxLogChain}{\param{wxLog *}{logger}}
 
 Sets the specified {\tt logger} (which may be {\tt NULL}) as the default log
 target but the log messages are also passed to the previous log target if any.
 
-\membersection{wxLogChain::\destruct{wxLogChain}}
+\membersection{wxLogChain::\destruct{wxLogChain}}\label{wxlogchaindtor}
 
 \func{}{\destruct{wxLogChain}}{\void}
 
 Destroys the previous log target.
 
+\membersection{wxLogChain::DetachOldLog}\label{wxlogchaindetacholdlog}
+
+\func{void}{DetachOldLog}{\void}
+
+Detaches the old log target so it won't be destroyed when the wxLogChain object
+is destroyed.
+
 \membersection{wxLogChain::GetOldLog}\label{wxlogchaingetoldlog}
 
 \constfunc{wxLog *}{GetOldLog}{\void}
@@ -445,7 +471,7 @@ true}.
 \func{void}{SetLog}{\param{wxLog *}{logger}}
 
 Sets another log target to use (may be {\tt NULL}). The log target specified
-in the \helpref{constructor}{wxlogchainwxlogchain} or in a previous call to
+in the \helpref{constructor}{wxlogchainctor} or in a previous call to
 this function is deleted.
 
 This doesn't change the old log target value (the one the messages are
@@ -470,7 +496,7 @@ startup and is deleted by wxWidgets during the program shut down.
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxLogGui::wxLogGui}
+\membersection{wxLogGui::wxLogGui}\label{wxlogguictor}
 
 \func{}{wxLogGui}{\void}
 
@@ -535,29 +561,57 @@ would be better written as:
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxLogNull::wxLogNull}
+\membersection{wxLogNull::wxLogNull}\label{wxlognullctor}
 
 \func{}{wxLogNull}{\void}
 
 Suspends logging.
 
-\membersection{wxLogNull::\destruct{wxLogNull}}
+\membersection{wxLogNull::\destruct{wxLogNull}}\label{wxlognulldtor}
 
 Resumes logging.
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogPassThrough %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogInterposer %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\section{\class{wxLogPassThrough}}\label{wxlogpassthrough}
+\section{\class{wxLogInterposer}}\label{wxloginterposer}
 
 A special version of \helpref{wxLogChain}{wxlogchain} which uses itself as the
-new log target. Maybe more clearly, it means that this is a log target which
-forwards the log messages to the previously installed one in addition to
+new log target. It forwards log messages to the previously installed one in addition to
 processing them itself.
 
 Unlike \helpref{wxLogChain}{wxlogchain} which is usually used directly as is,
 this class must be derived from to implement \helpref{DoLog}{wxlogdolog}
 and/or \helpref{DoLogString}{wxlogdologstring} methods.
 
+wxLogInterposer destroys the previous log target in its destructor. If you
+don't want this to happen, use wxLogInterposerTemp instead.
+
+\wxheading{Derived from}
+
+\helpref{wxLogChain}{wxlogchain}
+
+\wxheading{Include files}
+
+<wx/log.h>
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxLogInterposer::wxLogInterposer}\label{wxloginterposerctor}
+
+The default constructor installs this object as the current active log target.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogInterposerTemp %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{\class{wxLogInterposerTemp}}\label{wxloginterposertemp}
+
+A special version of \helpref{wxLogChain}{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 \helpref{wxLogInterposer}{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 \helpref{DoLog}{wxlogdolog}
+and/or \helpref{DoLogString}{wxlogdologstring} methods.
+
 \wxheading{Derived from}
 
 \helpref{wxLogChain}{wxlogchain}
@@ -568,9 +622,9 @@ and/or \helpref{DoLogString}{wxlogdologstring} methods.
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxLogPassThrough::wxLogPassThrough}\label{wxlogpassthroughctor}
+\membersection{wxLogInterposerTemp::wxLogInterposerTemp}\label{wxloginterposertempctor}
 
-Default ctor installs this object as the current active log target.
+The default constructor installs this object as the current active log target.
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogStderr %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -594,7 +648,7 @@ wxWidgets applications which send all the output to {\tt stderr}.
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxLogStderr::wxLogStderr}
+\membersection{wxLogStderr::wxLogStderr}\label{wxlogstderrctor}
 
 \func{}{wxLogStderr}{\param{FILE }{*fp = NULL}}
 
@@ -625,7 +679,7 @@ the standard iostream library support ({\tt wxUSE\_STD\_IOSTREAM} must be on).
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxLogStream::wxLogStream}
+\membersection{wxLogStream::wxLogStream}\label{wxlogstreamctor}
 
 \func{}{wxLogStream}{\param{std::ostream }{*ostr = NULL}}
 
@@ -650,12 +704,12 @@ caller previously.
 
 \wxheading{See also}
 
-\helpref{wxLogTextCtrl}{wxlogtextctrl},\\
+\helpref{wxTextCtrl}{wxtextctrl},\\
 \helpref{wxStreamToTextRedirector}{wxstreamtotextredirector}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxLogTextCtrl::wxLogTextCtrl}
+\membersection{wxLogTextCtrl::wxLogTextCtrl}\label{wxlogtextctrlctor}
 
 \func{}{wxLogTextCtrl}{\param{wxTextCtrl }{*textctrl}}
 
@@ -674,7 +728,7 @@ them normally by showing the standard log dialog.
 
 \wxheading{Derived from}
 
-\helpref{wxLogPassThrough}{wxlogpassthrough}
+\helpref{wxLogInterposer}{wxloginterposer}
 
 \wxheading{Include files}
 
@@ -686,7 +740,7 @@ them normally by showing the standard log dialog.
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxLogWindow::wxLogWindow}
+\membersection{wxLogWindow::wxLogWindow}\label{wxlogwindowctor}
 
 \func{}{wxLogWindow}{\param{wxFrame }{*parent}, \param{const wxChar }{*title}, \param{bool }{show = {\tt true}}, \param{bool }{passToOld = {\tt true}}}
 
@@ -711,14 +765,14 @@ log frame.}
 
 Shows or hides the frame.
 
-\membersection{wxLogWindow::GetFrame}
+\membersection{wxLogWindow::GetFrame}\label{wxlogwindowgetframe}
 
 \constfunc{wxFrame *}{GetFrame}{\void}
 
 Returns the associated log frame window. This may be used to position or resize
 it but use \helpref{wxLogWindow::Show}{wxlogwindowshow} to show or hide it.
 
-\membersection{wxLogWindow::OnFrameCreate}
+\membersection{wxLogWindow::OnFrameCreate}\label{wxlogwindowonframecreate}
 
 \func{virtual void}{OnFrameCreate}{\param{wxFrame }{*frame}}
 
@@ -727,7 +781,7 @@ any extra initializations.
 
 \membersection{wxLogWindow::OnFrameClose}\label{wxlogwindowonframeclose}
 
-\func{virtual void}{OnFrameClose}{\param{wxFrame }{*frame}}
+\func{virtual bool}{OnFrameClose}{\param{wxFrame }{*frame}}
 
 Called if the user closes the window interactively, will not be
 called if it is destroyed for another reason (such as when program