elementary/layout - do it exactly same with smart_theme() when elm_layout_theme_set() is called.
now mirrored, scale and so on will be working fine. but still wonder if the mirrored_set(), scale_set().. are called in the elm_widget_theme_object_set() inside. then every widget won't be need to call it by theirselves...
This commit is contained in:
parent
e9da80c23a
commit
3dfef42f5f
|
@ -325,34 +325,18 @@ _elm_layout_smart_disable(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
|
||||||
if (ret) *ret = EINA_TRUE;
|
if (ret) *ret = EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static Eina_Bool
|
||||||
_elm_layout_smart_theme(Eo *obj, void *_pd, va_list *list)
|
_elm_layout_theme_internal(Eo *obj, Elm_Layout_Smart_Data *sd)
|
||||||
{
|
{
|
||||||
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
|
|
||||||
if (ret) *ret = EINA_FALSE;
|
|
||||||
Eina_Bool int_ret = EINA_FALSE;
|
|
||||||
|
|
||||||
const char *fh;
|
const char *fh;
|
||||||
|
Eina_Bool ret = EINA_FALSE;
|
||||||
|
|
||||||
Elm_Layout_Smart_Data *sd = _pd;
|
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
|
||||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
|
||||||
|
|
||||||
eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
|
|
||||||
if (!int_ret) return;
|
|
||||||
/* The following lines are here to support entry design; the _theme function
|
|
||||||
* of entry needs to call directly the widget _theme function */
|
|
||||||
Eina_Bool enable = EINA_TRUE;
|
|
||||||
eo_do(obj, elm_obj_layout_theme_enable(&enable));
|
|
||||||
if (EINA_TRUE != enable)
|
|
||||||
{
|
|
||||||
if (ret) *ret = EINA_TRUE;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* function already prints error messages, if any */
|
/* function already prints error messages, if any */
|
||||||
if (!elm_widget_theme_object_set(obj, wd->resize_obj, sd->klass, sd->group,
|
if (!elm_widget_theme_object_set(obj, wd->resize_obj, sd->klass, sd->group,
|
||||||
elm_widget_style_get(obj)))
|
elm_widget_style_get(obj)))
|
||||||
return;
|
return EINA_FALSE;
|
||||||
|
|
||||||
edje_object_mirrored_set
|
edje_object_mirrored_set
|
||||||
(wd->resize_obj, elm_widget_mirrored_get(obj));
|
(wd->resize_obj, elm_widget_mirrored_get(obj));
|
||||||
|
@ -372,7 +356,33 @@ _elm_layout_smart_theme(Eo *obj, void *_pd, va_list *list)
|
||||||
|
|
||||||
_visuals_refresh(obj, sd);
|
_visuals_refresh(obj, sd);
|
||||||
|
|
||||||
eo_do(obj, elm_wdg_disable(&int_ret));
|
eo_do(obj, elm_wdg_disable(&ret));
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_elm_layout_smart_theme(Eo *obj, void *_pd, va_list *list)
|
||||||
|
{
|
||||||
|
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
|
||||||
|
if (ret) *ret = EINA_FALSE;
|
||||||
|
Eina_Bool int_ret = EINA_FALSE;
|
||||||
|
|
||||||
|
Elm_Layout_Smart_Data *sd = _pd;
|
||||||
|
|
||||||
|
eo_do_super(obj, MY_CLASS, elm_wdg_theme(&int_ret));
|
||||||
|
if (!int_ret) return;
|
||||||
|
/* The following lines are here to support entry design; the _theme function
|
||||||
|
* of entry needs to call directly the widget _theme function */
|
||||||
|
Eina_Bool enable = EINA_TRUE;
|
||||||
|
eo_do(obj, elm_obj_layout_theme_enable(&enable));
|
||||||
|
if (EINA_TRUE != enable)
|
||||||
|
{
|
||||||
|
if (ret) *ret = EINA_TRUE;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int_ret = _elm_layout_theme_internal(obj, sd);
|
||||||
|
|
||||||
if (ret) *ret = int_ret;
|
if (ret) *ret = int_ret;
|
||||||
}
|
}
|
||||||
|
@ -890,12 +900,7 @@ _elm_layout_smart_theme_set(Eo *obj, void *_pd, va_list *list)
|
||||||
eina_stringshare_replace(&(sd->group), group);
|
eina_stringshare_replace(&(sd->group), group);
|
||||||
eina_stringshare_replace(&(wd->style), style);
|
eina_stringshare_replace(&(wd->style), style);
|
||||||
|
|
||||||
/* not issuing smart theme directly here, because one may want to
|
int_ret = _elm_layout_theme_internal(obj, sd);
|
||||||
use this function inside a smart theme routine of its own */
|
|
||||||
int_ret = elm_widget_theme_object_set
|
|
||||||
(obj, wd->resize_obj, sd->klass, sd->group,
|
|
||||||
elm_widget_style_get(obj));
|
|
||||||
evas_object_smart_callback_call(obj, SIG_THEME_CHANGED, NULL);
|
|
||||||
|
|
||||||
if (ret) *ret = int_ret;
|
if (ret) *ret = int_ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue