On Mon, Nov 4, 2013 at 5:14 PM, ChunEon Park <her...@naver.com> wrote:
> Regardless of the API useful, I don't agree pushing the API at this > moment. > > It wil break popup concept. otherwise, similiar behavior of move() and > align() will be conflicted. > How does that break popup concept? That's interesting. Where is it described? Daniel Juyung Seo (SeoZ) > if you agree align_set() can cover the popup_move() > please just keep the align_set() only. > > > ------------------------------------ > -Regards, Hermet- > > -----Original Message----- > From: "Daniel Juyung Seo"<seojuyu...@gmail.com> > To: "Enlightenment developer list"< > enlightenment-devel@lists.sourceforge.net>; > Cc: <g...@lists.enlightenment.org>; > Sent: 2013-11-04 (월) 16:29:02 > Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: popup: Added > support for popup move. elm_popup_move. > > On Mon, Nov 4, 2013 at 2:42 PM, ChunEon Park <hermet>@naver.com> wrote: > > > Abosulte position for the popup is insane if the parent position is > > changed. > > And totally popup is depends on the notify, it should follow the notify > > concept. > > > > > Agreed. I also suggested to create elm_popup_align_set() instead of this. > And he suggested elm_popup_move() to use pixel which I found it useful. > > Because the author of this commit is away, I will fix it before the today's > feature freeze: > 1. adding elm_popup_align_set() > 2. fixing elm_popup_move() to depend on its parent position. > 3. (optional) adding elm_notify_move() to use pixel > > Thanks. > > Daniel Juyung Seo (SeoZ) > > > > > > ------------------------------------ > > -Regards, Hermet- > > > > -----Original Message----- > > From: "Daniel Juyung Seo"<seojuyung2>@gmail.com> > > To: "Enlightenment developer list"< > > enlightenment-devel@lists.sourceforge.net>; > > Cc: <git>@lists.enlightenment.org>; > > Sent: 2013-11-04 (월) 14:37:54 > > Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: popup: > Added > > support for popup move. elm_popup_move. > > > > On Mon, Nov 4, 2013 at 2:31 PM, ChunEon Park <hermet>@naver.com> wrote: > > > > > Eeeeeek! > > > > > > How about keeping the API name with notify? > > > elm_notify_align_set()? > > > > > > > Thanks for the interest and comments but the concept is different from > > align_set. > > elm_notify_align_set() gets relative position as a parameter but > > elm_popup_move() gets absolute pixel information just like > elm_menu_move(). > > So elm_popup_move() is correct. > > > > EAPI void elm_notify_align_set(Evas_Object *obj, > > double horizontal, double vertical); > > EAPI void elm_menu_move(Evas_Object *obj, > > Evas_Coord x, Evas_Coord y); > > EAPI void elm_popup_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y); > > > > Thanks. > > > > Daniel Juyung Seo (SeoZ) > > > > > > > > > > > > ------------------------------------ > > > -Regards, Hermet- > > > > > > > > > -----Original Message----- > > > From: "Abhinandan Aryadipta"<a.aryadipta>@samsung.com> > > > To: <git>@lists.enlightenment.org>; > > > Cc: > > > Sent: 2013-11-03 (일) 23:29:06 > > > Subject: [EGIT] [core/elementary] master 01/01: popup: Added support > for > > > popup move. elm_popup_move. > > > > > > seoz pushed a commit to branch master. > > > > > > > > > > > > http://git.enlightenment.org/core/elementary.git/commit/?id=f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e > > > > > > commit f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e > > > Author: Abhinandan Aryadipta <a.aryadipta>@samsung.com> > > > Date: Sun Nov 3 23:01:19 2013 +0900 > > > > > > popup: Added support for popup move. elm_popup_move. > > > > > > Summary: Added support for popup move > > > > > > Test Plan: elm_popup_move > > > > > > Reviewers: seoz, singh.amitesh, tasn, Hermet > > > > > > CC: raster > > > > > > Differential Revision: https://phab.enlightenment.org/D247 > > > --- > > > ChangeLog 4 ++++ > > > NEWS 1 + > > > src/bin/test_popup.c 58 > > > ++++++++++++++++++++++++++++++++++++++++++++++ > > > src/lib/elc_popup.c 41 ++++++++++++++++++++++++++++++++ > > > src/lib/elc_popup_eo.h 14 +++++++++++ > > > src/lib/elc_popup_legacy.h 15 ++++++++++++ > > > 6 files changed, 133 insertions(+) > > > > > > diff --git a/ChangeLog b/ChangeLog > > > index 66e4536..434f65f 100644 > > > --- a/ChangeLog > > > +++ b/ChangeLog > > > @@ -1741,3 +1741,7 @@ > > > * genlist , gengrid: Add > > > ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL. > > > It disallow multiple selection when clicked without control > > > pressed although > > > multiple selection is enabled. > > > + > > > +2013-10-03 Abhinandan Aryadipta (aryarockstar) > > > + > > > + * Popup - Added elm_popup_move() api. > > > diff --git a/NEWS b/NEWS > > > index 4ba58bf..fece1e7 100644 > > > --- a/NEWS > > > +++ b/NEWS > > > @@ -102,6 +102,7 @@ Additions: > > > * Add "virtualkeypad,size,changed" callback on virtualkeypad min > size > > > change for conformant. > > > * Add elm_slider_step_get(), elm_slider_step_set() for slider. > > > * Add ELM_OBJECT_MULTIPLE_SELECT_MODE_WITH_CONTROL select mode for > > > genlist/gengrid. > > > + * Add support elm_popup_move() for popup. > > > > > > Improvements: > > > > > > diff --git a/src/bin/test_popup.c b/src/bin/test_popup.c > > > index fa2d06e..945c3df 100644 > > > --- a/src/bin/test_popup.c > > > +++ b/src/bin/test_popup.c > > > @@ -22,6 +22,35 @@ _popup_close_cb(void *data, Evas_Object *obj > > > EINA_UNUSED, > > > } > > > > > > static void > > > +_popup_move_cb(void *data, Evas_Object *obj EINA_UNUSED, > > > + void *event_info EINA_UNUSED) > > > +{ > > > + static int k=0; > > > + > > > + if (k == 0) > > > + elm_popup_move(data, -10, 50);//negative x > > > + else if (k == 1) > > > + elm_popup_move(data, 40, -100);//negative y > > > + else if (k == 2) > > > + elm_popup_move(data, 0, 0);//zero x zero y > > > + else if (k == 3) > > > + elm_popup_move(data, 40, 50); > > > + else if (k == 4) > > > + elm_popup_move(data, 80, 100); > > > + else if (k == 5) > > > + elm_popup_move(data, 120, 150); > > > + else if (k == 6) > > > + elm_popup_move(data, 160, 200); > > > + else if (k == 7) > > > + elm_popup_move(data, 500, 9999);//excess y > > > + else > > > + elm_popup_move(data, 9999, 500);//excess x > > > + k++; > > > + if (k > 8) > > > + k = 0; > > > +} > > > + > > > +static void > > > _g_popup_response_cb(void *data, Evas_Object *obj EINA_UNUSED, > > > void *event_info EINA_UNUSED) > > > { > > > @@ -467,6 +496,33 @@ _popup_transparent_cb(void *data, Evas_Object *obj > > > EINA_UNUSED, > > > } > > > > > > static void > > > +_popup_transparent_move_cb(void *data, Evas_Object *obj EINA_UNUSED, > > > + void *event_info EINA_UNUSED) > > > +{ > > > + Evas_Object *popup; > > > + Evas_Object *btn, *btn1; > > > + > > > + popup = elm_popup_add(data); > > > + elm_object_style_set(popup, "transparent"); > > > + elm_object_text_set(popup, "This Popup has transparent > background"); > > > + > > > + // popup buttons > > > + btn = elm_button_add(popup); > > > + elm_object_text_set(btn, "Move"); > > > + elm_object_part_content_set(popup, "button1", btn); > > > + evas_object_smart_callback_add(btn, "clicked", _popup_move_cb, > > popup); > > > + > > > + btn1 = elm_button_add(popup); > > > + elm_object_text_set(btn1, "Close"); > > > + elm_object_part_content_set(popup, "button2", btn1); > > > + evas_object_smart_callback_add(btn1, "clicked", _popup_close_cb, > > > popup); > > > + > > > + // popup show should be called after adding all the contents and > the > > > buttons > > > + // of popup to set the focus into popup's contents correctly. > > > + evas_object_show(popup); > > > +} > > > + > > > +static void > > > _list_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info > > > EINA_UNUSED) > > > { > > > evas_object_del(data); > > > @@ -543,6 +599,8 @@ test_popup(void *data EINA_UNUSED, Evas_Object *obj > > > EINA_UNUSED, > > > > _popup_center_text_3button_add_remove_button_cb, > > > win); > > > elm_list_item_append(list, "popup-transparent", NULL, NULL, > > > _popup_transparent_cb, win); > > > + elm_list_item_append(list, "popup-transparent-move", NULL, NULL, > > > + _popup_transparent_move_cb, win); > > > elm_list_item_append(list, "popup-center-title + list content + 1 > > > button", > > > NULL, NULL, > > > _popup_center_title_list_content_1button_cb, > > > win); > > > diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c > > > index f873cff..c5b5c98 100644 > > > --- a/src/lib/elc_popup.c > > > +++ b/src/lib/elc_popup.c > > > @@ -1755,6 +1755,45 @@ _orient_get(Eo *obj EINA_UNUSED, void *_pd, > > va_list > > > *list) > > > } > > > > > > EAPI void > > > +elm_popup_move(Evas_Object *obj, > > > + Evas_Coord x, Evas_Coord y) > > > +{ > > > + ELM_POPUP_CHECK(obj); > > > + eo_do(obj, elm_obj_popup_move(x, y)); > > > +} > > > + > > > +static void > > > +_move(Eo *obj, void *_pd, va_list *list) > > > +{ > > > + Evas_Coord x = va_arg(*list, Evas_Coord); > > > + Evas_Coord y = va_arg(*list, Evas_Coord); > > > + Evas_Coord tw, th, w, h; > > > + Evas_Object *top; > > > + Elm_Popup_Smart_Data *sd = _pd; > > > + > > > + top = elm_widget_top_get(obj); > > > + if (!top) > > > + { > > > + ERR("The top parent is NULL! : popup=%p", obj); > > > + return; > > > + } > > > + > > > + evas_object_geometry_get(top, NULL, NULL, &tw, &th); > > > + evas_object_geometry_get(obj, NULL, NULL, &w, &h); > > > + > > > + if (x < 0) x = 0; > > > + if (y < 0) y = 0; > > > + if ((x > (tw - w)) && (tw - w > 0)) > > > + x = tw - w; > > > + if ((y > (th - h)) && (th - h > 0)) > > > + y = th - h; > > > + if ((x > tw) (y > th) (w > tw) (h > th)) > > > + elm_notify_align_set(sd->notify, 0.5, 0.5); > > > + else > > > + elm_notify_align_set(sd->notify, ((double)x/(double)tw), > > > ((double)y/(double)th)); > > > +} > > > + > > > +EAPI void > > > elm_popup_timeout_set(Evas_Object *obj, > > > double timeout) > > > { > > > @@ -1921,6 +1960,7 @@ _class_constructor(Eo_Class *klass) > > > > > > EO_OP_FUNC(ELM_OBJ_POPUP_ID(ELM_OBJ_POPUP_SUB_ID_ALLOW_EVENTS_SET), > > > _allow_events_set), > > > > > > EO_OP_FUNC(ELM_OBJ_POPUP_ID(ELM_OBJ_POPUP_SUB_ID_ALLOW_EVENTS_GET), > > > _allow_events_get), > > > EO_OP_FUNC(ELM_OBJ_POPUP_ID(ELM_OBJ_POPUP_SUB_ID_ITEM_APPEND), > > > _item_append), > > > + EO_OP_FUNC(ELM_OBJ_POPUP_ID(ELM_OBJ_POPUP_SUB_ID_MOVE), > _move), > > > EO_OP_FUNC_SENTINEL > > > }; > > > eo_class_funcs_set(klass, func_desc); > > > @@ -1937,6 +1977,7 @@ static const Eo_Op_Description op_desc[] = { > > > EO_OP_DESCRIPTION(ELM_OBJ_POPUP_SUB_ID_ALLOW_EVENTS_SET, "Sets > > > whether events should be passed to by a click outside."), > > > EO_OP_DESCRIPTION(ELM_OBJ_POPUP_SUB_ID_ALLOW_EVENTS_GET, "Returns > > > value indicating whether allow event is enabled or not."), > > > EO_OP_DESCRIPTION(ELM_OBJ_POPUP_SUB_ID_ITEM_APPEND, "Add a new > item > > > to a Popup object."), > > > + EO_OP_DESCRIPTION(ELM_OBJ_POPUP_SUB_ID_MOVE, "Move the popup > > > relative to its top parent."), > > > EO_OP_DESCRIPTION_SENTINEL > > > }; > > > static const Eo_Class_Description class_desc = { > > > diff --git a/src/lib/elc_popup_eo.h b/src/lib/elc_popup_eo.h > > > index 6d09109..75bf885 100644 > > > --- a/src/lib/elc_popup_eo.h > > > +++ b/src/lib/elc_popup_eo.h > > > @@ -20,6 +20,7 @@ enum > > > ELM_OBJ_POPUP_SUB_ID_ALLOW_EVENTS_SET, > > > ELM_OBJ_POPUP_SUB_ID_ALLOW_EVENTS_GET, > > > ELM_OBJ_POPUP_SUB_ID_ITEM_APPEND, > > > + ELM_OBJ_POPUP_SUB_ID_MOVE, > > > ELM_OBJ_POPUP_SUB_ID_LAST > > > }; > > > > > > @@ -138,6 +139,19 @@ enum > > > * @see elm_popup_item_append > > > */ > > > #define elm_obj_popup_item_append(label, icon, func, data, ret) > > > ELM_OBJ_POPUP_ID(ELM_OBJ_POPUP_SUB_ID_ITEM_APPEND), EO_TYPECHECK(const > > char > > > *, label), EO_TYPECHECK(Evas_Object *, icon), > EO_TYPECHECK(Evas_Smart_Cb, > > > func), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item > **, > > > ret) > > > + > > > +/** > > > + * @def elm_obj_popup_move > > > + * @since 1.8 > > > + * > > > + * @brief Move the popup relative to its top parent > > > + * > > > + * @param[in] x > > > + * @param[in] y > > > + * > > > + * @see elm_popup_move > > > + */ > > > +#define elm_obj_popup_move(x, y) > > > ELM_OBJ_POPUP_ID(ELM_OBJ_POPUP_SUB_ID_MOVE), EO_TYPECHECK(Evas_Coord, > x), > > > EO_TYPECHECK(Evas_Coord, y) > > > /** > > > * @} > > > */ > > > diff --git a/src/lib/elc_popup_legacy.h b/src/lib/elc_popup_legacy.h > > > index 0f2d08f..2530ba0 100644 > > > --- a/src/lib/elc_popup_legacy.h > > > +++ b/src/lib/elc_popup_legacy.h > > > @@ -136,3 +136,18 @@ EAPI Eina_Bool elm_popup_allow_events_get(const > > > Evas_Object *obj); > > > * and item(s) can be there in a popup content area. > > > */ > > > EAPI Elm_Object_Item *elm_popup_item_append(Evas_Object *obj, const > char > > > *label, Evas_Object *icon, Evas_Smart_Cb func, const void *data) > > > EINA_ARG_NONNULL(1); > > > + > > > +/** > > > + * @since 1.8 > > > + * > > > + * @brief Move the popup relative to its top parent > > > + * > > > + * @param obj popup object > > > + * @param x X position to move the popup object to, in canvas units, > > > + * with relative to its top parent object. > > > + * @param y Y position to move the popup object to, in canvas units, > > > + * with relative to its top parent object. > > > + * > > > + * @ingroup Popup > > > + */ > > > +EAPI void elm_popup_move(Evas_Object *obj, Evas_Coord x, Evas_Coord > y); > > > > > > -- > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > Android is increasing in popularity, but the open development platform > > that > > > developers love is also attractive to malware creators. Download this > > white > > > paper to learn more about secure code signing practices that can help > > keep > > > Android apps secure. > > > > > > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > > > _______________________________________________ > > > enlightenment-devel mailing list > > > enlightenment-devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > > > ------------------------------------------------------------------------------ > > Android is increasing in popularity, but the open development platform > that > > developers love is also attractive to malware creators. Download this > white > > paper to learn more about secure code signing practices that can help > keep > > Android apps secure. > > > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > > _______________________________________________ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > ------------------------------------------------------------------------------ > > Android is increasing in popularity, but the open development platform > that > > developers love is also attractive to malware creators. Download this > white > > paper to learn more about secure code signing practices that can help > keep > > Android apps secure. > > > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > > _______________________________________________ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > ------------------------------------------------------------------------------ > Android is increasing in popularity, but the open development platform that > developers love is also attractive to malware creators. Download this white > paper to learn more about secure code signing practices that can help keep > Android apps secure. > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > ------------------------------------------------------------------------------ > Android is increasing in popularity, but the open development platform that > developers love is also attractive to malware creators. Download this white > paper to learn more about secure code signing practices that can help keep > Android apps secure. > http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ------------------------------------------------------------------------------ Android is increasing in popularity, but the open development platform that developers love is also attractive to malware creators. Download this white paper to learn more about secure code signing practices that can help keep Android apps secure. http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel