| 282 event->obj = list->object; |
282 event->obj = list->object; |
| 283 event->userdata = list->userdata; |
283 event->userdata = list->userdata; |
| 284 event->callback = list->callback; |
284 event->callback = list->callback; |
| 285 event->value = i - 1; |
285 event->value = i - 1; |
| 286 event->customdata = elm; |
286 event->customdata = elm; |
| |
287 event->customint = UI_EVENT_DATA_LIST_ELM; |
| 287 |
288 |
| 288 g_signal_connect( |
289 g_signal_connect( |
| 289 widget, |
290 widget, |
| 290 "activate", |
291 "activate", |
| 291 G_CALLBACK(ui_menu_event_wrapper), |
292 G_CALLBACK(ui_menu_event_wrapper), |
| 307 void ui_menu_event_wrapper(GtkMenuItem *item, UiEventData *event) { |
308 void ui_menu_event_wrapper(GtkMenuItem *item, UiEventData *event) { |
| 308 UiEvent evt; |
309 UiEvent evt; |
| 309 evt.obj = event->obj; |
310 evt.obj = event->obj; |
| 310 evt.window = event->obj->window; |
311 evt.window = event->obj->window; |
| 311 evt.document = event->obj->ctx->document; |
312 evt.document = event->obj->ctx->document; |
| |
313 if(event->customdata) { |
| |
314 evt.eventdata = event->customdata; |
| |
315 evt.eventdatatype = event->customint; |
| |
316 } else { |
| |
317 evt.eventdata = uic_get_tmp_eventdata(); |
| |
318 evt.eventdatatype = uic_get_tmp_eventdata_type(); |
| |
319 } |
| 312 evt.eventdata = event->customdata; |
320 evt.eventdata = event->customdata; |
| 313 evt.intval = event->value; |
321 evt.intval = event->value; |
| 314 event->callback(&evt, event->userdata); |
322 event->callback(&evt, event->userdata); |
| |
323 uic_set_tmp_eventdata(NULL, 0); |
| 315 } |
324 } |
| 316 |
325 |
| 317 void ui_menu_event_toggled(GtkCheckMenuItem *ci, UiEventData *event) { |
326 void ui_menu_event_toggled(GtkCheckMenuItem *ci, UiEventData *event) { |
| 318 UiEvent evt; |
327 UiEvent evt; |
| 319 evt.obj = event->obj; |
328 evt.obj = event->obj; |
| 745 |
754 |
| 746 UiEvent evt; |
755 UiEvent evt; |
| 747 evt.obj = event->obj; |
756 evt.obj = event->obj; |
| 748 evt.window = event->obj->window; |
757 evt.window = event->obj->window; |
| 749 evt.document = event->obj->ctx->document; |
758 evt.document = event->obj->ctx->document; |
| 750 evt.eventdata = event->customdata; |
759 if(event->customdata) { |
| 751 evt.eventdatatype = event->customint; |
760 evt.eventdata = event->customdata; |
| |
761 evt.eventdatatype = event->customint; |
| |
762 } else { |
| |
763 evt.eventdata = uic_get_tmp_eventdata(); |
| |
764 evt.eventdatatype = uic_get_tmp_eventdata_type(); |
| |
765 } |
| 752 evt.intval = intval; |
766 evt.intval = intval; |
| 753 event->callback(&evt, event->userdata); |
767 event->callback(&evt, event->userdata); |
| |
768 uic_set_tmp_eventdata(NULL, 0); |
| 754 } |
769 } |
| 755 |
770 |
| 756 void ui_menu_list_item_activate_event_wrapper(GSimpleAction* self, GVariant* parameter, UiEventData *event) { |
771 void ui_menu_list_item_activate_event_wrapper(GSimpleAction* self, GVariant* parameter, UiEventData *event) { |
| 757 int index = g_variant_get_int32(parameter); |
772 int index = g_variant_get_int32(parameter); |
| 758 UiVar *var = event->customdata; |
773 UiVar *var = event->customdata; |