ui/gtk/button.c

changeset 1207
833c37fc5475
parent 1205
749a32e91513
child 1214
beba01f68a9f
equal deleted inserted replaced
1206:4637da12bc6c 1207:833c37fc5475
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),

mercurial