From fe482327a58c0b477cbe83111b17ad493e2a7eca Mon Sep 17 00:00:00 2001 From: Sylvain Bougnoux Date: Wed, 23 Feb 2000 13:17:14 +0000 Subject: [PATCH] Add exemple for redirecting cout git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/log.tex | 11 ++++++----- docs/latex/wx/tlog.tex | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/docs/latex/wx/log.tex b/docs/latex/wx/log.tex index 3c8d763200..6704cdd0a2 100644 --- a/docs/latex/wx/log.tex +++ b/docs/latex/wx/log.tex @@ -62,13 +62,14 @@ without writing a new log target class (which, aside of being a matter of several minutes, allows you to do anything you want). The verbose messages are the trace messages which are not disabled in the -release mode and are generated by \helpref{wxLogVerbose}{wxlogverbose}. They are not normally -shown to the user because they present little interest, but may be activated, -for example, in order to help the user find some program problem. +release mode and are generated by \helpref{wxLogVerbose}{wxlogverbose}. They +are not normally shown to the user because they present little interest, but +may be activated, for example, in order to help the user find some program +problem. As for the (real) trace messages, their handling depends on the settings of the (application global) {\it trace mask}. There are two ways to specify it: -either by using helpref{SetTraceMask}{wxlogsettracemask} and +either by using \helpref{SetTraceMask}{wxlogsettracemask} and \helpref{GetTraceMask}{wxloggettracemask} and using \helpref{wxLogTrace}{wxlogtrace} which takes an integer mask or by using \helpref{AddTraceMask}{wxlogaddtracemask} for string trace masks. @@ -87,7 +88,7 @@ will do something only if the current trace mask contains both {\tt wxTraceRefCount} and {\tt wxTraceOle}, but \begin{verbatim} // wxTRACE_OleCalls is one of standard string masks -wxLogTrace(wxTACE_OleCalls, "IFoo::Bar() called"); +wxLogTrace(wxTRACE_OleCalls, "IFoo::Bar() called"); \end{verbatim} will log the message if it was preceded by \begin{verbatim} diff --git a/docs/latex/wx/tlog.tex b/docs/latex/wx/tlog.tex index 7db8f6c4ee..f123323aa0 100644 --- a/docs/latex/wx/tlog.tex +++ b/docs/latex/wx/tlog.tex @@ -68,6 +68,26 @@ Although it works just fine under Unix, these messages go strictly nowhere under Windows where the stdout of GUI programs is not assigned to anything. Thus, you might view {\it wxLogMessage()} as a simple substitute for {\it printf()}. + +Moreover {\it wxMSW} doesn't have a {\bf console} as you may have with {\it + wxGTK}. Under {\it wxMSW}, a call using {\it cout} just goes nowhere. To +cope with this problem, {\it wxWindows} provides a way to redirect {\it cout} +calls to \helpref{wxTreeCtrl}{wxtreectrl}, {\it i.e.}: +{\small +\begin{verbatim} + wxLogWindow *logger=new wxLogWindow(your_frame,"Logger"); + cout=*new ostream(logger->GetTextCtrl()); + wxLog::SetActiveTarget(logger); +\end{verbatim} +} +On the opposite, if you like your {\it wxLogXXX} calls to behave as a {\it cout} +call does, just write : +{\small +\begin{verbatim} + wxLog *logger=new wxLogStream(&cout); + wxLog::SetActiveTarget(logger); +\end{verbatim} +} \item{\bf Flexibility} The output of wxLog functions can be redirected or suppressed entirely based on their importance, which is either impossible or difficult to do with traditional methods. For example, only error messages, or