added e_widget_on_disable_hook_set

SVN revision: 83670
This commit is contained in:
Mike Blumenkrantz 2013-02-06 09:34:53 +00:00
parent 1231a2e453
commit 2f828589bb
4 changed files with 14 additions and 0 deletions

View File

@ -1,6 +1,7 @@
2013-02-06 Mike Blumenkrantz
* added api to automatically disable widgets when checkboxes are checked or unchecked
* added e_widget_on_disable_hook_set
2013-02-05 Mike Blumenkrantz

1
NEWS
View File

@ -24,6 +24,7 @@ Additions:
* E_Config_DD structs are now tracked and retrievable through e_config_descriptor_find
* add e_border_pointer_warp_to_center_now()
* e_widget_check_widget_disable_on_*
* e_widget_on_disable_hook_set
Config:
* Added option for disabling icons in menus
* Added option for disabling pointer warping when performing directional focus changes using winlist

View File

@ -19,6 +19,8 @@ struct _E_Smart_Data
void *on_focus_data;
void (*on_change_func)(void *data, Evas_Object *obj);
void *on_change_data;
void (*on_disable_func)(void *data, Evas_Object *obj);
void *on_disable_data;
void *data;
unsigned char can_focus : 1;
unsigned char child_can_focus : 1;
@ -94,6 +96,14 @@ e_widget_on_change_hook_set(Evas_Object *obj, void (*func)(void *data, Evas_Obje
sd->on_change_data = data;
}
EAPI void
e_widget_on_disable_hook_set(Evas_Object *obj, void (*func)(void *data, Evas_Object *obj), void *data)
{
API_ENTRY return;
sd->on_disable_func = func;
sd->on_disable_data = data;
}
EAPI void
e_widget_data_set(Evas_Object *obj, void *data)
{
@ -453,6 +463,7 @@ e_widget_disabled_set(Evas_Object *obj, int disabled)
e_widget_focus_jump(parent, 1);
}
if (sd->disable_func) sd->disable_func(obj);
if (sd->on_disable_func) sd->on_disable_func(sd->on_disable_data, obj);
}
EAPI int

View File

@ -8,6 +8,7 @@ EAPI void e_widget_del_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj
EAPI void e_widget_focus_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj));
EAPI void e_widget_activate_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj));
EAPI void e_widget_disable_hook_set(Evas_Object *obj, void (*func) (Evas_Object *obj));
EAPI void e_widget_on_disable_hook_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), void *data);
EAPI void e_widget_on_focus_hook_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), void *data);
EAPI void e_widget_on_change_hook_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), void *data);
EAPI void e_widget_data_set(Evas_Object *obj, void *data);