elc_popup: support siganl emit for the main layout of popup
authorTaehyub Kim <taehyub.kim@samsung.com>
Tue, 5 Apr 2016 04:46:38 +0000 (10:16 +0530)
committerAmitesh Singh <amitesh.sh@samsung.com>
Tue, 5 Apr 2016 04:46:38 +0000 (10:16 +0530)
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
src/lib/elementary/elc_popup.h
src/lib/elementary/elm_popup.eo

index 9ee09a8..054d219 100644 (file)
@@ -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)
 {
index 311869f..b002818 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 e93bb9a..c249575 100644 (file)
@@ -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;
    }