| 627 free(button->tooltip1); |
627 free(button->tooltip1); |
| 628 free(button->onchange_action); |
628 free(button->onchange_action); |
| 629 free(button); |
629 free(button); |
| 630 } |
630 } |
| 631 |
631 |
| |
632 static void ui_content_togglebutton_enabled_by_state(void *data, int enabled) { |
| |
633 UiContentToggleButton *button = data; |
| |
634 if(button->toggled != enabled) { |
| |
635 button->toggled = enabled; |
| |
636 content_toggle_button_changed(button); |
| |
637 } |
| |
638 } |
| |
639 |
| 632 UIWIDGET ui_create_content_togglebutton(UiObject *obj, UiContentToggleArgs *args) { |
640 UIWIDGET ui_create_content_togglebutton(UiObject *obj, UiContentToggleArgs *args) { |
| 633 UiContentToggleButton *button = malloc(sizeof(UiContentToggleButton)); |
641 UiContentToggleButton *button = malloc(sizeof(UiContentToggleButton)); |
| 634 memset(button, 0, sizeof(UiContentToggleButton)); |
642 memset(button, 0, sizeof(UiContentToggleButton)); |
| 635 button->obj = obj; |
643 button->obj = obj; |
| 636 button->label0 = args->label0 ? strdup(args->label0) : NULL; |
644 button->label0 = args->label0 ? strdup(args->label0) : NULL; |
| 681 button); |
689 button); |
| 682 } |
690 } |
| 683 ui_button_set_icon_name(widget, icon); |
691 ui_button_set_icon_name(widget, icon); |
| 684 gtk_widget_set_tooltip_text(widget, tooltip); |
692 gtk_widget_set_tooltip_text(widget, tooltip); |
| 685 button->widget = widget; |
693 button->widget = widget; |
| |
694 |
| |
695 if(args->toggled_by_state != 0) { |
| |
696 CxList *ls = cxArrayListCreate(NULL, sizeof(int), 1); |
| |
697 cxListAdd(ls, &args->toggled_by_state); |
| |
698 uic_add_state_widget(obj->ctx, button, ui_content_togglebutton_enabled_by_state, ls); |
| |
699 cxListFree(ls); |
| |
700 } |
| 686 |
701 |
| 687 g_signal_connect( |
702 g_signal_connect( |
| 688 widget, |
703 widget, |
| 689 "destroy", |
704 "destroy", |
| 690 G_CALLBACK(ui_destroy_content_togglebutton), |
705 G_CALLBACK(ui_destroy_content_togglebutton), |