ui/gtk/menu.c

changeset 850
3e1c3f4e2ad4
parent 849
63623ef950e5
child 852
a04cb4398034
equal deleted inserted replaced
849:63623ef950e5 850:3e1c3f4e2ad4
505 } 505 }
506 } 506 }
507 } 507 }
508 508
509 static void ui_action_set_state(UiInteger *i, int64_t value) { 509 static void ui_action_set_state(UiInteger *i, int64_t value) {
510 510 UiMenuRadioGroup *group = i->obj;
511 i->value = value;
512 char buf[32];
513 snprintf(buf, 32, "%d", (int)value);
514 GVariant *state = g_variant_new_string(buf);
515 g_action_change_state(G_ACTION(group->action), state);
511 } 516 }
512 517
513 static int64_t ui_action_get_state(UiInteger *i) { 518 static int64_t ui_action_get_state(UiInteger *i) {
514 return 0; 519 return i->value;
515 } 520 }
516 521
517 static UiMenuRadioGroup* create_radio_group(UiObject *obj, UiMenuRadioItem *item, GSimpleAction *action) { 522 static UiMenuRadioGroup* create_radio_group(UiObject *obj, UiMenuRadioItem *item, GSimpleAction *action) {
518 UiMenuRadioGroup *group = cxZalloc(obj->ctx->allocator, sizeof(UiMenuRadioGroup)); 523 UiMenuRadioGroup *group = cxZalloc(obj->ctx->allocator, sizeof(UiMenuRadioGroup));
519 group->callbacks = cxArrayListCreate(obj->ctx->allocator, NULL, sizeof(UiCallbackData), 8); 524 group->callbacks = cxArrayListCreate(obj->ctx->allocator, NULL, sizeof(UiCallbackData), 8);
562 event.window = event.obj->window; 567 event.window = event.obj->window;
563 event.document = event.obj->ctx->document; 568 event.document = event.obj->ctx->document;
564 event.eventdata = NULL; 569 event.eventdata = NULL;
565 event.eventdatatype = 0; 570 event.eventdatatype = 0;
566 event.intval = v; 571 event.intval = v;
567 event.set = 0; 572 event.set = ui_get_setop();
568 573
569 CxIterator iter = cxListIterator(group->callbacks); 574 CxIterator iter = cxListIterator(group->callbacks);
570 cx_foreach(UiCallbackData *, cb, iter) { 575 cx_foreach(UiCallbackData *, cb, iter) {
571 if(cb->callback) { 576 if(cb->callback) {
572 cb->callback(&event, cb->userdata); 577 cb->callback(&event, cb->userdata);

mercurial