ui/gtk/menu.c

changeset 1020
cae4af417424
parent 1016
ccde46662db7
equal deleted inserted replaced
1019:9fe8bff5c652 1020:cae4af417424
523 } 523 }
524 } 524 }
525 } 525 }
526 526
527 static void stateful_action_notify_group(UiMenuRadioGroup *group, UiInteger *i) { 527 static void stateful_action_notify_group(UiMenuRadioGroup *group, UiInteger *i) {
528 int intval = ui_get(i);
529
528 UiEvent event; 530 UiEvent event;
529 event.obj = group->obj; 531 event.obj = group->obj;
530 event.window = event.obj->window; 532 event.window = event.obj->window;
531 event.document = event.obj->ctx->document; 533 event.document = event.obj->ctx->document;
532 event.eventdata = NULL; 534 event.eventdata = NULL;
533 event.eventdatatype = 0; 535 event.eventdatatype = 0;
534 event.intval = (int)i->value;
535 event.set = ui_get_setop(); 536 event.set = ui_get_setop();
536 537
537 CxIterator iter = cxListIterator(group->callbacks); 538 CxIterator iter = cxListIterator(group->callbacks);
538 cx_foreach(UiCallbackData *, cb, iter) { 539 cx_foreach(UiCallbackData *, cb, iter) {
540 event.intval = intval == iter.index;
539 if(cb->callback) { 541 if(cb->callback) {
540 cb->callback(&event, cb->userdata); 542 cb->callback(&event, cb->userdata);
541 } 543 }
542 } 544 }
543 545
546 event.intval = intval;
544 UiObserver *obs = i->observers; 547 UiObserver *obs = i->observers;
545 while(obs) { 548 while(obs) {
546 if(obs->callback) { 549 if(obs->callback) {
547 obs->callback(&event, obs->data); 550 obs->callback(&event, obs->data);
548 } 551 }

mercurial