ui/wpf/UIwrapper/UIwrapper/toolkit.cpp

changeset 83
a38aec91bd66
parent 82
0cdb8089a29f
child 135
b9dc9cdfa23a
equal deleted inserted replaced
82:0cdb8089a29f 83:a38aec91bd66
21 return object; 21 return object;
22 } 22 }
23 23
24 // EventWrapper 24 // EventWrapper
25 25
26 EventWrapper::EventWrapper(UIcallback callback, void *eventdata) { 26 ObjEventWrapper::ObjEventWrapper(UIcallback callback, void *eventdata) {
27 this->callback = callback; 27 this->callback = callback;
28 this->userdata = eventdata; 28 this->eventdata = eventdata;
29 action = gcnew Action<IntPtr>(this, &EventWrapper::Callback); 29 action = gcnew Action<IntPtr>(this, &ObjEventWrapper::Callback);
30 } 30 }
31 31
32 Action<IntPtr>^ EventWrapper::GetAction() { 32 Action<IntPtr>^ ObjEventWrapper::GetAction() {
33 return action; 33 return action;
34 } 34 }
35 35
36 void EventWrapper::Callback(IntPtr uiobj) { 36 void ObjEventWrapper::Callback(IntPtr uiobj) {
37 if (callback) { 37 if (callback) {
38 callback(uiobj.ToPointer(), userdata); 38 callback(uiobj.ToPointer(), eventdata);
39 } 39 }
40 } 40 }
41
42
43 EventWrapper::EventWrapper(UIcallback callback, void *eventdata) {
44 this->callback = callback;
45 this->eventdata = eventdata;
46 }
47
48 void EventWrapper::Callback(Object ^sender, RoutedEventArgs ^e) {
49 if (callback) {
50 callback(NULL, eventdata);
51 }
52 }
53
54
41 55
42 UI_EXPORT void __stdcall UIinit(char *appname) { 56 UI_EXPORT void __stdcall UIinit(char *appname) {
43 UI::Application ^app = UI::Application::GetInstance(); 57 UI::Application ^app = UI::Application::GetInstance();
44 app->Name = gcnew String(appname); 58 app->Name = gcnew String(appname);
45 } 59 }
47 UI_EXPORT void __stdcall UImain() { 61 UI_EXPORT void __stdcall UImain() {
48 Thread ^thread = UI::Application::GetInstance()->Start(); 62 Thread ^thread = UI::Application::GetInstance()->Start();
49 thread->Join(); 63 thread->Join();
50 } 64 }
51 65
52 UI_EXPORT void __stdcall UIshow(void *wptr) { 66 UI_EXPORT void __stdcall UIshow(gcroot<UI::MainWindow^> *window) {
53 UI::MainWindow ^window = (UI::MainWindow^)PtrToObject(wptr); 67 (*window)->ShowWindow();
54 window->ShowWindow();
55 } 68 }

mercurial