diff -r 0cdb8089a29f -r a38aec91bd66 ui/wpf/UIwrapper/UIwrapper/toolkit.cpp --- a/ui/wpf/UIwrapper/UIwrapper/toolkit.cpp Tue Jan 27 09:59:32 2015 +0100 +++ b/ui/wpf/UIwrapper/UIwrapper/toolkit.cpp Sat Jan 31 11:51:54 2015 +0100 @@ -23,22 +23,36 @@ // EventWrapper -EventWrapper::EventWrapper(UIcallback callback, void *eventdata) { +ObjEventWrapper::ObjEventWrapper(UIcallback callback, void *eventdata) { this->callback = callback; - this->userdata = eventdata; - action = gcnew Action(this, &EventWrapper::Callback); + this->eventdata = eventdata; + action = gcnew Action(this, &ObjEventWrapper::Callback); } -Action^ EventWrapper::GetAction() { +Action^ ObjEventWrapper::GetAction() { return action; } -void EventWrapper::Callback(IntPtr uiobj) { +void ObjEventWrapper::Callback(IntPtr uiobj) { if (callback) { - callback(uiobj.ToPointer(), userdata); + callback(uiobj.ToPointer(), eventdata); } } + +EventWrapper::EventWrapper(UIcallback callback, void *eventdata) { + this->callback = callback; + this->eventdata = eventdata; +} + +void EventWrapper::Callback(Object ^sender, RoutedEventArgs ^e) { + if (callback) { + callback(NULL, eventdata); + } +} + + + UI_EXPORT void __stdcall UIinit(char *appname) { UI::Application ^app = UI::Application::GetInstance(); app->Name = gcnew String(appname); @@ -49,7 +63,6 @@ thread->Join(); } -UI_EXPORT void __stdcall UIshow(void *wptr) { - UI::MainWindow ^window = (UI::MainWindow^)PtrToObject(wptr); - window->ShowWindow(); +UI_EXPORT void __stdcall UIshow(gcroot *window) { + (*window)->ShowWindow(); }