summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2019-12-20 16:13:58 +0100
committerCedric BAIL <cedric.bail@free.fr>2019-12-20 10:33:37 -0800
commit193ae1c14ceb0b61d172a89d2dec8fe3d28d7733 (patch)
tree4b0c3da809d1c58248f4e9bb7591d4f2281e00b3
parentb9818f566cca37888782c01a4f4388ce3260af2d (diff)
downloadefl-193ae1c14ceb0b61d172a89d2dec8fe3d28d7733.tar.gz
efl_ui_layout: add API to check out the theme_version
this new API returns the theme version specified in the loaded theme. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10944
-rw-r--r--src/lib/elementary/efl_ui_layout.c6
-rw-r--r--src/lib/elementary/efl_ui_layout_base.eo16
-rw-r--r--src/tests/elementary/efl_ui_test_layout.c11
3 files changed, 33 insertions, 0 deletions
diff --git a/src/lib/elementary/efl_ui_layout.c b/src/lib/elementary/efl_ui_layout.c
index a05a8ebb6a..9ab1ab3a4a 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -645,6 +645,12 @@ _efl_ui_layout_base_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Layout_Data *sd)
return EFL_UI_THEME_APPLY_ERROR_NONE;
}
+EOLIAN static int
+_efl_ui_layout_base_theme_version_get(const Eo *obj EINA_UNUSED, Efl_Ui_Layout_Data *pd)
+{
+ return pd->version;
+}
+
EOLIAN static Eina_Bool
_efl_ui_layout_base_efl_ui_focus_object_on_focus_update(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED)
{
diff --git a/src/lib/elementary/efl_ui_layout_base.eo b/src/lib/elementary/efl_ui_layout_base.eo
index aa616c777a..8cd206c310 100644
--- a/src/lib/elementary/efl_ui_layout_base.eo
+++ b/src/lib/elementary/efl_ui_layout_base.eo
@@ -87,6 +87,22 @@ abstract Efl.Ui.Layout_Base extends Efl.Ui.Widget implements Efl.Container,
orientation : int; [[The new rotation angle, in degrees.]]
}
}
+ @property theme_version {
+ [[The version a theme does offer
+
+ A theme might offer older theme versions, with this property you can detect which version is running. The theme version is bound to the efl-version, the oldest version you will get here is 123. The newest of released EFL.
+
+ This property is only valid after @Efl.Ui.Widget.theme_apply has been called.
+
+ In case there is no version specified, 0 is returned.
+ ]]
+ get {
+
+ }
+ values {
+ version : int; [[Theme version of this objec, for a EFL version called 1.23, this property will return 123.]]
+ }
+ }
}
implements {
class.constructor;
diff --git a/src/tests/elementary/efl_ui_test_layout.c b/src/tests/elementary/efl_ui_test_layout.c
index 387bf9aa68..86f4b1efe8 100644
--- a/src/tests/elementary/efl_ui_test_layout.c
+++ b/src/tests/elementary/efl_ui_test_layout.c
@@ -208,6 +208,16 @@ EFL_START_TEST(efl_ui_layout_test_api_ordering)
}
EFL_END_TEST
+EFL_START_TEST(efl_ui_layout_test_versioning)
+{
+ Evas_Object *win;
+
+ win = win_add(NULL, "layout", EFL_UI_WIN_TYPE_BASIC);
+ Eo *layout = efl_add(EFL_UI_BUTTON_CLASS, win);
+ ck_assert_int_eq(efl_ui_layout_theme_version_get(layout), 123);
+}
+EFL_END_TEST
+
void efl_ui_test_layout(TCase *tc)
{
tcase_add_test(tc, efl_ui_layout_test_property_bind);
@@ -218,4 +228,5 @@ void efl_ui_test_layout(TCase *tc)
tcase_add_test(tc, efl_ui_layout_test_api_ordering);
tcase_add_test(tc, efl_ui_layout_test_callback);
tcase_add_test(tc, efl_ui_layout_test_property_bind_provider);
+ tcase_add_test(tc, efl_ui_layout_test_versioning);
}