aboutsummaryrefslogtreecommitdiffstats
path: root/lib/wx/api_gen/wx_extra/wxEvtHandler.c_src
diff options
context:
space:
mode:
Diffstat (limited to 'lib/wx/api_gen/wx_extra/wxEvtHandler.c_src')
-rw-r--r--lib/wx/api_gen/wx_extra/wxEvtHandler.c_src66
1 files changed, 66 insertions, 0 deletions
diff --git a/lib/wx/api_gen/wx_extra/wxEvtHandler.c_src b/lib/wx/api_gen/wx_extra/wxEvtHandler.c_src
new file mode 100644
index 0000000000..4e492db045
--- /dev/null
+++ b/lib/wx/api_gen/wx_extra/wxEvtHandler.c_src
@@ -0,0 +1,66 @@
+case 98: { // wxeEvtListener::wxeEvtListener
+ wxeEvtListener *Result = new wxeEvtListener(Ecmd.port);
+ rt.addRef(getRef((void *)Result,memenv), "wxeEvtListener");
+ break;
+}
+case 99: { // wxeEvtListener::destroy
+ wxObject *This = (wxObject *) getPtr(bp,memenv);
+ rt.addAtom("ok");
+ delete This;
+ break;
+}
+
+case 100: { // wxEvtHandler::Connect
+ wxeEvtListener *Listener = (wxeEvtListener *) getPtr(bp,memenv); bp += 4;
+ wxEvtHandler *This = (wxEvtHandler *) getPtr(bp, memenv); bp += 4;
+ int * winid = (int *) bp; bp += 4;
+ int * lastId = (int *) bp; bp += 4;
+ int * skip = (int *) bp; bp += 4;
+ int * haveUserData = (int *) bp; bp += 4;
+ wxeErlTerm * userData = NULL;
+ int * fun_cb = (int *) bp; bp += 4;
+ int * eventTypeLen = (int *) bp; bp += 4;
+ int * class_nameLen = (int *) bp; bp += 4;
+
+ if(*haveUserData) {
+ userData = new wxeErlTerm(Ecmd.bin[0]);
+ }
+
+ int eventType = wxeEventTypeFromAtom(bp); bp += *eventTypeLen;
+ char *class_name = bp; bp+= *class_nameLen;
+ if(eventType > 0 ) {
+ wxeCallbackData * Evt_cb = new wxeCallbackData(Ecmd.caller,(void *) This,
+ class_name,*fun_cb,
+ *skip, userData);
+ This->Connect((int) *winid,(int) *lastId,eventType,
+ (wxObjectEventFunction)(wxEventFunction) &wxeEvtListener::forward,
+ Evt_cb, Listener);
+ rt.addAtom("ok");
+ } else {
+ rt.addAtom("badarg");
+ rt.addAtom("event_type");
+ rt.addTupleCount(2);
+ }
+ break;
+}
+case 101: { // wxEvtHandler::Disconnect
+ wxeEvtListener *Listener = (wxeEvtListener *) getPtr(bp,memenv); bp += 4;
+ wxEvtHandler *This = (wxEvtHandler *) getPtr(bp, memenv); bp += 4;
+ int * winid = (int *) bp; bp += 4;
+ int * lastId = (int *) bp; bp += 4;
+ int * eventTypeLen = (int *) bp; bp += 4;
+
+ int eventType = wxeEventTypeFromAtom(bp); bp += *eventTypeLen;
+ if(eventType > 0) {
+ bool Result = This->Disconnect((int) *winid,(int) *lastId,eventType,
+ (wxObjectEventFunction)(wxEventFunction)
+ &wxeEvtListener::forward,
+ NULL, Listener);
+ rt.addBool(Result);
+ } else {
+ rt.addAtom("badarg");
+ rt.addAtom("event_type");
+ rt.addTupleCount(2);
+ }
+ break;
+}