elc_popup: support siganl emit for the main layout of popup 05/65905/1
authorTaehyub Kim <taehyub.kim@samsung.com>
Thu, 14 Apr 2016 02:20:39 +0000 (11:20 +0900)
committerTaehyub Kim <taehyub.kim@samsung.com>
Thu, 14 Apr 2016 02:20:47 +0000 (11:20 +0900)
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
src/lib/elc_popup.h
src/lib/elm_popup.eo

index 6e75868..89ac9a4 100644 (file)
@@ -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)
 {
index d672db2..0613d6c 100644 (file)
  * @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
index 95d51d0..44e56c6 100644 (file)
@@ -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;
    }