Update the checkbox label when it gets toggled. Trying to think like grandma

here :)


SVN revision: 20988
This commit is contained in:
Christopher Michael 2006-03-04 04:36:23 +00:00
parent b089c7d1e3
commit d7dcca1b80
1 changed files with 34 additions and 0 deletions

View File

@ -6,6 +6,7 @@ static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data
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 @@ struct _E_Config_Dialog_Data
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 @@ static Evas_Object *
_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 @@ static Evas_Object *
_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 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
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"));
}