Dear All, Hello I have attached two files, one is the patch(*.diff) for adding restacking feature to the ctxpopup. The other is test example(*.TEST_EXAMPLE). You can test on the elementary_test > ctxpopup > "Ctxpopup with user content" And click the button which is labeled "Enlightenment". Then label will overlap the ctxpopup.. The ctxpopup will raise in a little time. Please review the patch and if there is no problem, please throw the test example away! :-)
Sincerely, Shinwoo Kim.
ctxpopup_add_restacking_feature.TEST_EXAMPLE
Description: Binary data
Index: src/lib/elc_ctxpopup.c =================================================================== --- src/lib/elc_ctxpopup.c (revision 66326) +++ src/lib/elc_ctxpopup.c (working copy) @@ -119,6 +119,7 @@ static void _ctxpopup_move(void *data, Evas *e, Evas_Object *obj, void *event_info); +static void _restack(void *data, Evas *e, Evas_Object *obj, void *event_info); static void _item_select_cb(void *data, Evas_Object *obj, const char *emission, const char *source); @@ -1103,6 +1104,17 @@ _ctxpopup_move(void *data __UNUSED__, Evas *e __UN } static void +_restack(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) +{ + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd) return; + evas_object_layer_set(wd->bg, + evas_object_layer_get(obj)); + evas_object_layer_set(wd->base, + evas_object_layer_get(obj)); +} + +static void _item_select_cb(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__) { @@ -1272,6 +1284,7 @@ elm_ctxpopup_add(Evas_Object *parent) NULL); evas_object_event_callback_add(obj, EVAS_CALLBACK_MOVE, _ctxpopup_move, NULL); + evas_object_event_callback_add(obj, EVAS_CALLBACK_RESTACK, _restack, obj); evas_object_smart_callback_add(obj, "scroll-freeze-on", _freeze_on, obj); evas_object_smart_callback_add(obj, "scroll-freeze-off", _freeze_off, obj); evas_object_smart_callback_add(obj, "scroll-hold-on", _hold_on, obj);
------------------------------------------------------------------------------ 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 enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel