On Tue, Jan 10, 2012 at 11:03 AM, Iván Briano (Sachiel)
<[email protected]> wrote:
> 2012/1/10 Daniel Juyung Seo <[email protected]>:
>> On Fri, Jan 6, 2012 at 11:34 PM, Gustavo Sverzut Barbieri
>> <[email protected]> wrote:
>>> On Fri, Jan 6, 2012 at 6:48 AM, Hyoyoung Chang <[email protected]> wrote:
>>>> Dear all
>>>>
>>>> This patch introduces four new apis about elm_gen{list, grid} item
>>>> class managements.
>>>> itc_add function makes a new item_class for the given widget.
>>>> And itc_del function remove the item_class from the widget.
>>>>
>>>> Most of elm_gen{list, grid} users declare itc(item_class) as a global 
>>>> variable.
>>>> Because itc should be lived at elm_gen{list,grid} item's life cycle.
>>>> It's inconvenient for users. Even some users pass itc.
>>>>
>>>> itc_add makes a new itc. if exact one exists in the given widget, it
>>>> return the previous made itc.
>>>> itc_del remove a itc if its reference count reaches at zero.
>>>>
>>>> Thanks.
>>>>
>>>>
>>>> EAPI Elm_Genlist_Item_Class *
>>>> elm_genlist_itc_add(Evas_Object *obj, const char *item_style,
>>>>                    Elm_Genlist_Item_Text_Get_Cb text_cb,
>>>>                    Elm_Genlist_Item_Content_Get_Cb content_cb,
>>>>                    Elm_Genlist_Item_State_Get_Cb state_cb,
>>>>                    Elm_Genlist_Item_Del_Cb del_cb);
>>>> EAPI void
>>>> elm_genlist_itc_del(Evas_Object *obj, Elm_Genlist_Item_Class *itc);
>>>> EAPI Elm_Gengrid_Item_Class *
>>>> elm_gengrid_itc_add(Evas_Object *obj, const char *item_style,
>>>>                    Elm_Gengrid_Item_Text_Get_Cb text_cb,
>>>>                    Elm_Gengrid_Item_Content_Get_Cb content_cb,
>>>>                    Elm_Gengrid_Item_State_Get_Cb state_cb,
>>>>                    Elm_Gengrid_Item_Del_Cb del_cb);
>>>> EAPI void
>>>> elm_gengrid_itc_del(Evas_Object *obj, Elm_Gengrid_Item_Class *itc);
>>>
>>> I dislike it, one can easily do this kind of stuff using item_del_cb().
>>
>>>
>>> And really, majority of developers should NEVER use this, the global
>>> static-const is the correct way to go, making sure memory is live,
>>> unchanged, no mallocs, etc.
>>
>> Thanks for your reply. This patch has an assumption that application
>> can alloc itc memory dynamically.
>> If itc-dynamic-allocation is not recommended, do you have to use
>> global variable for itc?
>> For a huge app that uses many c sources, we can't force them to use
>> global static :(
>>
>
> You are making a function to return a pre-made class for others to use?
> Keep the class static to the function, return a pointer to it.

exactly, it just need to be static, not global. It is also recommended
to be "const", but it is not mandatory.

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--------------------------------------
MSN: [email protected]
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to