forked from enlightenment/efl
Constant void data is pretty useless in item callback contexts.
the callbacks are supposed to freely modify their data, as it is their context (ie: python/js object, row from database, etc. SVN revision: 52372
This commit is contained in:
parent
6a9ba35610
commit
c4d40c7183
|
@ -618,10 +618,10 @@ extern "C" {
|
|||
typedef struct _Elm_Gengrid_Item_Class Elm_Gengrid_Item_Class;
|
||||
typedef struct _Elm_Gengrid_Item_Class_Func Elm_Gengrid_Item_Class_Func;
|
||||
typedef struct _Elm_Gengrid_Item Elm_Gengrid_Item; /**< Item of Elm_Gengrid. Sub-type of Elm_Widget_Item */
|
||||
typedef char *(*GridItemLabelGetFunc) (const void *data, Evas_Object *obj, const char *part);
|
||||
typedef Evas_Object *(*GridItemIconGetFunc) (const void *data, Evas_Object *obj, const char *part);
|
||||
typedef Eina_Bool (*GridItemStateGetFunc) (const void *data, Evas_Object *obj, const char *part);
|
||||
typedef void (*GridItemDelFunc) (const void *data, Evas_Object *obj);
|
||||
typedef char *(*GridItemLabelGetFunc) (void *data, Evas_Object *obj, const char *part);
|
||||
typedef Evas_Object *(*GridItemIconGetFunc) (void *data, Evas_Object *obj, const char *part);
|
||||
typedef Eina_Bool (*GridItemStateGetFunc) (void *data, Evas_Object *obj, const char *part);
|
||||
typedef void (*GridItemDelFunc) (void *data, Evas_Object *obj);
|
||||
|
||||
struct _Elm_Gengrid_Item_Class
|
||||
{
|
||||
|
@ -1164,10 +1164,10 @@ extern "C" {
|
|||
typedef struct _Elm_Genlist_Item_Class Elm_Genlist_Item_Class;
|
||||
typedef struct _Elm_Genlist_Item Elm_Genlist_Item; /**< Item of Elm_Genlist. Sub-type of Elm_Widget_Item */
|
||||
typedef struct _Elm_Genlist_Item_Class_Func Elm_Genlist_Item_Class_Func;
|
||||
typedef char *(*GenlistItemLabelGetFunc) (const void *data, Evas_Object *obj, const char *part);
|
||||
typedef Evas_Object *(*GenlistItemIconGetFunc) (const void *data, Evas_Object *obj, const char *part);
|
||||
typedef Eina_Bool (*GenlistItemStateGetFunc) (const void *data, Evas_Object *obj, const char *part);
|
||||
typedef void (*GenlistItemDelFunc) (const void *data, Evas_Object *obj);
|
||||
typedef char *(*GenlistItemLabelGetFunc) (void *data, Evas_Object *obj, const char *part);
|
||||
typedef Evas_Object *(*GenlistItemIconGetFunc) (void *data, Evas_Object *obj, const char *part);
|
||||
typedef Eina_Bool (*GenlistItemStateGetFunc) (void *data, Evas_Object *obj, const char *part);
|
||||
typedef void (*GenlistItemDelFunc) (void *data, Evas_Object *obj);
|
||||
|
||||
struct _Elm_Genlist_Item_Class
|
||||
{
|
||||
|
|
|
@ -100,14 +100,14 @@ _sizing_eval(Evas_Object *obj)
|
|||
|
||||
/*** GENLIST "MODEL" ***/
|
||||
static char*
|
||||
_itc_label_get(const void *data, Evas_Object *obj __UNUSED__, const char *source __UNUSED__)
|
||||
_itc_label_get(void *data, Evas_Object *obj __UNUSED__, const char *source __UNUSED__)
|
||||
{
|
||||
//~ printf("LABEL_GET: %s\n", (char*) data);
|
||||
return strdup(ecore_file_file_get(data)); // NOTE this will be free() by the caller
|
||||
}
|
||||
|
||||
static Evas_Object*
|
||||
_itc_icon_get(const void *data, Evas_Object *obj, const char *source)
|
||||
_itc_icon_get(void *data, Evas_Object *obj, const char *source)
|
||||
{
|
||||
Evas_Object *ic;
|
||||
|
||||
|
@ -127,13 +127,13 @@ _itc_icon_get(const void *data, Evas_Object *obj, const char *source)
|
|||
}
|
||||
|
||||
static Eina_Bool
|
||||
_itc_state_get(const void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char *source __UNUSED__)
|
||||
_itc_state_get(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char *source __UNUSED__)
|
||||
{
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
_itc_del(const void *data, Evas_Object *obj __UNUSED__)
|
||||
_itc_del(void *data, Evas_Object *obj __UNUSED__)
|
||||
{
|
||||
//~ printf("DEL DATA [%s]\n", (char*)data);
|
||||
eina_stringshare_del(data);
|
||||
|
|
|
@ -477,8 +477,8 @@ _item_realize(Elm_Gengrid_Item *item)
|
|||
"labels"));
|
||||
EINA_LIST_FOREACH(item->labels, l, key)
|
||||
{
|
||||
char *s = item->gic->func.label_get(item->base.data, item->wd->self,
|
||||
l->data);
|
||||
char *s = item->gic->func.label_get
|
||||
((void *)item->base.data, item->wd->self, l->data);
|
||||
if (s)
|
||||
{
|
||||
edje_object_part_text_set(item->base.view, l->data, s);
|
||||
|
@ -496,9 +496,8 @@ _item_realize(Elm_Gengrid_Item *item)
|
|||
"icons"));
|
||||
EINA_LIST_FOREACH(item->icons, l, key)
|
||||
{
|
||||
Evas_Object *ic = item->gic->func.icon_get(item->base.data,
|
||||
item->wd->self,
|
||||
l->data);
|
||||
Evas_Object *ic = item->gic->func.icon_get
|
||||
((void *)item->base.data, item->wd->self, l->data);
|
||||
if (ic)
|
||||
{
|
||||
item->icon_objs = eina_list_append(item->icon_objs, ic);
|
||||
|
@ -518,8 +517,8 @@ _item_realize(Elm_Gengrid_Item *item)
|
|||
"states"));
|
||||
EINA_LIST_FOREACH(item->states, l, key)
|
||||
{
|
||||
Eina_Bool on = item->gic->func.state_get(item->base.data,
|
||||
item->wd->self, l->data);
|
||||
Eina_Bool on = item->gic->func.state_get
|
||||
((void *)item->base.data, item->wd->self, l->data);
|
||||
if (on)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "elm,state,%s,active", key);
|
||||
|
@ -675,7 +674,7 @@ _item_del(Elm_Gengrid_Item *item)
|
|||
item->wd->selected = eina_list_remove(item->wd->selected, item);
|
||||
if (item->realized) _item_unrealize(item);
|
||||
if ((!item->delete_me) && (item->gic->func.del))
|
||||
item->gic->func.del(item->base.data, item->wd->self);
|
||||
item->gic->func.del((void *)item->base.data, item->wd->self);
|
||||
item->delete_me = EINA_TRUE;
|
||||
item->wd->items = eina_list_remove(item->wd->items, item);
|
||||
if (item->long_timer) ecore_timer_del(item->long_timer);
|
||||
|
@ -1154,8 +1153,8 @@ elm_gengrid_item_del(Elm_Gengrid_Item *item)
|
|||
elm_widget_item_pre_notify_del(item);
|
||||
if (item->selected)
|
||||
item->wd->selected = eina_list_remove(item->wd->selected, item);
|
||||
if (item->gic->func.del)
|
||||
item->gic->func.del(item->base.data, item->wd->self);
|
||||
if (item->gic->func.del)
|
||||
item->gic->func.del((void *)item->base.data, item->wd->self);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1219,7 +1218,8 @@ elm_gengrid_clear(Evas_Object *obj)
|
|||
wd->items = eina_list_remove_list(wd->items, l);
|
||||
elm_widget_item_pre_notify_del(item);
|
||||
if (item->realized) _item_unrealize(item);
|
||||
if (item->gic->func.del) item->gic->func.del(item->base.data, wd->self);
|
||||
if (item->gic->func.del)
|
||||
item->gic->func.del((void *)item->base.data, wd->self);
|
||||
if (item->long_timer) ecore_timer_del(item->long_timer);
|
||||
elm_widget_item_del(item);
|
||||
}
|
||||
|
|
|
@ -517,8 +517,8 @@ _item_del(Elm_Genlist_Item *it)
|
|||
if (it->selected) it->wd->selected = eina_list_remove(it->wd->selected, it);
|
||||
if (it->realized) _item_unrealize(it);
|
||||
if (it->block) _item_block_del(it);
|
||||
if ((!it->delete_me) && (it->itc->func.del))
|
||||
it->itc->func.del(it->base.data, it->base.widget);
|
||||
if ((!it->delete_me) && (it->itc->func.del))
|
||||
it->itc->func.del((void *)it->base.data, it->base.widget);
|
||||
it->delete_me = EINA_TRUE;
|
||||
if (it->queued)
|
||||
it->wd->queue = eina_list_remove(it->wd->queue, it);
|
||||
|
@ -903,7 +903,8 @@ _item_realize(Elm_Genlist_Item *it, int in, int calc)
|
|||
it->labels = elm_widget_stringlist_get(edje_object_data_get(it->base.view, "labels"));
|
||||
EINA_LIST_FOREACH(it->labels, l, key)
|
||||
{
|
||||
char *s = it->itc->func.label_get(it->base.data, it->base.widget, l->data);
|
||||
char *s = it->itc->func.label_get
|
||||
((void *)it->base.data, it->base.widget, l->data);
|
||||
|
||||
if (s)
|
||||
{
|
||||
|
@ -920,7 +921,8 @@ _item_realize(Elm_Genlist_Item *it, int in, int calc)
|
|||
it->icons = elm_widget_stringlist_get(edje_object_data_get(it->base.view, "icons"));
|
||||
EINA_LIST_FOREACH(it->icons, l, key)
|
||||
{
|
||||
Evas_Object *ic = it->itc->func.icon_get(it->base.data, it->base.widget, l->data);
|
||||
Evas_Object *ic = it->itc->func.icon_get
|
||||
((void *)it->base.data, it->base.widget, l->data);
|
||||
|
||||
if (ic)
|
||||
{
|
||||
|
@ -939,7 +941,8 @@ _item_realize(Elm_Genlist_Item *it, int in, int calc)
|
|||
it->states = elm_widget_stringlist_get(edje_object_data_get(it->base.view, "states"));
|
||||
EINA_LIST_FOREACH(it->states, l, key)
|
||||
{
|
||||
Eina_Bool on = it->itc->func.state_get(it->base.data, it->base.widget, l->data);
|
||||
Eina_Bool on = it->itc->func.state_get
|
||||
((void *)it->base.data, it->base.widget, l->data);
|
||||
|
||||
if (on)
|
||||
{
|
||||
|
@ -1988,7 +1991,8 @@ elm_genlist_clear(Evas_Object *obj)
|
|||
wd->items = eina_inlist_remove(wd->items, wd->items);
|
||||
elm_widget_item_pre_notify_del(it);
|
||||
if (it->realized) _item_unrealize(it);
|
||||
if (it->itc->func.del) it->itc->func.del(it->base.data, it->base.widget);
|
||||
if (it->itc->func.del)
|
||||
it->itc->func.del((void *)it->base.data, it->base.widget);
|
||||
if (it->long_timer) ecore_timer_del(it->long_timer);
|
||||
elm_widget_item_del(it);
|
||||
}
|
||||
|
@ -2805,7 +2809,8 @@ elm_genlist_item_del(Elm_Genlist_Item *it)
|
|||
if (it->wd->calc_job) ecore_job_del(it->wd->calc_job);
|
||||
it->wd->calc_job = ecore_job_add(_calc_job, it->wd);
|
||||
}
|
||||
if (it->itc->func.del) it->itc->func.del(it->base.data, it->base.widget);
|
||||
if (it->itc->func.del)
|
||||
it->itc->func.del((void *)it->base.data, it->base.widget);
|
||||
return;
|
||||
}
|
||||
_item_del(it);
|
||||
|
|
Loading…
Reference in New Issue