Add exemple for redirecting cout
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
a40860394c
commit
fe482327a5
@ -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}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user