X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a66212dcdf3f4b2d4e2b1d1dc45f2ff35bd51bfd..4bc6e5c51af44eb04313ae14f390f3780dfea346:/wxPython/src/misc2.i diff --git a/wxPython/src/misc2.i b/wxPython/src/misc2.i index ef93904448..5e080982f0 100644 --- a/wxPython/src/misc2.i +++ b/wxPython/src/misc2.i @@ -468,6 +468,9 @@ IMP_PYCALLBACK_STRING__pure( wxPyTipProvider, wxTipProvider, GetTip); class wxPyTipProvider : public wxTipProvider { public: wxPyTipProvider(size_t currentTip); + + void _setCallbackInfo(PyObject* self, PyObject* _class); + %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyTipProvider)" }; @@ -563,6 +566,27 @@ enum wxLOG_User = 100 // user defined levels start here }; +#define wxTRACE_MemAlloc "memalloc" // trace memory allocation (new/delete) +#define wxTRACE_Messages "messages" // trace window messages/X callbacks +#define wxTRACE_ResAlloc "resalloc" // trace GDI resource allocation +#define wxTRACE_RefCount "refcount" // trace various ref counting operations + +#ifdef __WXMSW__ +#define wxTRACE_OleCalls "ole" // OLE interface calls +#endif + +enum { + wxTraceMemAlloc, + wxTraceMessages, + wxTraceResAlloc, + wxTraceRefCount, + +#ifdef __WXMSW__ + wxTraceOleCalls, +#endif +}; + + class wxLog { @@ -571,7 +595,7 @@ public: static bool IsEnabled(); static bool EnableLogging(bool doIt = TRUE); - static void OnLog(wxLogLevel level, const wxString& szString, int t=0); + static void OnLog(unsigned long level, const wxString& szString, int t=0); virtual void Flush(); bool HasPendingMessages() const; @@ -586,7 +610,7 @@ public: static void SetVerbose(bool bVerbose = TRUE); static void DontCreateOnDemand(); - static void SetTraceMask(wxTraceMask ulMask); + static void SetTraceMask(long ulMask); static void AddTraceMask(const wxString& str); static void RemoveTraceMask(const wxString& str); static void ClearTraceMasks(); @@ -596,7 +620,7 @@ public: bool GetVerbose() const; - static wxTraceMask GetTraceMask(); + static unsigned long GetTraceMask(); static bool IsAllowedTraceMask(const wxString& mask); // static void TimeStamp(wxString *str); @@ -660,15 +684,20 @@ public: unsigned long wxSysErrorCode(); const wxString wxSysErrorMsg(unsigned long nErrCode = 0); -void wxLogFatalError(const wxString& szFormat); -void wxLogError(const wxString& szFormat); -void wxLogWarning(const wxString& szFormat); -void wxLogMessage(const wxString& szFormat); -void wxLogInfo(const wxString& szFormat); -void wxLogVerbose(const wxString& szFormat); -void wxLogStatus(const wxString& szFormat); -%name(wxLogStatusFrame)void wxLogStatus(wxFrame *pFrame, const wxString& szFormat); -void wxLogSysError(const wxString& szFormat); +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 wxLogVerbose(const wxString& msg); +void wxLogStatus(const wxString& msg); +%name(wxLogStatusFrame)void wxLogStatus(wxFrame *pFrame, const wxString& msg); +void wxLogSysError(const wxString& msg); + +void wxLogTrace(const wxString& msg); +%name(wxLogTraceMask)void wxLogTrace(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 @@ -737,12 +766,47 @@ public: //---------------------------------------------------------------------- +enum wxKillError +{ + wxKILL_OK, // no error + wxKILL_BAD_SIGNAL, // no such signal + wxKILL_ACCESS_DENIED, // permission denied + wxKILL_NO_PROCESS, // no such process + wxKILL_ERROR // another, unspecified error +}; + +enum wxSignal +{ + wxSIGNONE = 0, // verify if the process exists under Unix + wxSIGHUP, + wxSIGINT, + wxSIGQUIT, + wxSIGILL, + wxSIGTRAP, + wxSIGABRT, + wxSIGIOT = wxSIGABRT, // another name + wxSIGEMT, + wxSIGFPE, + wxSIGKILL, + wxSIGBUS, + wxSIGSEGV, + wxSIGSYS, + wxSIGPIPE, + wxSIGALRM, + wxSIGTERM + + // further signals are different in meaning between different Unix systems +}; + + + enum { /* event type */ wxEVT_END_PROCESS }; + class wxProcessEvent : public wxEvent { public: wxProcessEvent(int id = 0, int pid = 0, int exitcode = 0); @@ -774,6 +838,23 @@ IMP_PYCALLBACK_VOID_INTINT( wxPyProcess, wxProcess, OnTerminate); %name(wxProcess)class wxPyProcess : public wxEvtHandler { public: + // kill the process with the given PID + static wxKillError Kill(int pid, wxSignal sig = wxSIGTERM); + + // test if the given process exists + static bool Exists(int pid); + + // this function replaces the standard popen() one: it launches a process + // asynchronously and allows the caller to get the streams connected to its + // std{in|out|err} + // + // on error NULL is returned, in any case the process object will be + // deleted automatically when the process terminates and should *not* be + // deleted by the caller + static wxPyProcess *Open(const wxString& cmd, int flags = wxEXEC_ASYNC); + + + wxPyProcess(wxEvtHandler *parent = NULL, int id = -1); %addmethods { void Destroy() { delete self; } } @@ -818,6 +899,25 @@ long wxExecute(const wxString& command, //---------------------------------------------------------------------- + +// Which joystick? Same as Windows ids so no conversion necessary. +enum +{ + wxJOYSTICK1, + wxJOYSTICK2 +}; + +// Which button is down? +enum +{ + wxJOY_BUTTON_ANY, + wxJOY_BUTTON1, + wxJOY_BUTTON2, + wxJOY_BUTTON3, + wxJOY_BUTTON4, +}; + + %{ #if !wxUSE_JOYSTICK && !defined(__WXMSW__) // A C++ stub class for wxJoystick for platforms that don't have it. @@ -1512,11 +1612,24 @@ public: //---------------------------------------------------------------------- //---------------------------------------------------------------------- +// %{ +// #if wxUSE_UNICODE +// #define ADD_STRING(dict, str) \ +// wxString tmp##str(str); \ +// PyDict_SetItemString(dict, #str, \ +// PyUnicode_FromUnicode(tmp##str.c_str(), tmp##str.Len())) +// #else +// #define ADD_STRING(dict, str) \ +// PyDict_SetItemString(d, #str, PyString_FromString(str)) +// #endif +// %} + %init %{ wxPyPtrTypeMap_Add("wxDragImage", "wxGenericDragImage"); wxPyPtrTypeMap_Add("wxProcess", "wxPyProcess"); wxPyPtrTypeMap_Add("wxArtProvider", "wxPyArtProvider"); + %} //----------------------------------------------------------------------