]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_log.i
In the wx.LogXXX function wrappers double all % characters so the log
[wxWidgets.git] / wxPython / src / _log.i
index 22731e46782b2370542aee8608b648b9d85f74f8..17a737e292273c024ac4f7cbdd07b2bd02f20c60 100644 (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);
-
-void wxLogGeneric(unsigned long level, 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);
+
 
 // wxLogFatalError helper: show the (fatal) error to the user in a safe way,
 // i.e. without using wxMessageBox() for example because it could crash