In the wx.LogXXX function wrappers double all % characters so the log

function won't try to do parameter substitutions.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn 2004-11-30 22:10:31 +00:00
parent 842215bbb7
commit 4e819f106b
3 changed files with 112 additions and 28 deletions

View File

@ -209,18 +209,6 @@
%rename(LogChain) wxLogChain;
%rename(SysErrorCode) wxSysErrorCode;
%rename(SysErrorMsg) wxSysErrorMsg;
%rename(LogFatalError) wxLogFatalError;
%rename(LogError) wxLogError;
%rename(LogWarning) wxLogWarning;
%rename(LogMessage) wxLogMessage;
%rename(LogInfo) wxLogInfo;
%rename(LogDebug) wxLogDebug;
%rename(LogVerbose) wxLogVerbose;
%rename(LogStatus) wxLogStatus;
%rename(LogSysError) wxLogSysError;
%rename(LogTrace) wxLogTrace;
%rename(LogTrace) wxLogTrace;
%rename(LogGeneric) wxLogGeneric;
%rename(SafeShowMessage) wxSafeShowMessage;
%rename(LogNull) wxLogNull;
%rename(PyLog) wxPyLog;

View File

@ -207,22 +207,118 @@ public:
unsigned long wxSysErrorCode();
const wxString wxSysErrorMsg(unsigned long nErrCode = 0);
void wxLogFatalError(const wxString& msg);
void wxLogError(const wxString& msg);
void wxLogWarning(const wxString& msg);
void wxLogMessage(const wxString& msg);
void wxLogInfo(const wxString& msg);
void wxLogDebug(const wxString& msg);
void wxLogVerbose(const wxString& msg);
void wxLogStatus(const wxString& msg);
%name(LogStatusFrame)void wxLogStatus(wxFrame *pFrame, const wxString& msg);
void wxLogSysError(const wxString& msg);
%nokwargs wxLogTrace;
void wxLogTrace(unsigned long mask, const wxString& msg);
void wxLogTrace(const wxString& mask, const wxString& msg);
%{// Make somce wrappers that double any % signs so they are 'escaped'
void wxPyLogFatalError(const wxString& msg)
{
wxString m(msg);
m.Replace(wxT("%"), wxT("%%"));
wxLogFatalError(m);
}
void wxPyLogError(const wxString& msg)
{
wxString m(msg);
m.Replace(wxT("%"), wxT("%%"));
wxLogError(m);
}
void wxPyLogWarning(const wxString& msg)
{
wxString m(msg);
m.Replace(wxT("%"), wxT("%%"));
wxLogWarning(m);
}
void wxPyLogMessage(const wxString& msg)
{
wxString m(msg);
m.Replace(wxT("%"), wxT("%%"));
wxLogMessage(m);
}
void wxPyLogInfo(const wxString& msg)
{
wxString m(msg);
m.Replace(wxT("%"), wxT("%%"));
wxLogInfo(m);
}
void wxPyLogDebug(const wxString& msg)
{
wxString m(msg);
m.Replace(wxT("%"), wxT("%%"));
wxLogDebug(m);
}
void wxPyLogVerbose(const wxString& msg)
{
wxString m(msg);
m.Replace(wxT("%"), wxT("%%"));
wxLogVerbose(m);
}
void wxPyLogStatus(const wxString& msg)
{
wxString m(msg);
m.Replace(wxT("%"), wxT("%%"));
wxLogStatus(m);
}
void wxPyLogStatusFrame(wxFrame *pFrame, const wxString& msg)
{
wxString m(msg);
m.Replace(wxT("%"), wxT("%%"));
wxLogStatus(pFrame, m);
}
void wxPyLogSysError(const wxString& msg)
{
wxString m(msg);
m.Replace(wxT("%"), wxT("%%"));
wxLogSysError(m);
}
void wxPyLogGeneric(unsigned long level, const wxString& msg)
{
wxString m(msg);
m.Replace(wxT("%"), wxT("%%"));
wxLogGeneric(level, m);
}
void wxPyLogTrace(unsigned long mask, const wxString& msg)
{
wxString m(msg);
m.Replace(wxT("%"), wxT("%%"));
wxLogTrace(mask, m);
}
void wxPyLogTrace(const wxString& mask, const wxString& msg)
{
wxString m(msg);
m.Replace(wxT("%"), wxT("%%"));
wxLogTrace(mask, m);
}
%}
%name(LogFatalError) void wxPyLogFatalError(const wxString& msg);
%name(LogError) void wxPyLogError(const wxString& msg);
%name(LogWarning) void wxPyLogWarning(const wxString& msg);
%name(LogMessage) void wxPyLogMessage(const wxString& msg);
%name(LogInfo) void wxPyLogInfo(const wxString& msg);
%name(LogDebug) void wxPyLogDebug(const wxString& msg);
%name(LogVerbose) void wxPyLogVerbose(const wxString& msg);
%name(LogStatus) void wxPyLogStatus(const wxString& msg);
%name(LogStatusFrame) void wxPyLogStatusFrame(wxFrame *pFrame, const wxString& msg);
%name(LogSysError) void wxPyLogSysError(const wxString& msg);
%name(LogGeneric) void wxPyLogGeneric(unsigned long level, const wxString& msg);
%nokwargs wxPyLogTrace;
%name(LogTrace) void wxPyLogTrace(unsigned long mask, const wxString& msg);
%name(LogTrace) void wxPyLogTrace(const wxString& mask, const wxString& msg);
void wxLogGeneric(unsigned long level, const wxString& msg);
// wxLogFatalError helper: show the (fatal) error to the user in a safe way,
// i.e. without using wxMessageBox() for example because it could crash

View File

@ -300,9 +300,9 @@ wxLogVerbose = wx._misc.LogVerbose
wxLogStatus = wx._misc.LogStatus
wxLogStatusFrame = wx._misc.LogStatusFrame
wxLogSysError = wx._misc.LogSysError
wxLogTrace = wx._misc.LogTrace
wxLogTrace = wx._misc.LogTrace
wxLogGeneric = wx._misc.LogGeneric
wxLogTrace = wx._misc.LogTrace
wxLogTrace = wx._misc.LogTrace
wxSafeShowMessage = wx._misc.SafeShowMessage
wxLogNull = wx._misc.LogNull
wxLogNullPtr = wx._misc.LogNullPtr