From d8500f43f422bb96960b995246ca89e52cbd923d Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Tue, 12 Feb 2013 06:33:19 +0000 Subject: [PATCH] elementary/glview - support "language,changed" callback SVN revision: 83839 --- legacy/elementary/ChangeLog | 5 +++++ legacy/elementary/NEWS | 1 + legacy/elementary/src/lib/elm_glview.c | 12 ++++++++++++ legacy/elementary/src/lib/elm_glview.h | 1 + 4 files changed, 19 insertions(+) diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index 0e11938b8a..f1ea8489fe 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -984,3 +984,8 @@ 2013-02-07 Jaehwan Kim * Add smart callback signals of a scroller. "vbar,drag", "vbar,press", "vbar,unpress", "hbar,drag", "hbar,press", "hbar,unpress". + +2013-02-13 ChunEon Park (Hermet) + + * GLview supports "language,changed" smart callback. + diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS index 38a7751c90..6efa0fa49f 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/NEWS @@ -33,6 +33,7 @@ Additions: * Add elm_index_delay_change_time_set/get for changing delay change time in index. * Add elm_index smart callback - "language,changed". * Add smart callback signals of a scroller. "vbar,drag", "vbar,press", "vbar,unpress", "hbar,drag", "hbar,press", "hbar,unpress". + * Add elm_glview smart callback - "language,changed". Improvements: diff --git a/legacy/elementary/src/lib/elm_glview.c b/legacy/elementary/src/lib/elm_glview.c index 023a283cdf..57cff7c51a 100644 --- a/legacy/elementary/src/lib/elm_glview.c +++ b/legacy/elementary/src/lib/elm_glview.c @@ -10,14 +10,25 @@ EAPI Eo_Op ELM_OBJ_GLVIEW_BASE_ID = EO_NOOP; static const char SIG_FOCUSED[] = "focused"; static const char SIG_UNFOCUSED[] = "unfocused"; +static const char SIG_LANG_CHANGED[] = "language,changed"; /* smart callbacks coming from elm glview objects: */ static const Evas_Smart_Cb_Description _smart_callbacks[] = { {SIG_FOCUSED, ""}, {SIG_UNFOCUSED, ""}, + {SIG_LANG_CHANGED, ""}, {NULL, NULL} }; +static void +_elm_glview_smart_translate(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +{ + Eina_Bool *ret = va_arg(*list, Eina_Bool *); + evas_object_smart_callback_call(obj, SIG_LANG_CHANGED, NULL); + + if (ret) *ret = EINA_TRUE; +} + static void _elm_glview_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list) { @@ -562,6 +573,7 @@ _class_constructor(Eo_Class *klass) EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_RESIZE), _elm_glview_smart_resize), EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ON_FOCUS), _elm_glview_smart_on_focus), + EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_TRANSLATE), _elm_glview_smart_translate), EO_OP_FUNC(ELM_OBJ_GLVIEW_ID(ELM_OBJ_GLVIEW_SUB_ID_GL_API_GET), _gl_api_get), EO_OP_FUNC(ELM_OBJ_GLVIEW_ID(ELM_OBJ_GLVIEW_SUB_ID_MODE_SET), _mode_set), diff --git a/legacy/elementary/src/lib/elm_glview.h b/legacy/elementary/src/lib/elm_glview.h index 21f67c6edd..e7b2a4d464 100644 --- a/legacy/elementary/src/lib/elm_glview.h +++ b/legacy/elementary/src/lib/elm_glview.h @@ -14,6 +14,7 @@ * @ref GLView: * - @c "focused" - when glview has received focus. * - @c "unfocused" - when glview has lost focus. + * - @c "language,changed" - the program's language changed * * Below is an illustrative example of how to use GLView and and OpenGL * to render in elementary environment.