From 4d9a19a1d52543755305cd008c7c4ce648743981 Mon Sep 17 00:00:00 2001 From: Taehyub Kim Date: Tue, 5 Apr 2016 10:16:38 +0530 Subject: [PATCH] elc_popup: support siganl emit for the main layout of popup Summary: Popup has the main layout to show popup view, but it is not resize object of popup. As the result, we cannot emit the signal to the main layout when we want to change the state of the popup. So, popup inherited a layout signal emit and redirect the signal to the main layout. Test Plan: 1. add the custom signal in elm/popup/base/default layout 2. send the custom siganl in application code Reviewers: woohyun, raster, cedric, Hermet, singh.amitesh Reviewed By: singh.amitesh Subscribers: jpeg Differential Revision: https://phab.enlightenment.org/D3852 --- src/lib/elementary/elc_popup.c | 6 ++++++ src/lib/elementary/elc_popup.h | 8 ++++++++ src/lib/elementary/elm_popup.eo | 1 + 3 files changed, 15 insertions(+) diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c index 9ee09a8fef..054d219c20 100644 --- a/src/lib/elementary/elc_popup.c +++ b/src/lib/elementary/elc_popup.c @@ -484,6 +484,12 @@ _elm_popup_elm_layout_sizing_eval(Eo *obj, Elm_Popup_Data *sd) evas_object_size_hint_max_set(obj, -1, -1); } +EOLIAN static void +_elm_popup_elm_layout_signal_emit(Eo *obj EINA_UNUSED, Elm_Popup_Data *sd, const char *emission, const char *source) +{ + elm_layout_signal_emit(sd->main_layout, emission, source); +} + EOLIAN static Eina_Bool _elm_popup_elm_widget_sub_object_del(Eo *obj, Elm_Popup_Data *sd, Evas_Object *sobj) { diff --git a/src/lib/elementary/elc_popup.h b/src/lib/elementary/elc_popup.h index 311869f198..b0028181c7 100644 --- a/src/lib/elementary/elc_popup.h +++ b/src/lib/elementary/elc_popup.h @@ -111,6 +111,14 @@ * @li @ref elm_object_item_del * @li @ref elm_object_item_signal_emit * + * supported elm_object common APIs. + * @li @ref elm_object_part_text_set + * @li @ref elm_object_part_text_get + * @li @ref elm_object_part_content_set + * @li @ref elm_object_part_content_get + * @li @ref elm_object_part_content_unset + * @li @ref elm_object_signal_emit + * * Here are some sample code to illustrate Popup usage: * @li @ref popup_example_01_c * @li @ref popup_example_02_c diff --git a/src/lib/elementary/elm_popup.eo b/src/lib/elementary/elm_popup.eo index e93bb9a15b..c249575590 100644 --- a/src/lib/elementary/elm_popup.eo +++ b/src/lib/elementary/elm_popup.eo @@ -183,6 +183,7 @@ class Elm.Popup (Elm.Layout, Elm.Interface_Atspi_Widget_Action) Elm.Layout.text.set; Elm.Layout.text.get; Elm.Layout.sizing_eval; + Elm.Layout.signal_emit; Elm.Interface_Atspi_Widget_Action.elm_actions.get; Elm.Interface_Atspi_Accessible.state_set.get; }