From b2058b97b8ded9a23b96745a3e19987147295314 Mon Sep 17 00:00:00 2001 From: Taehyub Kim Date: Thu, 14 Apr 2016 11:20:39 +0900 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 Change-Id: I12f0f313dc76b2e27dde95ec5e13f8a5c04e6792 --- src/lib/elc_popup.c | 6 ++++++ src/lib/elc_popup.h | 8 ++++++++ src/lib/elm_popup.eo | 1 + 3 files changed, 15 insertions(+) diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c index 6e75868..89ac9a4 100644 --- a/src/lib/elc_popup.c +++ b/src/lib/elc_popup.c @@ -516,6 +516,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/elc_popup.h b/src/lib/elc_popup.h index d672db2..0613d6c 100644 --- a/src/lib/elc_popup.h +++ b/src/lib/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/elm_popup.eo b/src/lib/elm_popup.eo index 95d51d0..44e56c6 100644 --- a/src/lib/elm_popup.eo +++ b/src/lib/elm_popup.eo @@ -181,6 +181,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; } -- 2.7.4