+// 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);
+ }
+
+