zmike pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=da16711974463de030a96e020465021e8c0885d8

commit da16711974463de030a96e020465021e8c0885d8
Author: Mike Blumenkrantz <[email protected]>
Date:   Mon Mar 4 13:36:25 2019 -0500

    efl.ui.layout: fix theme.get implementation (+unit test)
    
    Summary: ref T7512
    
    Reviewers: cedric
    
    Reviewed By: cedric
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl_api
    
    Maniphest Tasks: T7512
    
    Differential Revision: https://phab.enlightenment.org/D8059
---
 src/lib/elementary/efl_ui_layout.c        |  8 ++++++++
 src/lib/elementary/efl_ui_layout_base.eo  |  3 ---
 src/tests/elementary/efl_ui_test_layout.c | 17 +++++++++++++++++
 3 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/src/lib/elementary/efl_ui_layout.c 
b/src/lib/elementary/efl_ui_layout.c
index eea91fe1ca..17260f44b2 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -912,6 +912,14 @@ _efl_ui_layout_efl_file_mmap_get(const Eo *obj, void *_pd 
EINA_UNUSED)
    return efl_file_mmap_get(wd->resize_obj);
 }
 
+EOLIAN static void
+_efl_ui_layout_base_theme_get(const Eo *obj, Efl_Ui_Layout_Data *sd 
EINA_UNUSED, const char **klass, const char **group, const char **style)
+{
+   if (klass) *klass = elm_widget_theme_klass_get(obj);
+   if (group) *group = elm_widget_theme_element_get(obj);
+   if (style) *style = elm_widget_theme_style_get(obj);
+}
+
 EOLIAN static Efl_Ui_Theme_Apply_Result
 _efl_ui_layout_base_theme_set(Eo *obj, Efl_Ui_Layout_Data *sd, const char 
*klass, const char *group, const char *style)
 {
diff --git a/src/lib/elementary/efl_ui_layout_base.eo 
b/src/lib/elementary/efl_ui_layout_base.eo
index 22ab3efce9..4ad9edbca5 100644
--- a/src/lib/elementary/efl_ui_layout_base.eo
+++ b/src/lib/elementary/efl_ui_layout_base.eo
@@ -34,12 +34,9 @@ abstract @beta Efl.Ui.Layout_Base extends Efl.Ui.Widget 
implements Efl.Container
                [[Whether the style was successfully applied or not, see
                  the values of @Efl.Ui.Theme_Apply_Result for more 
information.]]
          }
-         /*
-         TODO:
          get {
             [[Get information about the current theme in use.]]
          }
-         */
          values {
             klass: string; [[The class of the group, eg. "button".]]
             group: string("base"); [[The group, eg. "base".]]
diff --git a/src/tests/elementary/efl_ui_test_layout.c 
b/src/tests/elementary/efl_ui_test_layout.c
index f64c7131ce..7aac2adc54 100644
--- a/src/tests/elementary/efl_ui_test_layout.c
+++ b/src/tests/elementary/efl_ui_test_layout.c
@@ -90,10 +90,27 @@ EFL_START_TEST(efl_ui_layout_test_layout_force)
 }
 EFL_END_TEST
 
+EFL_START_TEST(efl_ui_layout_test_layout_theme)
+{
+   Evas_Object *win;
+   const char *klass, *group, *style;
+
+   win = win_add(NULL, "layout", EFL_UI_WIN_BASIC);
+   Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, win,
+     efl_ui_layout_theme_set(efl_added, "win", "background", NULL)
+   );
+   efl_ui_layout_theme_get(layout, &klass, &group, &style);
+   ck_assert_str_eq(klass, "win");
+   ck_assert_str_eq(group, "background");
+   ck_assert(!style);
+}
+EFL_END_TEST
+
 void efl_ui_test_layout(TCase *tc)
 {
    tcase_add_test(tc, efl_ui_layout_test_property_bind);
    tcase_add_test(tc, efl_ui_layout_test_layout_api_size_min);
    tcase_add_test(tc, efl_ui_layout_test_layout_api_update_hints);
    tcase_add_test(tc, efl_ui_layout_test_layout_force);
+   tcase_add_test(tc, efl_ui_layout_test_layout_theme);
 }

-- 


Reply via email to