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