A fix for Python 2.2 which can sometimes call __wxCleanup before all
the other wxPython objects have been deleted. Other various things to match recent CVS changes in wx. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -6192,6 +6192,48 @@ static PyObject *_wrap_wxNotifyEvent_Veto(PyObject *self, PyObject *args, PyObje
|
||||
return _resultobj;
|
||||
}
|
||||
|
||||
static void *SwigwxDisplayChangedEventTowxEvent(void *ptr) {
|
||||
wxDisplayChangedEvent *src;
|
||||
wxEvent *dest;
|
||||
src = (wxDisplayChangedEvent *) ptr;
|
||||
dest = (wxEvent *) src;
|
||||
return (void *) dest;
|
||||
}
|
||||
|
||||
static void *SwigwxDisplayChangedEventTowxObject(void *ptr) {
|
||||
wxDisplayChangedEvent *src;
|
||||
wxObject *dest;
|
||||
src = (wxDisplayChangedEvent *) ptr;
|
||||
dest = (wxObject *) src;
|
||||
return (void *) dest;
|
||||
}
|
||||
|
||||
#define new_wxDisplayChangedEvent() (new wxDisplayChangedEvent())
|
||||
static PyObject *_wrap_new_wxDisplayChangedEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
|
||||
PyObject * _resultobj;
|
||||
wxDisplayChangedEvent * _result;
|
||||
char *_kwnames[] = { NULL };
|
||||
char _ptemp[128];
|
||||
|
||||
self = self;
|
||||
if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxDisplayChangedEvent",_kwnames))
|
||||
return NULL;
|
||||
{
|
||||
PyThreadState* __tstate = wxPyBeginAllowThreads();
|
||||
_result = (wxDisplayChangedEvent *)new_wxDisplayChangedEvent();
|
||||
|
||||
wxPyEndAllowThreads(__tstate);
|
||||
if (PyErr_Occurred()) return NULL;
|
||||
} if (_result) {
|
||||
SWIG_MakePtr(_ptemp, (char *) _result,"_wxDisplayChangedEvent_p");
|
||||
_resultobj = Py_BuildValue("s",_ptemp);
|
||||
} else {
|
||||
Py_INCREF(Py_None);
|
||||
_resultobj = Py_None;
|
||||
}
|
||||
return _resultobj;
|
||||
}
|
||||
|
||||
static void *SwigwxPaletteChangedEventTowxEvent(void *ptr) {
|
||||
wxPaletteChangedEvent *src;
|
||||
wxEvent *dest;
|
||||
@@ -7097,6 +7139,7 @@ static PyMethodDef eventscMethods[] = {
|
||||
{ "wxPaletteChangedEvent_GetChangedWindow", (PyCFunction) _wrap_wxPaletteChangedEvent_GetChangedWindow, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxPaletteChangedEvent_SetChangedWindow", (PyCFunction) _wrap_wxPaletteChangedEvent_SetChangedWindow, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "new_wxPaletteChangedEvent", (PyCFunction) _wrap_new_wxPaletteChangedEvent, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "new_wxDisplayChangedEvent", (PyCFunction) _wrap_new_wxDisplayChangedEvent, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxNotifyEvent_Veto", (PyCFunction) _wrap_wxNotifyEvent_Veto, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxNotifyEvent_Allow", (PyCFunction) _wrap_wxNotifyEvent_Allow, METH_VARARGS | METH_KEYWORDS },
|
||||
{ "wxNotifyEvent_IsAllowed", (PyCFunction) _wrap_wxNotifyEvent_IsAllowed, METH_VARARGS | METH_KEYWORDS },
|
||||
@@ -7306,6 +7349,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
|
||||
{ "_wxEvent","_wxWindowCreateEvent",SwigwxWindowCreateEventTowxEvent},
|
||||
{ "_wxEvent","_wxQueryNewPaletteEvent",SwigwxQueryNewPaletteEventTowxEvent},
|
||||
{ "_wxEvent","_wxPaletteChangedEvent",SwigwxPaletteChangedEventTowxEvent},
|
||||
{ "_wxEvent","_wxDisplayChangedEvent",SwigwxDisplayChangedEventTowxEvent},
|
||||
{ "_wxEvent","_wxNotifyEvent",SwigwxNotifyEventTowxEvent},
|
||||
{ "_wxEvent","_wxSysColourChangedEvent",SwigwxSysColourChangedEventTowxEvent},
|
||||
{ "_wxEvent","_wxUpdateUIEvent",SwigwxUpdateUIEventTowxEvent},
|
||||
@@ -7396,6 +7440,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
|
||||
{ "_wxObject","_wxWindowCreateEvent",SwigwxWindowCreateEventTowxObject},
|
||||
{ "_wxObject","_wxQueryNewPaletteEvent",SwigwxQueryNewPaletteEventTowxObject},
|
||||
{ "_wxObject","_wxPaletteChangedEvent",SwigwxPaletteChangedEventTowxObject},
|
||||
{ "_wxObject","_wxDisplayChangedEvent",SwigwxDisplayChangedEventTowxObject},
|
||||
{ "_wxObject","_wxNotifyEvent",SwigwxNotifyEventTowxObject},
|
||||
{ "_wxObject","_wxSysColourChangedEvent",SwigwxSysColourChangedEventTowxObject},
|
||||
{ "_wxObject","_wxUpdateUIEvent",SwigwxUpdateUIEventTowxObject},
|
||||
|
||||
@@ -874,6 +874,20 @@ class wxNotifyEvent(wxNotifyEventPtr):
|
||||
|
||||
|
||||
|
||||
class wxDisplayChangedEventPtr(wxEventPtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
def __repr__(self):
|
||||
return "<C wxDisplayChangedEvent instance at %s>" % (self.this,)
|
||||
class wxDisplayChangedEvent(wxDisplayChangedEventPtr):
|
||||
def __init__(self,*_args,**_kwargs):
|
||||
self.this = apply(eventsc.new_wxDisplayChangedEvent,_args,_kwargs)
|
||||
self.thisown = 1
|
||||
|
||||
|
||||
|
||||
|
||||
class wxPaletteChangedEventPtr(wxEventPtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
|
||||
@@ -2627,6 +2627,7 @@ SWIGEXPORT(void) initwxc() {
|
||||
PyDict_SetItemString(d,"wxEVT_MENU_HIGHLIGHT", PyInt_FromLong((long) wxEVT_MENU_HIGHLIGHT));
|
||||
PyDict_SetItemString(d,"wxEVT_POPUP_MENU_INIT", PyInt_FromLong((long) wxEVT_POPUP_MENU_INIT));
|
||||
PyDict_SetItemString(d,"wxEVT_SYS_COLOUR_CHANGED", PyInt_FromLong((long) wxEVT_SYS_COLOUR_CHANGED));
|
||||
PyDict_SetItemString(d,"wxEVT_DISPLAY_CHANGED", PyInt_FromLong((long) wxEVT_DISPLAY_CHANGED));
|
||||
PyDict_SetItemString(d,"wxEVT_SETTING_CHANGED", PyInt_FromLong((long) wxEVT_SETTING_CHANGED));
|
||||
PyDict_SetItemString(d,"wxEVT_QUERY_NEW_PALETTE", PyInt_FromLong((long) wxEVT_QUERY_NEW_PALETTE));
|
||||
PyDict_SetItemString(d,"wxEVT_PALETTE_CHANGED", PyInt_FromLong((long) wxEVT_PALETTE_CHANGED));
|
||||
|
||||
@@ -859,6 +859,7 @@ wxEVT_MENU_INIT = wxc.wxEVT_MENU_INIT
|
||||
wxEVT_MENU_HIGHLIGHT = wxc.wxEVT_MENU_HIGHLIGHT
|
||||
wxEVT_POPUP_MENU_INIT = wxc.wxEVT_POPUP_MENU_INIT
|
||||
wxEVT_SYS_COLOUR_CHANGED = wxc.wxEVT_SYS_COLOUR_CHANGED
|
||||
wxEVT_DISPLAY_CHANGED = wxc.wxEVT_DISPLAY_CHANGED
|
||||
wxEVT_SETTING_CHANGED = wxc.wxEVT_SETTING_CHANGED
|
||||
wxEVT_QUERY_NEW_PALETTE = wxc.wxEVT_QUERY_NEW_PALETTE
|
||||
wxEVT_PALETTE_CHANGED = wxc.wxEVT_PALETTE_CHANGED
|
||||
@@ -990,6 +991,9 @@ def EVT_INIT_DIALOG(win, func):
|
||||
def EVT_SYS_COLOUR_CHANGED(win, func):
|
||||
win.Connect(-1, -1, wxEVT_SYS_COLOUR_CHANGED, func)
|
||||
|
||||
def EVT_DISPLAY_CHANGED(win, func):
|
||||
win.Connect(-1, -1, wxEVT_DISPLAY_CHANGED, func)
|
||||
|
||||
def EVT_SHOW(win, func):
|
||||
win.Connect(-1, -1, wxEVT_SHOW, func)
|
||||
|
||||
@@ -1664,13 +1668,20 @@ class wxPyWidgetTester(wxApp):
|
||||
# unloaded, the refcount on __cleanMeUp goes to zero and it calls the
|
||||
# wxApp_CleanUp function.
|
||||
|
||||
class __wxPyCleanup:
|
||||
def __init__(self):
|
||||
self.cleanup = wxc.wxApp_CleanUp
|
||||
def __del__(self):
|
||||
self.cleanup()
|
||||
## class __wxPyCleanup:
|
||||
## def __init__(self):
|
||||
## self.cleanup = wxc.wxApp_CleanUp
|
||||
## def __del__(self):
|
||||
## self.cleanup()
|
||||
|
||||
## __cleanMeUp = __wxPyCleanup()
|
||||
|
||||
if sys.version[0] == '2':
|
||||
import atexit
|
||||
atexit.register(wxc.wxApp_CleanUp)
|
||||
else:
|
||||
sys.exitfunc = wxc.wxApp_CleanUp
|
||||
|
||||
__cleanMeUp = __wxPyCleanup()
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user