Enlightenment CVS committal Author : devilhorns Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_int_config_cursor.c Log Message: Update the checkbox label when it gets toggled. Trying to think like grandma here :) =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_int_config_cursor.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- e_int_config_cursor.c 15 Feb 2006 20:32:28 -0000 1.4 +++ e_int_config_cursor.c 4 Mar 2006 04:36:23 -0000 1.5 @@ -6,6 +6,7 @@ static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); static int _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); +static void _cursor_check_toggle(void *data, Evas_Object *obj, const char *emission, const char *source); struct _E_Config_Dialog_Data { @@ -15,6 +16,13 @@ int cursor_size; }; +typedef struct _E_Widget_Check_Data E_Widget_Check_Data; +struct _E_Widget_Check_Data +{ + Evas_Object *o_check; + int *valptr; +}; + EAPI E_Config_Dialog * e_int_config_cursor(E_Container *con) { @@ -88,11 +96,16 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) { Evas_Object *o, *of, *ob; + E_Widget_Check_Data *wd; o = e_widget_list_add(evas, 0, 0); of = e_widget_framelist_add(evas, _("Cursor Settings"), 0); ob = e_widget_check_add(evas, _("Use Enlightenment Cursor"), &(cfdata->use_e_cursor)); + wd = e_widget_data_get(ob); + edje_object_signal_callback_add(wd->o_check, "toggle_on", "", _cursor_check_toggle, ob); + edje_object_signal_callback_add(wd->o_check, "toggle_off", "", _cursor_check_toggle, ob); + e_widget_framelist_object_append(of, ob); e_widget_list_object_append(o, of, 1, 1, 0.5); @@ -134,11 +147,15 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) { Evas_Object *o, *ob, *of; + E_Widget_Check_Data *wd; o = e_widget_list_add(evas, 0, 0); of = e_widget_framelist_add(evas, _("Cursor Settings"), 0); ob = e_widget_check_add(evas, _("Use Enlightenment Cursor"), &(cfdata->use_e_cursor)); + wd = e_widget_data_get(ob); + edje_object_signal_callback_add(wd->o_check, "toggle_on", "", _cursor_check_toggle, ob); + edje_object_signal_callback_add(wd->o_check, "toggle_off", "", _cursor_check_toggle, ob); e_widget_framelist_object_append(of, ob); ob = e_widget_label_add(evas, _("Cursor Size")); e_widget_framelist_object_append(of, ob); @@ -147,3 +164,20 @@ e_widget_list_object_append(o, of, 1, 1, 0.5); return o; } + +static void +_cursor_check_toggle(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + E_Widget_Check_Data *wd; + Evas_Object *o; + + if (!(o = data)) return; + wd = e_widget_data_get(o); + if (!wd->valptr) + return; + + if (*(wd->valptr) == 0) + edje_object_part_text_set(wd->o_check, "label", _("Use X Cursor")); + else + edje_object_part_text_set(wd->o_check, "label", _("Use Enlightenment Cursor")); +} ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs