From a7bb1662e22e875570796e15a5bbffa1979be47e Mon Sep 17 00:00:00 2001 From: Cedric Bail Date: Fri, 5 Aug 2016 10:31:49 -0700 Subject: [PATCH] Revert "elementary/layout: attach edje object API with eo compositing" This reverts commit 8a988717e18c4e9e6d4a0752441471a124056878. It seems we can't actually inherit from class more than once and neither eo nor eolian will complain about it. You will just get random weird behavior. This patch should come back once we have made an interface of edje. --- src/lib/elementary/efl_ui_text.c | 24 ++++---- src/lib/elementary/efl_ui_text.eo | 9 ++- src/lib/elementary/elc_naviframe.c | 4 +- src/lib/elementary/elc_popup.c | 4 +- src/lib/elementary/elm_entry.c | 24 ++++---- src/lib/elementary/elm_entry.eo | 8 +-- src/lib/elementary/elm_layout.c | 83 +++++++++++--------------- src/lib/elementary/elm_layout.eo | 105 +++++++++++++++++++++++++++++++-- src/lib/elementary/elm_naviframe.eo | 4 +- src/lib/elementary/elm_popup.eo | 4 +- src/tests/elementary/elm_test_layout.c | 31 ---------- 11 files changed, 174 insertions(+), 126 deletions(-) diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c index 344fc16..c119316 100644 --- a/src/lib/elementary/efl_ui_text.c +++ b/src/lib/elementary/efl_ui_text.c @@ -2630,7 +2630,7 @@ _text_append_idler(void *data) } EOLIAN static void -_efl_ui_text_edje_object_signal_emit(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data *sd, const char *emission, const char *source) +_efl_ui_text_elm_layout_signal_emit(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data *sd, const char *emission, const char *source) { /* always pass to both edje objs */ edje_object_signal_emit(sd->entry_edje, emission, source); @@ -2644,7 +2644,7 @@ _efl_ui_text_edje_object_signal_emit(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data *sd, } EOLIAN static void -_efl_ui_text_edje_object_signal_callback_add(Eo *obj, Efl_Ui_Text_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data) +_efl_ui_text_elm_layout_signal_callback_add (Eo *obj, Efl_Ui_Text_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data) { Evas_Object *ro; @@ -2654,25 +2654,25 @@ _efl_ui_text_edje_object_signal_callback_add(Eo *obj, Efl_Ui_Text_Data *sd, cons wd->resize_obj = sd->entry_edje; - edje_obj_signal_callback_add + elm_obj_layout_signal_callback_add (eo_super(obj, MY_CLASS), emission, source, func_cb, data); if (sd->scr_edje) { wd->resize_obj = sd->scr_edje; - edje_obj_signal_callback_add - (eo_super(obj, MY_CLASS), emission, source, func_cb, data); + elm_obj_layout_signal_callback_add + (eo_super(obj, MY_CLASS), emission, source, func_cb, data); } wd->resize_obj = ro; } EOLIAN static void * -_efl_ui_text_edje_object_signal_callback_del(Eo *obj, Efl_Ui_Text_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data) +_efl_ui_text_elm_layout_signal_callback_del(Eo *obj, Efl_Ui_Text_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb) { Evas_Object *ro; - void *data_ptr; + void *data = NULL; ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); @@ -2680,19 +2680,19 @@ _efl_ui_text_edje_object_signal_callback_del(Eo *obj, Efl_Ui_Text_Data *sd, cons wd->resize_obj = sd->entry_edje; - data_ptr = edje_obj_signal_callback_del - (eo_super(obj, MY_CLASS), emission, source, func_cb, data); + data = elm_obj_layout_signal_callback_del + (eo_super(obj, MY_CLASS), emission, source, func_cb); if (sd->scr_edje) { wd->resize_obj = sd->scr_edje; - data_ptr = edje_obj_signal_callback_del - (eo_super(obj, MY_CLASS), emission, source, func_cb, data); + data = elm_obj_layout_signal_callback_del + (eo_super(obj, MY_CLASS), emission, source, func_cb); } wd->resize_obj = ro; - return data_ptr; + return data; } #if 0 diff --git a/src/lib/elementary/efl_ui_text.eo b/src/lib/elementary/efl_ui_text.eo index dea33b5..5826057 100644 --- a/src/lib/elementary/efl_ui_text.eo +++ b/src/lib/elementary/efl_ui_text.eo @@ -4,8 +4,7 @@ import elm_entry; class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable, Elm.Interface.Atspi.Text, Elm.Interface.Atspi.Text.Editable, Efl.File, - Efl.Ui.Selectable, Efl.Ui.Scrollable, Efl.Ui.Text.Interactive, - Edje.Object) + Efl.Ui.Selectable, Efl.Ui.Scrollable, Efl.Ui.Text.Interactive) { methods { @property scrollable { @@ -378,9 +377,6 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable, Efl.Canvas.Group.group_del; Efl.Canvas.Group.group_show; Efl.Canvas.Group.group_hide; - Edje.Object.signal_callback_add; - Edje.Object.signal_callback_del; - Edje.Object.signal_emit; Elm.Widget.activate; Elm.Widget.focus_direction_manager_is; Elm.Widget.theme_apply; @@ -392,6 +388,9 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable, Elm.Layout.theme_enable; Elm.Layout.sizing_eval; Elm.Layout.text.get; + Elm.Layout.signal_callback_add; + Elm.Layout.signal_callback_del; + Elm.Layout.signal_emit; Elm.Layout.text.set; Elm.Layout.content_aliases.get; Elm.Interface_Scrollable.policy.set; diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c index 17f034d..9485243 100644 --- a/src/lib/elementary/elc_naviframe.c +++ b/src/lib/elementary/elc_naviframe.c @@ -1005,7 +1005,7 @@ _back_btn_new(Evas_Object *obj, const char *title_label) } EOLIAN static void -_elm_naviframe_edje_object_signal_emit(Eo *obj, Elm_Naviframe_Data *sd EINA_UNUSED, const char *emission, const char *source) +_elm_naviframe_elm_layout_signal_emit(Eo *obj, Elm_Naviframe_Data *sd EINA_UNUSED, const char *emission, const char *source) { Elm_Object_Item *eo_top_it; @@ -1013,7 +1013,7 @@ _elm_naviframe_edje_object_signal_emit(Eo *obj, Elm_Naviframe_Data *sd EINA_UNUS if (!eo_top_it) return; ELM_NAVIFRAME_ITEM_DATA_GET(eo_top_it, top_it); - edje_obj_signal_emit(VIEW(top_it), emission, source); + elm_obj_layout_signal_emit(VIEW(top_it), emission, source); } /* content/text smart functions proxying things to the top item, which diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c index 28836ef..de1ab74 100644 --- a/src/lib/elementary/elc_popup.c +++ b/src/lib/elementary/elc_popup.c @@ -490,9 +490,9 @@ _elm_popup_elm_layout_sizing_eval(Eo *obj, Elm_Popup_Data *sd) } EOLIAN static void -_elm_popup_edje_object_signal_emit(Eo *obj EINA_UNUSED, Elm_Popup_Data *sd, const char *emission, const char *source) +_elm_popup_elm_layout_signal_emit(Eo *obj EINA_UNUSED, Elm_Popup_Data *sd, const char *emission, const char *source) { - edje_obj_signal_emit(sd->main_layout, emission, source); + elm_layout_signal_emit(sd->main_layout, emission, source); } EOLIAN static Eina_Bool diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c index 3715b26..93cf0c7 100644 --- a/src/lib/elementary/elm_entry.c +++ b/src/lib/elementary/elm_entry.c @@ -3018,7 +3018,7 @@ _chars_add_till_limit(Evas_Object *obj, } EOLIAN static void -_elm_entry_edje_object_signal_emit(Eo *obj EINA_UNUSED, Elm_Entry_Data *sd, const char *emission, const char *source) +_elm_entry_elm_layout_signal_emit(Eo *obj EINA_UNUSED, Elm_Entry_Data *sd, const char *emission, const char *source) { /* always pass to both edje objs */ edje_object_signal_emit(sd->entry_edje, emission, source); @@ -3032,7 +3032,7 @@ _elm_entry_edje_object_signal_emit(Eo *obj EINA_UNUSED, Elm_Entry_Data *sd, cons } EOLIAN static void -_elm_entry_edje_object_signal_callback_add(Eo *obj, Elm_Entry_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data) +_elm_entry_elm_layout_signal_callback_add (Eo *obj, Elm_Entry_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data) { Evas_Object *ro; @@ -3042,25 +3042,25 @@ _elm_entry_edje_object_signal_callback_add(Eo *obj, Elm_Entry_Data *sd, const ch wd->resize_obj = sd->entry_edje; - edje_obj_signal_callback_add + elm_obj_layout_signal_callback_add (eo_super(obj, MY_CLASS), emission, source, func_cb, data); if (sd->scr_edje) { wd->resize_obj = sd->scr_edje; - edje_obj_signal_callback_add - (eo_super(obj, MY_CLASS), emission, source, func_cb, data); + elm_obj_layout_signal_callback_add + (eo_super(obj, MY_CLASS), emission, source, func_cb, data); } wd->resize_obj = ro; } EOLIAN static void * -_elm_entry_edje_object_signal_callback_del(Eo *obj, Elm_Entry_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data) +_elm_entry_elm_layout_signal_callback_del(Eo *obj, Elm_Entry_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb) { Evas_Object *ro; - void *data_ptr; + void *data = NULL; ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); @@ -3068,19 +3068,19 @@ _elm_entry_edje_object_signal_callback_del(Eo *obj, Elm_Entry_Data *sd, const ch wd->resize_obj = sd->entry_edje; - data_ptr = edje_obj_signal_callback_del - (eo_super(obj, MY_CLASS), emission, source, func_cb, data); + data = elm_obj_layout_signal_callback_del + (eo_super(obj, MY_CLASS), emission, source, func_cb); if (sd->scr_edje) { wd->resize_obj = sd->scr_edje; - data_ptr = edje_obj_signal_callback_del - (eo_super(obj, MY_CLASS), emission, source, func_cb, data); + data = elm_obj_layout_signal_callback_del + (eo_super(obj, MY_CLASS), emission, source, func_cb); } wd->resize_obj = ro; - return data_ptr; + return data; } static Eina_Bool diff --git a/src/lib/elementary/elm_entry.eo b/src/lib/elementary/elm_entry.eo index d9c6856..b6c5564 100644 --- a/src/lib/elementary/elm_entry.eo +++ b/src/lib/elementary/elm_entry.eo @@ -116,7 +116,7 @@ enum Elm.Cnp_Mode class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable, Elm.Interface.Atspi.Text, Elm.Interface.Atspi.Text.Editable, Efl.File, - Efl.Ui.Selectable, Efl.Ui.Scrollable, Edje.Object) + Efl.Ui.Selectable, Efl.Ui.Scrollable) { legacy_prefix: elm_entry; eo_prefix: elm_obj_entry; @@ -942,9 +942,6 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable, Efl.Canvas.Group.group_del; Efl.Canvas.Group.group_show; Efl.Canvas.Group.group_hide; - Edje.Object.signal_callback_add; - Edje.Object.signal_callback_del; - Edje.Object.signal_emit; Elm.Widget.activate; Elm.Widget.focus_direction_manager_is; Elm.Widget.theme_apply; @@ -956,6 +953,9 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable, Elm.Layout.theme_enable; Elm.Layout.sizing_eval; Elm.Layout.text.get; + Elm.Layout.signal_callback_add; + Elm.Layout.signal_callback_del; + Elm.Layout.signal_emit; Elm.Layout.text.set; Elm.Layout.content_aliases.get; Elm.Interface_Scrollable.policy.set; diff --git a/src/lib/elementary/elm_layout.c b/src/lib/elementary/elm_layout.c index 5bc1271..7622976 100644 --- a/src/lib/elementary/elm_layout.c +++ b/src/lib/elementary/elm_layout.c @@ -772,7 +772,6 @@ _elm_layout_efl_canvas_group_group_add(Eo *obj, Elm_Layout_Smart_Data *_pd EINA_ /* has to be there *before* parent's smart_add() */ edje = edje_object_add(evas_object_evas_get(obj)); - eo_composite_attach(obj, edje); elm_widget_resize_object_set(obj, edje, EINA_TRUE); efl_canvas_group_add(eo_super(obj, MY_CLASS)); @@ -919,22 +918,16 @@ _elm_layout_theme_set(Eo *obj, Elm_Layout_Smart_Data *sd, const char *klass, con return EINA_FALSE; } -EAPI void -elm_layout_signal_emit(Evas_Object *obj, const char *emission, const char *source) +EOLIAN static void +_elm_layout_signal_emit(Eo *obj, Elm_Layout_Smart_Data *_pd EINA_UNUSED, const char *emission, const char *source) { - edje_obj_signal_emit(obj, emission, source); -} + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); -EAPI void -elm_layout_signal_callback_add(Evas_Object *obj, - const char *emission, const char *source, - Edje_Signal_Cb func_cb, void *data) -{ - edje_obj_signal_callback_add(obj, emission, source, func_cb, data); + edje_object_signal_emit(wd->resize_obj, emission, source); } EOLIAN static void -_elm_layout_edje_object_signal_callback_add(Eo *obj, Elm_Layout_Smart_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data) +_elm_layout_signal_callback_add(Eo *obj, Elm_Layout_Smart_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data) { Edje_Signal_Data *esd; @@ -951,23 +944,16 @@ _elm_layout_edje_object_signal_callback_add(Eo *obj, Elm_Layout_Smart_Data *sd, sd->edje_signals = eina_list_append(sd->edje_signals, esd); edje_object_signal_callback_add - (wd->resize_obj, emission, source, _edje_signal_callback, esd); + (wd->resize_obj, emission, source, + _edje_signal_callback, esd); } -EAPI void * -elm_layout_signal_callback_del(Evas_Object *obj, - const char *emission, const char *source, - Edje_Signal_Cb func_cb) +EOLIAN static void* +_elm_layout_signal_callback_del(Eo *obj, Elm_Layout_Smart_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb) { - return edje_obj_signal_callback_del(obj, emission, source, func_cb, NULL); -} - -EOLIAN static void * -_elm_layout_edje_object_signal_callback_del(Eo *obj, Elm_Layout_Smart_Data *sd, const char *emission, const char *source, Edje_Signal_Cb func_cb, void *data EINA_UNUSED) -{ - Edje_Signal_Data *esd; + Edje_Signal_Data *esd = NULL; + void *data = NULL; Eina_List *l; - void *data_ptr; ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); @@ -979,13 +965,16 @@ _elm_layout_edje_object_signal_callback_del(Eo *obj, Elm_Layout_Smart_Data *sd, sd->edje_signals = eina_list_remove_list(sd->edje_signals, l); eina_stringshare_del(esd->emission); eina_stringshare_del(esd->source); - data_ptr = esd->data; + data = esd->data; + + edje_object_signal_callback_del_full + (wd->resize_obj, emission, source, + _edje_signal_callback, esd); - edje_obj_signal_callback_del - (wd->resize_obj, emission, source, _edje_signal_callback, esd); free(esd); - return data_ptr; /* stop at 1st match */ + return data; /* stop at 1st match */ + } } @@ -1667,10 +1656,12 @@ _elm_layout_edje_get(Eo *obj, Elm_Layout_Smart_Data *_pd EINA_UNUSED) return wd->resize_obj; } -EAPI const char * -elm_layout_data_get(const Evas_Object *obj, const char *key) +EOLIAN static const char* +_elm_layout_data_get(const Eo *obj, Elm_Layout_Smart_Data *_pd EINA_UNUSED, const char *key) { - return edje_obj_data_get(obj, key); + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); + + return edje_object_data_get(wd->resize_obj, key); } /* layout's sizing evaluation is deferred. evaluation requests are @@ -1696,36 +1687,30 @@ _elm_layout_sizing_restricted_eval(Eo *obj, Elm_Layout_Smart_Data *sd, Eina_Bool evas_object_smart_changed(obj); } -EAPI int -elm_layout_freeze(Evas_Object *obj) -{ - return edje_obj_freeze(obj); -} - EOLIAN static int -_elm_layout_edje_object_freeze(Eo *obj, Elm_Layout_Smart_Data *sd) +_elm_layout_freeze(Eo *obj, Elm_Layout_Smart_Data *_pd EINA_UNUSED) { + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, 1); + ELM_LAYOUT_DATA_GET(obj, sd); + if ((sd->frozen)++ != 0) return sd->frozen; - edje_obj_freeze(eo_super(obj, MY_CLASS)); + edje_object_freeze(wd->resize_obj); return 1; } -EAPI int -elm_layout_thaw(Evas_Object *obj) -{ - return edje_obj_thaw(obj); -} - EOLIAN static int -_elm_layout_edje_object_thaw(Eo *obj, Elm_Layout_Smart_Data *sd) +_elm_layout_thaw(Eo *obj, Elm_Layout_Smart_Data *_pd EINA_UNUSED) { + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, 0); + ELM_LAYOUT_DATA_GET(obj, sd); + if (--(sd->frozen) != 0) return sd->frozen; - edje_obj_thaw(eo_super(obj, MY_CLASS)); + edje_object_thaw(wd->resize_obj); - _elm_layout_sizing_eval(obj, sd); + elm_obj_layout_sizing_eval(obj); return 0; } diff --git a/src/lib/elementary/elm_layout.eo b/src/lib/elementary/elm_layout.eo index 40c6401..92b4fb9 100644 --- a/src/lib/elementary/elm_layout.eo +++ b/src/lib/elementary/elm_layout.eo @@ -17,7 +17,7 @@ struct Elm.Layout_Part_Alias_Description real_part: string; [[Target part name for the alias set on Elm.Layout_Part_Proxies_Description::real_part. An example of usage would be "default" on that field, with "elm.content.swallow" on this one]] } -class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File, Edje.Object) +class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File) { legacy_prefix: elm_layout; eo_prefix: elm_obj_layout; @@ -123,6 +123,16 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File, Edje.Object) @in part_name: string; [[A part from loaded edje group.]] } } + freeze { + [[Freezes the Elementary layout object. + + This function puts all changes on hold. Successive freezes will + nest, requiring an equal number of thaws. + + See also @.thaw. + ]] + return: int; [[The frozen state or 0 on error.]] + } theme_enable { legacy: null; return: bool; @@ -196,6 +206,23 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File, Edje.Object) text: string @nullable; [[The text to set.]] } } + signal_callback_add { + [[Add a callback for a (Edje) signal emitted by a layout widget's + underlying Edje object. + + This function connects a callback function to a signal emitted by + the underlying Edje object of $obj. Globs are accepted in either + the emission or source strings. + ]] + params { + @in emission: string; [[The signal's name string.]] + @in source: string; [[The signal's source string.]] + @in func: Edje.Signal_Cb; [[The callback function to be executed + when the signal is emitted.]] + @in data: void_ptr @optional; [[A pointer to data to pass in to the + callback function.]] + } + } part_cursor_set { [[Sets a specific cursor for an edje part.]] return: bool; [[$true on success or $false on failure, that may be @@ -216,6 +243,78 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File, Edje.Object) legacy: null; return: bool; } + data_get @const { + [[Get the edje data from the given layout. + + This function fetches data specified inside the edje theme of + this layout. This function return NULL if data is not found. + + In EDC this comes from a data block within the group block that + $obj was loaded from. + ]] + /* FIXME-doc + @code + collections { + group { + name: "a_group"; + data { + item: "key1" "value1"; + item: "key2" "value2"; + } + } + } + @endcode + */ + return: string; [[The edje data string.]] + params { + @in key: string; [[The data key.]] + } + } + signal_callback_del { + [[Remove a signal-triggered callback from a given layout widget. + + This function removes the last callback attached to a signal + emitted by the undelying Edje object of $obj, with parameters + $emission, $source and $func matching exactly those passed to a + previous call to @.signal_callback_add. The data pointer that + was passed to this call will be returned. + ]] + return: void_ptr; [[The data pointer of the signal callback (passed on + @.signal_callback_add) or $null on errors.]] + params { + @in emission: string; [[The signal's name string.]] + @in source: string; [[The signal's source string.]] + @in func: Edje.Signal_Cb; [[The callback function being executed + when the signal was emitted.]] + } + } + thaw { + [[Thaws the Elementary object. + + This function thaws the given Edje object and the Elementary + sizing calc. + + Note: If sucessives freezes were done, an equal number of + thaws will be required. + + See also @.freeze. + ]] + return: int; [[The frozen state or 0 if the object is not frozen or on error.]] + } + signal_emit { + [[Send a (Edje) signal to a given layout widget's underlying Edje + object. + + This function sends a signal to the underlying Edje object of + $obj. An Edje program on that Edje object's definition can + respond to a signal by specifying matching 'signal' and + 'source' fields. + ]] + params { + @in emission: string; [[The signal's name string.]] + @in source: string; [[The signal's source string.]] + } + } part_cursor_unset { [[Unsets a cursor previously set with @.part_cursor_set.]] return: bool; @@ -252,10 +351,6 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File, Edje.Object) Efl.Container.content.get; Efl.Container.content_unset; Efl.Part.part; - Edje.Object.freeze; - Edje.Object.thaw; - Edje.Object.signal_callback_add; - Edje.Object.signal_callback_del; } events { theme,changed; diff --git a/src/lib/elementary/elm_naviframe.eo b/src/lib/elementary/elm_naviframe.eo index 1ce0c01..83c1f2d 100644 --- a/src/lib/elementary/elm_naviframe.eo +++ b/src/lib/elementary/elm_naviframe.eo @@ -1,4 +1,4 @@ -class Elm.Naviframe (Elm.Layout, Elm.Interface.Atspi_Widget_Action, Edje.Object) +class Elm.Naviframe (Elm.Layout, Elm.Interface.Atspi_Widget_Action) { legacy_prefix: elm_naviframe; eo_prefix: elm_obj_naviframe; @@ -145,7 +145,6 @@ class Elm.Naviframe (Elm.Layout, Elm.Interface.Atspi_Widget_Action, Edje.Object) Efl.Canvas.Group.group_del; Efl.Canvas.Group.group_show; Efl.Canvas.Group.group_add; - Edje.Object.signal_emit; Elm.Widget.focus_direction; Elm.Widget.focus_next_manager_is; Elm.Widget.focus_direction_manager_is; @@ -156,6 +155,7 @@ class Elm.Naviframe (Elm.Layout, Elm.Interface.Atspi_Widget_Action, Edje.Object) Elm.Widget.event; Elm.Layout.text.set; Elm.Layout.text.get; + Elm.Layout.signal_emit; Elm.Layout.sizing_eval; Elm.Interface.Atspi_Widget_Action.elm_actions.get; Efl.Part.part; diff --git a/src/lib/elementary/elm_popup.eo b/src/lib/elementary/elm_popup.eo index 93feda0..90745ca 100644 --- a/src/lib/elementary/elm_popup.eo +++ b/src/lib/elementary/elm_popup.eo @@ -23,7 +23,7 @@ enum Elm.Popup.Orient } -class Elm.Popup (Elm.Layout, Elm.Interface.Atspi_Widget_Action, Edje.Object) +class Elm.Popup (Elm.Layout, Elm.Interface.Atspi_Widget_Action) { legacy_prefix: elm_popup; eo_prefix: elm_obj_popup; @@ -169,7 +169,6 @@ class Elm.Popup (Elm.Layout, Elm.Interface.Atspi_Widget_Action, Edje.Object) Eo.Base.constructor; Efl.Canvas.Group.group_del; Efl.Canvas.Group.group_add; - Edje.Object.signal_emit; Elm.Widget.focus_direction; Elm.Widget.focus_next_manager_is; Elm.Widget.theme_apply; @@ -183,6 +182,7 @@ class Elm.Popup (Elm.Layout, Elm.Interface.Atspi_Widget_Action, Edje.Object) 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; Efl.Part.part; diff --git a/src/tests/elementary/elm_test_layout.c b/src/tests/elementary/elm_test_layout.c index 6fcb5b4..f4f9b0d 100644 --- a/src/tests/elementary/elm_test_layout.c +++ b/src/tests/elementary/elm_test_layout.c @@ -57,39 +57,8 @@ START_TEST(elm_layout_swallows) } END_TEST -START_TEST(elm_layout_edje_attach) -{ - char buf[PATH_MAX]; - Evas_Object *win, *layout; - const Evas_Object *part; - int r, g, b, a; - - elm_init(1, NULL); - win = elm_win_add(NULL, "layout", ELM_WIN_BASIC); - - layout = eo_add(ELM_LAYOUT_CLASS, win); - snprintf(buf, sizeof(buf), "%s/objects/test.edj", ELM_TEST_DATA_DIR); - edje_object_file_set(layout, buf, "layout_edje"); - evas_object_show(layout); - - edje_object_color_class_set(layout, "red", 255, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0); - part = edje_object_part_object_get(layout, "red"); - evas_object_color_get(part, &r, &g, &b, &a); - fail_if((r != 255) || (g != 0) || (b != 0) || (a != 255)); - - edje_object_signal_emit(layout, "change", "test"); - edje_object_message_signal_process(layout); - part = edje_object_part_object_get(layout, "blue"); - evas_object_color_get(part, &r, &g, &b, &a); - fail_if((r != 0) || (g != 0) || (b != 255) || (a != 255)); - - elm_shutdown(); -} -END_TEST - void elm_test_layout(TCase *tc) { tcase_add_test(tc, elm_atspi_role_get); tcase_add_test(tc, elm_layout_swallows); - tcase_add_test(tc, elm_layout_edje_attach); } -- 2.7.4