forked from enlightenment/efl
And set/get style for highlight as well
SVN revision: 53032
This commit is contained in:
parent
e8ef45befb
commit
f752f225b8
|
@ -401,6 +401,8 @@ extern "C" {
|
||||||
EAPI void elm_win_quickpanel_zone_set(Evas_Object *obj, int zone);
|
EAPI void elm_win_quickpanel_zone_set(Evas_Object *obj, int zone);
|
||||||
EAPI void elm_win_focus_highlight_enabled_set(Evas_Object *obj, Eina_Bool enabled);
|
EAPI void elm_win_focus_highlight_enabled_set(Evas_Object *obj, Eina_Bool enabled);
|
||||||
EAPI Eina_Bool elm_win_focus_highlight_enabled_get(const Evas_Object *obj);
|
EAPI Eina_Bool elm_win_focus_highlight_enabled_get(const Evas_Object *obj);
|
||||||
|
EAPI void elm_win_focus_highlight_style_set(Evas_Object *obj, const char *style);
|
||||||
|
EAPI const char *elm_win_focus_highlight_style_get(const Evas_Object *obj);
|
||||||
|
|
||||||
/*...
|
/*...
|
||||||
* ecore_x_icccm_hints_set -> accepts_focus (add to ecore_evas)
|
* ecore_x_icccm_hints_set -> accepts_focus (add to ecore_evas)
|
||||||
|
|
|
@ -40,6 +40,7 @@ struct _Elm_Win
|
||||||
Eina_Bool handled : 1;
|
Eina_Bool handled : 1;
|
||||||
} cur, prev;
|
} cur, prev;
|
||||||
|
|
||||||
|
const char *style;
|
||||||
Ecore_Job *reconf_job;
|
Ecore_Job *reconf_job;
|
||||||
|
|
||||||
Eina_Bool enabled : 1;
|
Eina_Bool enabled : 1;
|
||||||
|
@ -228,6 +229,7 @@ _elm_win_obj_callback_del(void *data, Evas *e __UNUSED__, Evas_Object *obj, void
|
||||||
// ecore_evas_free(win->ee);
|
// ecore_evas_free(win->ee);
|
||||||
|
|
||||||
_elm_win_focus_highlight_shutdown(win);
|
_elm_win_focus_highlight_shutdown(win);
|
||||||
|
eina_stringshare_del(win->focus_highlight.style);
|
||||||
|
|
||||||
free(win);
|
free(win);
|
||||||
|
|
||||||
|
@ -805,8 +807,12 @@ _elm_win_focus_highlight_reconfigure(Elm_Win *win)
|
||||||
if (win->focus_highlight.changed_theme)
|
if (win->focus_highlight.changed_theme)
|
||||||
{
|
{
|
||||||
const char *str;
|
const char *str;
|
||||||
|
if (win->focus_highlight.style)
|
||||||
|
str = win->focus_highlight.style;
|
||||||
|
else
|
||||||
|
str = "default";
|
||||||
_elm_theme_object_set(win->win_obj, top, "focus_highlight", "top",
|
_elm_theme_object_set(win->win_obj, top, "focus_highlight", "top",
|
||||||
"default"); /* FIXME: use style */
|
str);
|
||||||
win->focus_highlight.changed_theme = EINA_FALSE;
|
win->focus_highlight.changed_theme = EINA_FALSE;
|
||||||
|
|
||||||
if (_elm_config->focus_highlight_animate)
|
if (_elm_config->focus_highlight_animate)
|
||||||
|
@ -2037,6 +2043,53 @@ elm_win_focus_highlight_enabled_get(const Evas_Object *obj)
|
||||||
return win->focus_highlight.enabled;
|
return win->focus_highlight.enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the style for the focus highlight on this window
|
||||||
|
*
|
||||||
|
* Sets the style to use for theming the highlight of focused objects on
|
||||||
|
* the given window. If @p style is NULL, the default will be used.
|
||||||
|
*
|
||||||
|
* @param obj The window where to set the style
|
||||||
|
* @param style The style to set
|
||||||
|
*
|
||||||
|
* @ingroup Win
|
||||||
|
*/
|
||||||
|
EAPI void
|
||||||
|
elm_win_focus_highlight_style_set(Evas_Object *obj, const char *style)
|
||||||
|
{
|
||||||
|
Elm_Win *win;
|
||||||
|
|
||||||
|
ELM_CHECK_WIDTYPE(obj, widtype);
|
||||||
|
|
||||||
|
win = elm_widget_data_get(obj);
|
||||||
|
eina_stringshare_replace(&win->focus_highlight.style, style);
|
||||||
|
win->focus_highlight.changed_theme = EINA_TRUE;
|
||||||
|
_elm_win_focus_highlight_reconfigure_job_start(win);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the style set for the focus highlight object
|
||||||
|
*
|
||||||
|
* Gets the style set for this windows highilght object, or NULL if none
|
||||||
|
* is set.
|
||||||
|
*
|
||||||
|
* @param obj The window to retrieve the highlights style from
|
||||||
|
*
|
||||||
|
* @return The style set or NULL if none was. Default is used in that case.
|
||||||
|
*
|
||||||
|
* @ingroup Win
|
||||||
|
*/
|
||||||
|
EAPI const char *
|
||||||
|
elm_win_focus_highlight_style_get(const Evas_Object *obj)
|
||||||
|
{
|
||||||
|
Elm_Win *win;
|
||||||
|
|
||||||
|
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
|
||||||
|
|
||||||
|
win = elm_widget_data_get(obj);
|
||||||
|
return win->focus_highlight.style;
|
||||||
|
}
|
||||||
|
|
||||||
typedef struct _Widget_Data Widget_Data;
|
typedef struct _Widget_Data Widget_Data;
|
||||||
|
|
||||||
struct _Widget_Data
|
struct _Widget_Data
|
||||||
|
|
Loading…
Reference in New Issue