log.tex
来自「Wxpython Implemented on Windows CE, Sou」· TEX 代码 · 共 752 行 · 第 1/2 页
TEX
752 行
\helpref{SetActiveTarget}{wxlogsetactivetarget} 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 \helpref{wxLogGui}{wxlogoverview} does by default.
Example of usage:
\begin{verbatim}
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...);
\end{verbatim}
\wxheading{Derived from}
\helpref{wxLog}{wxlog}
\wxheading{Include files}
<wx/log.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\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}}\label{wxlogchaindtor}
\func{}{\destruct{wxLogChain}}{\void}
Destroys the previous log target.
\membersection{wxLogChain::GetOldLog}\label{wxlogchaingetoldlog}
\constfunc{wxLog *}{GetOldLog}{\void}
Returns the pointer to the previously active log target (which may be {\tt
NULL}).
\membersection{wxLogChain::IsPassingMessages}\label{wxlogchainispassingmessages}
\constfunc{bool}{IsPassingMessages}{\void}
Returns {\tt true} if the messages are passed to the previously active log
target (default) or {\tt false} if \helpref{PassMessages}{wxlogchainpassmessages}
had been called.
\membersection{wxLogChain::PassMessages}\label{wxlogchainpassmessages}
\func{void}{PassMessages}{\param{bool }{passMessages}}
By default, the log messages are passed to the previously active log target.
Calling this function with {\tt 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 {\it passMessages} set to {\tt
true}.
\membersection{wxLogChain::SetLog}\label{wxlogchainsetlog}
\func{void}{SetLog}{\param{wxLog *}{logger}}
Sets another log target to use (may be {\tt NULL}). The log target specified
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
forwarded to) which still remains the same as was active when wxLogChain
object was created.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogGui %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxLogGui}}\label{wxloggui}
This is the default log target for the GUI wxWidgets applications. It is passed
to \helpref{wxLog::SetActiveTarget}{wxlogsetactivetarget} at the program
startup and is deleted by wxWidgets during the program shut down.
\wxheading{Derived from}
\helpref{wxLog}{wxlog}
\wxheading{Include files}
<wx/log.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxLogGui::wxLogGui}\label{wxlogguictor}
\func{}{wxLogGui}{\void}
Default constructor.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogNull %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxLogNull}}\label{wxlognull}
This class allows to temporarily suspend logging. All calls to the log
functions during the life time of an object of this class are just ignored.
In particular, it can be used to suppress the log messages given by wxWidgets
itself but it should be noted that it is rarely the best way to cope with this
problem as {\bf all} log messages are suppressed, even if they indicate a
completely different error than the one the programmer wanted to suppress.
For instance, the example of the overview:
{\small
\begin{verbatim}
wxFile file;
// wxFile.Open() normally complains if file can't be opened, we don't want it
{
wxLogNull logNo;
if ( !file.Open("bar") )
... process error ourselves ...
} // ~wxLogNull called, old log sink restored
wxLogMessage("..."); // ok
\end{verbatim}
}%
would be better written as:
{\small
\begin{verbatim}
wxFile file;
// don't try to open file if it doesn't exist, we are prepared to deal with
// this ourselves - but all other errors are not expected
if ( wxFile::Exists("bar") )
{
// gives an error message if the file couldn't be opened
file.Open("bar");
}
else
{
...
}
\end{verbatim}
}%
\wxheading{Derived from}
\helpref{wxLog}{wxlog}
\wxheading{Include files}
<wx/log.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxLogNull::wxLogNull}\label{wxlognullctor}
\func{}{wxLogNull}{\void}
Suspends logging.
\membersection{wxLogNull::\destruct{wxLogNull}}\label{wxlognulldtor}
Resumes logging.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogPassThrough %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxLogPassThrough}}\label{wxlogpassthrough}
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
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.
\wxheading{Derived from}
\helpref{wxLogChain}{wxlogchain}
\wxheading{Include files}
<wx/log.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxLogPassThrough::wxLogPassThrough}\label{wxlogpassthroughctor}
Default ctor installs this object as the current active log target.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogStderr %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxLogStderr}}\label{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 {\tt stderr}.
\wxheading{Derived from}
\helpref{wxLog}{wxlog}
\wxheading{Include files}
<wx/log.h>
\wxheading{See also}
\helpref{wxLogStream}{wxlogstream}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxLogStderr::wxLogStderr}\label{wxlogstderrctor}
\func{}{wxLogStderr}{\param{FILE }{*fp = NULL}}
Constructs a log target which sends all the log messages to the given
{\tt FILE}. If it is {\tt NULL}, the messages are sent to {\tt stderr}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogStream %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxLogStream}}\label{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 ({\tt wxUSE\_STD\_IOSTREAM} must be on).
\wxheading{Derived from}
\helpref{wxLog}{wxlog}
\wxheading{Include files}
<wx/log.h>
\wxheading{See also}
\helpref{wxLogStderr}{wxlogstderr},\\
\helpref{wxStreamToTextRedirector}{wxstreamtotextredirector}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxLogStream::wxLogStream}\label{wxlogstreamctor}
\func{}{wxLogStream}{\param{std::ostream }{*ostr = NULL}}
Constructs a log target which sends all the log messages to the given
output stream. If it is {\tt NULL}, the messages are sent to {\tt cerr}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogTextCtrl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxLogTextCtrl}}\label{wxlogtextctrl}
Using these target all the log messages can be redirected to a text control.
The text control must have been created with {\tt wxTE\_MULTILINE} style by the
caller previously.
\wxheading{Derived from}
\helpref{wxLog}{wxlog}
\wxheading{Include files}
<wx/log.h>
\wxheading{See also}
\helpref{wxTextCtrl}{wxtextctrl},\\
\helpref{wxStreamToTextRedirector}{wxstreamtotextredirector}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxLogTextCtrl::wxLogTextCtrl}\label{wxlogtextctrlctor}
\func{}{wxLogTextCtrl}{\param{wxTextCtrl }{*textctrl}}
Constructs a log target which sends all the log messages to the given text
control. The {\it textctrl} parameter cannot be {\tt NULL}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxLogWindow %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxLogWindow}}\label{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, for
example, to show all the log messages in a frame but still continue to process
them normally by showing the standard log dialog.
\wxheading{Derived from}
\helpref{wxLogPassThrough}{wxlogpassthrough}
\wxheading{Include files}
<wx/log.h>
\wxheading{See also}
\helpref{wxLogTextCtrl}{wxlogtextctrl}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxLogWindow::wxLogWindow}\label{wxlogwindowctor}
\func{}{wxLogWindow}{\param{wxFrame }{*parent}, \param{const wxChar }{*title}, \param{bool }{show = {\tt true}}, \param{bool }{passToOld = {\tt true}}}
Creates the log frame window and starts collecting the messages in it.
\wxheading{Parameters}
\docparam{parent}{The parent window for the log frame, may be {\tt NULL}}
\docparam{title}{The title for the log frame}
\docparam{show}{{\tt true} to show the frame initially (default), otherwise
\helpref{wxLogWindow::Show}{wxlogwindowshow} must be called later.}
\docparam{passToOld}{{\tt true} to process the log messages normally in addition to
logging them in the log frame (default), {\tt false} to only log them in the
log frame.}
\membersection{wxLogWindow::Show}\label{wxlogwindowshow}
\func{void}{Show}{\param{bool }{show = {\tt true}}}
Shows or hides the frame.
\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}\label{wxlogwindowonframecreate}
\func{virtual void}{OnFrameCreate}{\param{wxFrame }{*frame}}
Called immediately after the log frame creation allowing for
any extra initializations.
\membersection{wxLogWindow::OnFrameClose}\label{wxlogwindowonframeclose}
\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
exits).
Return {\tt true} from here to allow the frame to close, {\tt false} to
prevent this from happening.
\wxheading{See also}
\helpref{wxLogWindow::OnFrameDelete}{wxlogwindowonframedelete}
\membersection{wxLogWindow::OnFrameDelete}\label{wxlogwindowonframedelete}
\func{virtual void}{OnFrameDelete}{\param{wxFrame }{*frame}}
Called right before the log frame is going to be deleted: will
always be called unlike \helpref{OnFrameClose()}{wxlogwindowonframeclose}.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?