Sorry for the dumb question but resize callback can't help on that?
Imo, storing pointers to obsolete objects can be very dangerous. But it 
is just my opinion ;-)

Vive Valgrind! Vive la France!
JackDanielZ, alias daniel

On 09/02/2013 01:53 PM, ChunEon Park wrote:
> I think figuring out the items geometry can be one of the common scenarios in 
> app side.
>
> This is already raised before but nobody answered solution properly as far as 
> I remember.
>
> My conclusion is,  this is a fight between "flexibilty" and "stable"
>
> For stable, we don't provide that api.
> But i don't think this gurantee application stable and developers satisfy.
> Maybe this may cause them painful to find out proper solutions and they may 
> try more dangerous and difficult method in worse case.
>
> This causes app go around too much.
>
> And we don't need to make app developers hard to make it.
>   
> ------------------------------------
> -Regards, Hermet-
>
> -----Original Message-----
> From: "Tom Hacohen"<tom.haco...@samsung.com>
> To: "Enlightenment developer list"<enlightenment-devel@lists.sourceforge.net>;
> Cc:
> Sent: 2013-09-02 (월) 18:20:35
> Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: 
> elementary/widget - introduce elm_object_item_object_get().
>
> I have to side with Mike here. Both the decision process and the
> solution smell badly. Worse than Mike's tuna breakfasts.
>
> --
> Tom.
>
> On 02/09/13 09:48, ChunEon Park wrote:
>> If they know what they are doing exactly, then it won' t be problem.
>> This gives the applications a chance to decorate their appilcation easily.
>>
>> ------------------------------------
>> -Regards, Hermet-
>>
>> -----Original Message-----
>> From: "Michael Blumenkrantz"<michael.blumenkrantz>@gmail.com>
>> To: "Enlightenment developer 
>> list"<enlightenment-devel>@lists.sourceforge.net>;
>> Cc:
>> Sent: 2013-09-02 (월) 17:29:41
>> Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: 
>> elementary/widget - introduce elm_object_item_object_get().
>>
>> so wait a minute...everyone fights against this for literally over a year,
>> and now it gets in without further discussion because "applications require
>> it"???? seriously?
>>
>>
>> On Mon, Sep 2, 2013 at 9:25 AM, ChunEon Park - Enlightenment Git <
>> no-re...@enlightenment.org> wrote:
>>
>>> hermet pushed a commit to branch master.
>>>
>>> commit ddc3cf80ce0a50a9161fcb212d3414f5d7b5898c
>>> Author: ChunEon Park <hermet>@hermet.pe.kr>
>>> Date:   Mon Sep 2 17:19:36 2013 +0900
>>>
>>>       elementary/widget - introduce elm_object_item_object_get().
>>>
>>>       We've countered application's requirements multiple times to they have
>>> the object handle from the elm_object_item.
>>>
>>>       Now we introduce it for their convenient but they should use it
>>> carefully.
>>> ---
>>>    ChangeLog                   6 +++++-
>>>    NEWS                        1 +
>>>    src/lib/elm_main.c          6 ++++++
>>>    src/lib/elm_object_item.h  19 +++++++++++++++++++
>>>    src/lib/elm_removed.h      15 +--------------
>>>    src/lib/elm_widget.c        7 +++++++
>>>    src/lib/elm_widget.h        1 +
>>>    7 files changed, 40 insertions(+), 15 deletions(-)
>>>
>>> diff --git a/ChangeLog b/ChangeLog
>>> index 4c59fdc..1695f01 100644
>>> --- a/ChangeLog
>>> +++ b/ChangeLog
>>> @@ -1578,6 +1578,10 @@
>>>
>>>            * Gengrid: implement selectraise feature.
>>>
>>> -2013-08-28  DAniel Juyung Seo (SeoZ)
>>> +2013-08-28  Daniel Juyung Seo (SeoZ)
>>>
>>>            * Bg: Add bg reset feature.
>>> +
>>> +2013-09-02  ChunEon Park (Hermet)
>>> +
>>> +        * Widget: Introduce elm_object_item_object_get() API.
>>> diff --git a/NEWS b/NEWS
>>> index c2056f3..c6046bd 100644
>>> --- a/NEWS
>>> +++ b/NEWS
>>> @@ -85,6 +85,7 @@ Additions:
>>>       * Add elm_win_focus_highlight_animate_set/get().
>>>       * Add selectraise feature to gengrid.
>>>       * Add bg reset feature.
>>> +   * Add elm_object_item_object_get().
>>>
>>>    Improvements:
>>>
>>> diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c
>>> index 2fa2ea0..9f138b2 100644
>>> --- a/src/lib/elm_main.c
>>> +++ b/src/lib/elm_main.c
>>> @@ -1859,3 +1859,9 @@ elm_object_item_cursor_engine_only_get(const
>>> Elm_Object_Item *it)
>>>    {
>>>       return elm_widget_item_cursor_engine_only_get(it);
>>>    }
>>> +
>>> +EAPI const Evas_Object *
>>> +elm_object_item_object_get(const Elm_Object_Item *it)
>>> +{
>>> +   return _elm_widget_item_object_get((Elm_Widget_Item*)it);
>>> +}
>>> diff --git a/src/lib/elm_object_item.h b/src/lib/elm_object_item.h
>>> index 8a0ccde..f256a63 100644
>>> --- a/src/lib/elm_object_item.h
>>> +++ b/src/lib/elm_object_item.h
>>> @@ -34,6 +34,25 @@ typedef void
>>>    (*Elm_Object_Item_Signal_Cb)(void *data, Elm_Objec
>>>    EAPI Evas_Object                 *elm_object_item_widget_get(const
>>> Elm_Object_Item *it);
>>>
>>>    /**
>>> + * Get the object item's internal object handle.
>>> + *
>>> + * @param it The Elementary object item
>>> + * @return The Internal object of the object item.
>>> + *
>>> + * @note This function should only be used if you really need to refer the
>>> + * internal object's properties (i.e geometry). Since the object items are
>>> + * managed/controlled by the widget, you should not modify the object
>>> directly
>>> + * nor you should not treat the object without validation.
>>> + *
>>> + * Some widget items may return @c NULL for this API if the items @p are
>>> not
>>> + * based on the evas object.
>>> + *
>>> + * @since 1.8
>>> + * @ingroup General
>>> + */
>>> +EAPI const Evas_Object           *elm_object_item_object_get(const
>>> Elm_Object_Item *it);
>>> +
>>> +/**
>>>     * Set a content of an object item
>>>     *
>>>     * @param it The Elementary object item
>>> diff --git a/src/lib/elm_removed.h b/src/lib/elm_removed.h
>>> index 416726a..59b982f 100644
>>> --- a/src/lib/elm_removed.h
>>> +++ b/src/lib/elm_removed.h
>>> @@ -490,19 +490,6 @@ EINA_DEPRECATED EAPI Elm_Gen_Item
>>> *elm_gen_item_prev_get(const Elm_Gen_Item *it)
>>>    EINA_DEPRECATED EAPI Evas_Object  *elm_gen_item_widget_get(const
>>> Elm_Gen_Item *it);
>>>
>>>    /**
>>> - * Get the widget object's handle which contains a given item
>>> - *
>>> - * @param it The Elementary object item
>>> - * @return The widget object
>>> - *
>>> - * @note This returns the widget object itself that an item belongs to.
>>> - * @note Every elm_object_item supports this API
>>> - * @deprecated Use elm_object_item_widget_get() instead
>>> - * @ingroup General
>>> - */
>>> -EINA_DEPRECATED EAPI Evas_Object
>>> *elm_object_item_object_get(const Elm_Object_Item *it);
>>> -
>>> -/**
>>>     * Set the text to show in the anchorblock
>>>     *
>>>     * Sets the text of the anchorblock to @p text. This text can include
>>> markup
>>> @@ -3303,7 +3290,7 @@ EINA_DEPRECATED EAPI void
>>>    elm_slideshow_show(Elm_Object_Item *i
>>>     *
>>>     * This returns the toolbar object itself that an item belongs to.
>>>     *
>>> - * @deprecated use elm_object_item_object_get() instead.
>>> + * @deprecated use elm_object_item_widget_get() instead.
>>>     */
>>>    EINA_DEPRECATED EAPI Evas_Object *elm_toolbar_item_toolbar_get(const
>>> Elm_Object_Item *it);
>>>
>>> diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c
>>> index 5f1aae8..9bcec72 100644
>>> --- a/src/lib/elm_widget.c
>>> +++ b/src/lib/elm_widget.c
>>> @@ -5771,6 +5771,13 @@ _elm_widget_item_translate(Elm_Widget_Item *item)
>>>    #endif
>>>    }
>>>
>>> +EAPI const Evas_Object *
>>> +_elm_widget_item_object_get(const Elm_Widget_Item *item)
>>> +{
>>> +   ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
>>> +   return item->view;
>>> +}
>>> +
>>>    /* happy debug functions */
>>>    #ifdef ELM_DEBUG
>>>    static void
>>> diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h
>>> index 945ef9d..ef41e15 100644
>>> --- a/src/lib/elm_widget.h
>>> +++ b/src/lib/elm_widget.h
>>> @@ -772,6 +772,7 @@ EAPI void
>>> _elm_widget_item_domain_translatable_part_text_set(Elm_Wid
>>>    EAPI const char *     _elm_widget_item_translatable_part_text_get(const
>>> Elm_Widget_Item *item, const char *part);
>>>    EAPI void             _elm_widget_item_translate(Elm_Widget_Item *item);
>>>    EAPI void
>>> _elm_widget_item_domain_part_text_translatable_set(Elm_Widget_Item *item,
>>> const char *part, const char *domain, Eina_Bool translatable);
>>> +EAPI const Evas_Object *_elm_widget_item_object_get(const Elm_Widget_Item
>>> *item);
>>>
>>>    /**
>>>     * Function to operate on a given widget's scrollabe children when
>>> necessary.
>>>
>>> --
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
>>> Discover the easy way to master current and previous Microsoft technologies
>>> and advance your career. Get an incredible 1,500+ hours of step-by-step
>>> tutorial videos with LearnDevNow. Subscribe today and save!
>>> http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
>>>
>> ------------------------------------------------------------------------------
>> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
>> Discover the easy way to master current and previous Microsoft technologies
>> and advance your career. Get an incredible 1,500+ hours of step-by-step
>> tutorial videos with LearnDevNow. Subscribe today and save!
>> http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
>> _______________________________________________
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
>> ------------------------------------------------------------------------------
>> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
>> Discover the easy way to master current and previous Microsoft technologies
>> and advance your career. Get an incredible 1,500+ hours of step-by-step
>> tutorial videos with LearnDevNow. Subscribe today and save!
>> http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
>> _______________________________________________
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
>
>
> ------------------------------------------------------------------------------
> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
> Discover the easy way to master current and previous Microsoft technologies
> and advance your career. Get an incredible 1,500+ hours of step-by-step
> tutorial videos with LearnDevNow. Subscribe today and save!
> http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> ------------------------------------------------------------------------------
> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
> Discover the easy way to master current and previous Microsoft technologies
> and advance your career. Get an incredible 1,500+ hours of step-by-step
> tutorial videos with LearnDevNow. Subscribe today and save!
> http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to