ui/wpf/menu.c

changeset 82
0cdb8089a29f
parent 81
5eb765a7a793
child 89
9a7e4a335b2b
equal deleted inserted replaced
81:5eb765a7a793 82:0cdb8089a29f
35 void ui_menu(char *label) { 35 void ui_menu(char *label) {
36 UImenu(label); 36 UImenu(label);
37 } 37 }
38 38
39 void ui_submenu(char *label) { 39 void ui_submenu(char *label) {
40 40 UIsubmenu(label);
41 } 41 }
42 42
43 void ui_submenu_end() { 43 void ui_submenu_end() {
44 44 UIsubmenu_end();
45 } 45 }
46 46
47 void ui_menuitem(char *label, ui_callback f, void *userdata) { 47 void ui_menuitem(char *label, ui_callback f, void *userdata) {
48 UImenuitem(label, f, userdata); 48 ui_callback cb = NULL;
49 void *e = NULL;
50 if (f) {
51 UiEventData *event = malloc(sizeof(UiEventData));
52 event->obj = NULL;
53 event->user_data = userdata;
54 event->callback = f;
55 event->value = 0;
56 cb = (ui_callback)ui_menu_callback;
57 e = event;
58 }
59
60 UImenuitem(label, cb, e);
49 } 61 }
62
63
64 void ui_menu_callback(UiObject *obj, UiEventData *e) {
65 UiEvent event;
66 event.obj = obj;
67 event.window = obj->window;
68 event.intval = 0;
69 event.eventdata = NULL;
70 event.document = obj->ctx->document;
71 e->callback(&event, e->user_data);
72 }

mercurial