forked from enlightenment/efl
genlist/list/win: Revert focus highlight animation when looping is enable
Summary: - Revert "focus: Added internal widget APIs of focus highlight object of elm window." This reverts commit 3f98d71830163a154762f2d16301d720c781b7c5. - Revert "List: Focus highlight when loop is enable" This reverts commit 57ad32a900e71f83441bf7246671b8f16a8ec909. - Revert "genlist: Focus highlight when loop is enable" This reverts commit 91282a22cba66ee5e7799018d3abe8957fb1b1fa. Reviewers: seoz, raster, jpeg, SanghyeonLee Subscribers: anand.km, seoz Differential Revision: https://phab.enlightenment.org/D2725 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
parent
d79b4c0055
commit
f10b4eb8d0
|
@ -5,7 +5,7 @@ group { name: "elm/focus_highlight/top/default";
|
||||||
script {
|
script {
|
||||||
public s_x, s_y, s_w, s_h; /* source */
|
public s_x, s_y, s_w, s_h; /* source */
|
||||||
public difx, dify, difw, difh;
|
public difx, dify, difw, difh;
|
||||||
|
|
||||||
public animator1(val, Float:pos) {
|
public animator1(val, Float:pos) {
|
||||||
new x, y, w, h, dx, dy, dw, dh, Float:p;
|
new x, y, w, h, dx, dy, dw, dh, Float:p;
|
||||||
p = 1.0 - ((1.0 - pos) * (1.0 - pos) * (1.0 - pos));
|
p = 1.0 - ((1.0 - pos) * (1.0 - pos) * (1.0 - pos));
|
||||||
|
@ -19,16 +19,16 @@ group { name: "elm/focus_highlight/top/default";
|
||||||
h = get_int(s_h) + dh;
|
h = get_int(s_h) + dh;
|
||||||
update_offset(x, y, w, h);
|
update_offset(x, y, w, h);
|
||||||
}
|
}
|
||||||
|
|
||||||
public update_offset(x, y, w, h) {
|
public update_offset(x, y, w, h) {
|
||||||
set_state_val(PART:"base", STATE_REL1_OFFSET, x, y);
|
set_state_val(PART:"base", STATE_REL1_OFFSET, x, y);
|
||||||
set_state_val(PART:"base", STATE_REL2_OFFSET, x + w, y + h);
|
set_state_val(PART:"base", STATE_REL2_OFFSET, x + w, y + h);
|
||||||
}
|
}
|
||||||
|
|
||||||
public message(Msg_Type:type, id, ...) {
|
public message(Msg_Type:type, id, ...) {
|
||||||
if ((type == MSG_INT_SET) && (id == 1)) {
|
if ((type == MSG_INT_SET) && (id == 1)) {
|
||||||
new x1, y1, w1, h1, x2, y2, w2, h2;
|
new x1, y1, w1, h1, x2, y2, w2, h2;
|
||||||
|
|
||||||
x1 = getarg(2);
|
x1 = getarg(2);
|
||||||
y1 = getarg(3);
|
y1 = getarg(3);
|
||||||
w1 = getarg(4);
|
w1 = getarg(4);
|
||||||
|
@ -37,7 +37,7 @@ group { name: "elm/focus_highlight/top/default";
|
||||||
y2 = getarg(7);
|
y2 = getarg(7);
|
||||||
w2 = getarg(8);
|
w2 = getarg(8);
|
||||||
h2 = getarg(9);
|
h2 = getarg(9);
|
||||||
|
|
||||||
set_int(s_x, x1);
|
set_int(s_x, x1);
|
||||||
set_int(s_y, y1);
|
set_int(s_y, y1);
|
||||||
set_int(s_w, w1);
|
set_int(s_w, w1);
|
||||||
|
@ -46,74 +46,31 @@ group { name: "elm/focus_highlight/top/default";
|
||||||
set_int(dify, y2 - y1);
|
set_int(dify, y2 - y1);
|
||||||
set_int(difw, w2 - w1);
|
set_int(difw, w2 - w1);
|
||||||
set_int(difh, h2 - h1);
|
set_int(difh, h2 - h1);
|
||||||
|
|
||||||
custom_state(PART:"base", "default", 0.0);
|
custom_state(PART:"base", "default", 0.0);
|
||||||
set_state_val(PART:"base", STATE_REL1, 0.0, 0.0);
|
set_state_val(PART:"base", STATE_REL1, 0.0, 0.0);
|
||||||
set_state_val(PART:"base", STATE_REL2, 0.0, 0.0);
|
set_state_val(PART:"base", STATE_REL2, 0.0, 0.0);
|
||||||
update_offset(x1, y1, w1, h1);
|
update_offset(x1, y1, w1, h1);
|
||||||
set_state(PART:"base", "custom", 0.0);
|
set_state(PART:"base", "custom", 0.0);
|
||||||
|
|
||||||
anim(0.2, "animator1", 1);
|
anim(0.2, "animator1", 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
parts {
|
parts {
|
||||||
part { name: "base"; type: RECT;
|
part { name: "base"; type: SPACER;
|
||||||
clip_to: "clip";
|
|
||||||
description { state: "default" 0.0;
|
description { state: "default" 0.0;
|
||||||
visible: 0;
|
|
||||||
}
|
|
||||||
description { state: "move_down" 0.0;
|
|
||||||
inherit: "default" 0.0;
|
|
||||||
rel1.relative: 0 1;
|
|
||||||
rel2.relative: 1 2;
|
|
||||||
}
|
|
||||||
description { state: "move_up" 0.0;
|
|
||||||
inherit: "default" 0.0;
|
|
||||||
rel1.relative: 0 -1;
|
|
||||||
rel2.relative: 1 0;
|
|
||||||
}
|
|
||||||
description { state: "move_left" 0.0;
|
|
||||||
inherit: "default" 0.0;
|
|
||||||
rel1.relative: -1 0;
|
|
||||||
rel2.relative: 0 1;
|
|
||||||
}
|
|
||||||
description { state: "move_right" 0.0;
|
|
||||||
inherit: "default" 0.0;
|
|
||||||
rel1.relative: 1 0;
|
|
||||||
rel2.relative: 2 1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
part { name: "clip"; type: RECT;
|
part { name: "clip"; type: RECT;
|
||||||
scale: 1;
|
description { state: "default" 0.0;
|
||||||
description {
|
rel1.to: "glow";
|
||||||
state: "default" 0.0;
|
rel2.to: "glow";
|
||||||
color: 255 255 255 255;
|
|
||||||
rel1.relative: -1 -1;
|
|
||||||
rel2.relative: 2 2;
|
|
||||||
}
|
|
||||||
description { state: "move_down" 0.0;
|
|
||||||
inherit: "default" 0.0;
|
|
||||||
color: 255 255 255 0;
|
color: 255 255 255 0;
|
||||||
}
|
}
|
||||||
description { state: "move_up" 0.0;
|
|
||||||
inherit: "default" 0.0;
|
|
||||||
color: 255 255 255 0 ;
|
|
||||||
}
|
|
||||||
description { state: "move_left" 0.0;
|
|
||||||
inherit: "default" 0.0;
|
|
||||||
color: 255 255 255 0;
|
|
||||||
}
|
|
||||||
description { state: "move_right" 0.0;
|
|
||||||
inherit: "default" 0.0;
|
|
||||||
color: 255 255 255 0 ;
|
|
||||||
}
|
|
||||||
description { state: "visible" 0.0;
|
description { state: "visible" 0.0;
|
||||||
inherit: "default" 0.0;
|
inherit: "default" 0.0;
|
||||||
}
|
color: 255 255 255 255;
|
||||||
description { state: "invisible" 0.0;
|
|
||||||
inherit: "default" 0.0;
|
|
||||||
color: 255 255 255 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
part { name: "glow"; mouse_events: 0;
|
part { name: "glow"; mouse_events: 0;
|
||||||
|
@ -164,7 +121,7 @@ group { name: "elm/focus_highlight/top/default";
|
||||||
}
|
}
|
||||||
program {
|
program {
|
||||||
signal: "elm,action,focus,hide"; source: "elm";
|
signal: "elm,action,focus,hide"; source: "elm";
|
||||||
action: STATE_SET "invisible" 0.0;
|
action: STATE_SET "default" 0.0;
|
||||||
transition: DECELERATE 0.4;
|
transition: DECELERATE 0.4;
|
||||||
target: "clip";
|
target: "clip";
|
||||||
after: "stop2";
|
after: "stop2";
|
||||||
|
@ -196,109 +153,5 @@ group { name: "elm/focus_highlight/top/default";
|
||||||
action: STATE_SET "default" 0.0;
|
action: STATE_SET "default" 0.0;
|
||||||
target: "base";
|
target: "base";
|
||||||
}
|
}
|
||||||
program { name: "move_down";
|
|
||||||
signal: "elm,action,focus,move,down";
|
|
||||||
source: "elm";
|
|
||||||
transition: LIN 0.3;
|
|
||||||
action: STATE_SET "move_down" 0.0;
|
|
||||||
target: "base";
|
|
||||||
target: "clip";
|
|
||||||
after: "move_down_end";
|
|
||||||
}
|
|
||||||
program { name: "move_down_end";
|
|
||||||
action: SIGNAL_EMIT "elm,focus,move,down,end" "elm";
|
|
||||||
}
|
|
||||||
program { name: "move_up";
|
|
||||||
signal: "elm,action,focus,move,up";
|
|
||||||
source: "elm";
|
|
||||||
transition: LIN 0.3;
|
|
||||||
action: STATE_SET "move_up" 0.0;
|
|
||||||
target: "base";
|
|
||||||
target: "clip";
|
|
||||||
after: "move_up_end";
|
|
||||||
}
|
|
||||||
program { name: "move_up_end";
|
|
||||||
action: SIGNAL_EMIT "elm,focus,move,up,end" "elm";
|
|
||||||
}
|
|
||||||
program { name: "move_home_from_up";
|
|
||||||
signal: "elm,action,focus,move,home,up";
|
|
||||||
source: "elm";
|
|
||||||
action: STATE_SET "move_up" 0.0;
|
|
||||||
target: "base";
|
|
||||||
target: "clip";
|
|
||||||
after: "move_home_from_up2";
|
|
||||||
}
|
|
||||||
program { name: "move_home_from_up2";
|
|
||||||
action: STATE_SET "default" 0.0;
|
|
||||||
transition: LIN 0.3;
|
|
||||||
target: "base";
|
|
||||||
target: "clip";
|
|
||||||
}
|
|
||||||
program { name: "move_home_from_down";
|
|
||||||
signal: "elm,action,focus,move,home,down";
|
|
||||||
source: "elm";
|
|
||||||
action: STATE_SET "move_down" 0.0;
|
|
||||||
target: "base";
|
|
||||||
target: "clip";
|
|
||||||
after: "move_home_from_down2";
|
|
||||||
}
|
|
||||||
program { name: "move_home_from_down2";
|
|
||||||
action: STATE_SET "default" 0.0;
|
|
||||||
transition: LIN 0.3;
|
|
||||||
target: "base";
|
|
||||||
target: "clip";
|
|
||||||
}
|
|
||||||
program { name: "move_left";
|
|
||||||
signal: "elm,action,focus,move,left";
|
|
||||||
source: "elm";
|
|
||||||
transition: LIN 0.3;
|
|
||||||
action: STATE_SET "move_left" 0.0;
|
|
||||||
target: "base";
|
|
||||||
target: "clip";
|
|
||||||
after: "move_left_end";
|
|
||||||
}
|
|
||||||
program { name: "move_left_end";
|
|
||||||
action: SIGNAL_EMIT "elm,focus,move,left,end" "elm";
|
|
||||||
}
|
|
||||||
program { name: "move_right";
|
|
||||||
signal: "elm,action,focus,move,right";
|
|
||||||
source: "elm";
|
|
||||||
transition: LIN 0.3;
|
|
||||||
action: STATE_SET "move_right" 0.0;
|
|
||||||
target: "base";
|
|
||||||
target: "clip";
|
|
||||||
after: "move_right_end";
|
|
||||||
}
|
|
||||||
program { name: "move_right_end";
|
|
||||||
action: SIGNAL_EMIT "elm,focus,move,right,end" "elm";
|
|
||||||
}
|
|
||||||
program { name: "move_home_from_right";
|
|
||||||
signal: "elm,action,focus,move,home,right";
|
|
||||||
source: "elm";
|
|
||||||
action: STATE_SET "move_right" 0.0;
|
|
||||||
target: "base";
|
|
||||||
target: "clip";
|
|
||||||
after: "move_home_from_right2";
|
|
||||||
}
|
|
||||||
program { name: "move_home_from_right2";
|
|
||||||
action: STATE_SET "default" 0.0;
|
|
||||||
transition: LIN 0.3;
|
|
||||||
target: "base";
|
|
||||||
target: "clip";
|
|
||||||
}
|
|
||||||
program { name: "move_home_from_left";
|
|
||||||
signal: "elm,action,focus,move,home,left";
|
|
||||||
source: "elm";
|
|
||||||
action: STATE_SET "move_left" 0.0;
|
|
||||||
target: "base";
|
|
||||||
target: "clip";
|
|
||||||
after: "move_home_from_left2";
|
|
||||||
}
|
|
||||||
program { name: "move_home_from_left2";
|
|
||||||
action: STATE_SET "default" 0.0;
|
|
||||||
transition: LIN 0.3;
|
|
||||||
target: "base";
|
|
||||||
target: "clip";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5386,9 +5386,13 @@ _elm_genlist_looping_up_cb(void *data,
|
||||||
Elm_Object_Item *eo_it = elm_genlist_last_item_get(genlist);
|
Elm_Object_Item *eo_it = elm_genlist_last_item_get(genlist);
|
||||||
|
|
||||||
elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN);
|
elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN);
|
||||||
_elm_widget_focus_highlight_signal_emit(genlist, "elm,action,focus,move,up", "elm");
|
|
||||||
elm_layout_signal_emit(genlist, "elm,action,looping,up,end", "elm");
|
elm_layout_signal_emit(genlist, "elm,action,looping,up,end", "elm");
|
||||||
sd->item_looping_on = EINA_FALSE;
|
sd->item_looping_on = EINA_FALSE;
|
||||||
|
|
||||||
|
if (!_elm_config->item_select_on_focus_disable)
|
||||||
|
elm_genlist_item_selected_set(eo_it, EINA_TRUE);
|
||||||
|
else
|
||||||
|
elm_object_item_focus_set(eo_it, EINA_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -5404,43 +5408,13 @@ _elm_genlist_looping_down_cb(void *data,
|
||||||
Elm_Object_Item *eo_it = elm_genlist_first_item_get(genlist);
|
Elm_Object_Item *eo_it = elm_genlist_first_item_get(genlist);
|
||||||
|
|
||||||
elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN);
|
elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN);
|
||||||
_elm_widget_focus_highlight_signal_emit(genlist, "elm,action,focus,move,down", "elm");
|
|
||||||
elm_layout_signal_emit(genlist, "elm,action,looping,down,end", "elm");
|
elm_layout_signal_emit(genlist, "elm,action,looping,down,end", "elm");
|
||||||
sd->item_looping_on = EINA_FALSE;
|
sd->item_looping_on = EINA_FALSE;
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
if (!_elm_config->item_select_on_focus_disable)
|
||||||
_elm_genlist_focus_highlight_move_down_end_cb(void *data,
|
elm_genlist_item_selected_set(eo_it, EINA_TRUE);
|
||||||
Evas_Object *obj EINA_UNUSED,
|
else
|
||||||
const char *emission EINA_UNUSED,
|
elm_object_item_focus_set(eo_it, EINA_TRUE);
|
||||||
const char *source EINA_UNUSED)
|
|
||||||
{
|
|
||||||
Evas_Object *gl = data;
|
|
||||||
Elm_Object_Item *eo_it = elm_genlist_first_item_get(gl);
|
|
||||||
|
|
||||||
if (!_elm_config->item_select_on_focus_disable)
|
|
||||||
elm_genlist_item_selected_set(eo_it, EINA_TRUE);
|
|
||||||
else
|
|
||||||
elm_object_item_focus_set(eo_it, EINA_TRUE);
|
|
||||||
|
|
||||||
_elm_widget_focus_highlight_signal_emit(gl, "elm,action,focus,move,home,up", "elm");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_elm_genlist_focus_highlight_move_up_end_cb(void *data,
|
|
||||||
Evas_Object *obj EINA_UNUSED,
|
|
||||||
const char *emission EINA_UNUSED,
|
|
||||||
const char *source EINA_UNUSED)
|
|
||||||
{
|
|
||||||
Evas_Object *gl = data;
|
|
||||||
Elm_Object_Item *eo_it = elm_genlist_last_item_get(gl);
|
|
||||||
|
|
||||||
if (!_elm_config->item_select_on_focus_disable)
|
|
||||||
elm_genlist_item_selected_set(eo_it, EINA_TRUE);
|
|
||||||
else
|
|
||||||
elm_object_item_focus_set(eo_it, EINA_TRUE);
|
|
||||||
|
|
||||||
_elm_widget_focus_highlight_signal_emit(gl, "elm,action,focus,move,home,down", "elm");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -7954,21 +7928,6 @@ _elm_genlist_elm_widget_focused_item_get(Eo *obj EINA_UNUSED, Elm_Genlist_Data *
|
||||||
EOLIAN static void
|
EOLIAN static void
|
||||||
_elm_genlist_elm_widget_item_loop_enabled_set(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, Eina_Bool enable)
|
_elm_genlist_elm_widget_item_loop_enabled_set(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, Eina_Bool enable)
|
||||||
{
|
{
|
||||||
if (enable == EINA_TRUE)
|
|
||||||
{
|
|
||||||
_elm_widget_focus_highlight_signal_callback_add(obj, "elm,focus,move,down,end",
|
|
||||||
"elm", _elm_genlist_focus_highlight_move_down_end_cb, obj);
|
|
||||||
_elm_widget_focus_highlight_signal_callback_add(obj, "elm,focus,move,up,end",
|
|
||||||
"elm", _elm_genlist_focus_highlight_move_up_end_cb, obj);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_elm_widget_focus_highlight_signal_callback_del(obj, "elm,focus,move,down,end",
|
|
||||||
"elm", _elm_genlist_focus_highlight_move_down_end_cb);
|
|
||||||
_elm_widget_focus_highlight_signal_callback_del(obj, "elm,focus,move,up,end",
|
|
||||||
"elm", _elm_genlist_focus_highlight_move_up_end_cb);
|
|
||||||
}
|
|
||||||
|
|
||||||
sd->item_loop_enable = !!enable;
|
sd->item_loop_enable = !!enable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1813,16 +1813,15 @@ _elm_list_looping_left_cb(void *data,
|
||||||
elm_list_item_selected_set(it, EINA_TRUE);
|
elm_list_item_selected_set(it, EINA_TRUE);
|
||||||
else
|
else
|
||||||
elm_object_item_focus_set(it, EINA_TRUE);
|
elm_object_item_focus_set(it, EINA_TRUE);
|
||||||
_elm_widget_focus_highlight_signal_emit(list, "elm,action,focus,move,left", "elm");
|
|
||||||
elm_layout_signal_emit(list, "elm,action,looping,left,end", "elm");
|
elm_layout_signal_emit(list, "elm,action,looping,left,end", "elm");
|
||||||
sd->item_looping_on = EINA_FALSE;
|
sd->item_looping_on = EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_elm_list_looping_right_cb(void *data,
|
_elm_list_looping_right_cb(void *data,
|
||||||
Evas_Object *obj EINA_UNUSED,
|
Evas_Object *obj EINA_UNUSED,
|
||||||
const char *emission EINA_UNUSED,
|
const char *emission EINA_UNUSED,
|
||||||
const char *source EINA_UNUSED)
|
const char *source EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *list = data;
|
Evas_Object *list = data;
|
||||||
|
|
||||||
|
@ -1833,16 +1832,15 @@ _elm_list_looping_right_cb(void *data,
|
||||||
elm_list_item_selected_set(it, EINA_TRUE);
|
elm_list_item_selected_set(it, EINA_TRUE);
|
||||||
else
|
else
|
||||||
elm_object_item_focus_set(it, EINA_TRUE);
|
elm_object_item_focus_set(it, EINA_TRUE);
|
||||||
_elm_widget_focus_highlight_signal_emit(list, "elm,action,focus,move,right", "elm");
|
|
||||||
elm_layout_signal_emit(list, "elm,action,looping,right,end", "elm");
|
elm_layout_signal_emit(list, "elm,action,looping,right,end", "elm");
|
||||||
sd->item_looping_on = EINA_FALSE;
|
sd->item_looping_on = EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_elm_list_looping_up_cb(void *data,
|
_elm_list_looping_up_cb(void *data,
|
||||||
Evas_Object *obj EINA_UNUSED,
|
Evas_Object *obj EINA_UNUSED,
|
||||||
const char *emission EINA_UNUSED,
|
const char *emission EINA_UNUSED,
|
||||||
const char *source EINA_UNUSED)
|
const char *source EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *list = data;
|
Evas_Object *list = data;
|
||||||
|
|
||||||
|
@ -1853,7 +1851,6 @@ _elm_list_looping_up_cb(void *data,
|
||||||
elm_list_item_selected_set(it, EINA_TRUE);
|
elm_list_item_selected_set(it, EINA_TRUE);
|
||||||
else
|
else
|
||||||
elm_object_item_focus_set(it, EINA_TRUE);
|
elm_object_item_focus_set(it, EINA_TRUE);
|
||||||
_elm_widget_focus_highlight_signal_emit(list, "elm,action,focus,move,up", "elm");
|
|
||||||
elm_layout_signal_emit(list, "elm,action,looping,up,end", "elm");
|
elm_layout_signal_emit(list, "elm,action,looping,up,end", "elm");
|
||||||
sd->item_looping_on = EINA_FALSE;
|
sd->item_looping_on = EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
@ -1873,82 +1870,10 @@ _elm_list_looping_down_cb(void *data,
|
||||||
elm_list_item_selected_set(it, EINA_TRUE);
|
elm_list_item_selected_set(it, EINA_TRUE);
|
||||||
else
|
else
|
||||||
elm_object_item_focus_set(it, EINA_TRUE);
|
elm_object_item_focus_set(it, EINA_TRUE);
|
||||||
_elm_widget_focus_highlight_signal_emit(list, "elm,action,focus,move,down", "elm");
|
|
||||||
elm_layout_signal_emit(list, "elm,action,looping,down,end", "elm");
|
elm_layout_signal_emit(list, "elm,action,looping,down,end", "elm");
|
||||||
sd->item_looping_on = EINA_FALSE;
|
sd->item_looping_on = EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
_elm_list_focus_highlight_move_down_end_cb(void *data,
|
|
||||||
Evas_Object *obj EINA_UNUSED,
|
|
||||||
const char *emission EINA_UNUSED,
|
|
||||||
const char *source EINA_UNUSED)
|
|
||||||
{
|
|
||||||
Evas_Object *list = data;
|
|
||||||
Elm_List_Item *it = (Elm_List_Item *)elm_list_first_item_get(list);
|
|
||||||
ELM_LIST_DATA_GET(list, sd);
|
|
||||||
|
|
||||||
if (!_elm_config->item_select_on_focus_disable)
|
|
||||||
elm_list_item_selected_set(it, EINA_TRUE);
|
|
||||||
else
|
|
||||||
elm_object_item_focus_set(it, EINA_TRUE);
|
|
||||||
elm_layout_signal_emit(list, "elm,action,looping,down,end", "elm");
|
|
||||||
sd->item_looping_on = EINA_FALSE;
|
|
||||||
|
|
||||||
_elm_widget_focus_highlight_signal_emit(list, "elm,action,focus,move,home,up", "elm");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_elm_list_focus_highlight_move_up_end_cb(void *data,
|
|
||||||
Evas_Object *obj EINA_UNUSED,
|
|
||||||
const char *emission EINA_UNUSED,
|
|
||||||
const char *source EINA_UNUSED)
|
|
||||||
{
|
|
||||||
Evas_Object *li = data;
|
|
||||||
Elm_List_Item *it = (Elm_List_Item *)elm_list_last_item_get(li);
|
|
||||||
|
|
||||||
if (!_elm_config->item_select_on_focus_disable)
|
|
||||||
elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE);
|
|
||||||
else
|
|
||||||
elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE);
|
|
||||||
|
|
||||||
_elm_widget_focus_highlight_signal_emit(li, "elm,action,focus,move,home,down", "elm");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_elm_list_focus_highlight_move_right_end_cb(void *data,
|
|
||||||
Evas_Object *obj EINA_UNUSED,
|
|
||||||
const char *emission EINA_UNUSED,
|
|
||||||
const char *source EINA_UNUSED)
|
|
||||||
{
|
|
||||||
Evas_Object *li = data;
|
|
||||||
Elm_List_Item *it = (Elm_List_Item *)elm_list_first_item_get(li);
|
|
||||||
|
|
||||||
if (!_elm_config->item_select_on_focus_disable)
|
|
||||||
elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE);
|
|
||||||
else
|
|
||||||
elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE);
|
|
||||||
|
|
||||||
_elm_widget_focus_highlight_signal_emit(li, "elm,action,focus,move,home,left", "elm");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
_elm_list_focus_highlight_move_left_end_cb(void *data,
|
|
||||||
Evas_Object *obj EINA_UNUSED,
|
|
||||||
const char *emission EINA_UNUSED,
|
|
||||||
const char *source EINA_UNUSED)
|
|
||||||
{
|
|
||||||
Evas_Object *li = data;
|
|
||||||
Elm_List_Item *it = (Elm_List_Item *)elm_list_last_item_get(li);
|
|
||||||
|
|
||||||
if (!_elm_config->item_select_on_focus_disable)
|
|
||||||
elm_list_item_selected_set((Elm_Object_Item *)it, EINA_TRUE);
|
|
||||||
else
|
|
||||||
elm_object_item_focus_set((Elm_Object_Item *)it, EINA_TRUE);
|
|
||||||
|
|
||||||
_elm_widget_focus_highlight_signal_emit(li, "elm,action,focus,move,home,right", "elm");
|
|
||||||
}
|
|
||||||
|
|
||||||
EOLIAN static void
|
EOLIAN static void
|
||||||
_elm_list_item_elm_widget_item_disable(Eo *eo_item EINA_UNUSED, Elm_List_Item_Data *item)
|
_elm_list_item_elm_widget_item_disable(Eo *eo_item EINA_UNUSED, Elm_List_Item_Data *item)
|
||||||
{
|
{
|
||||||
|
@ -3194,17 +3119,6 @@ _elm_list_elm_widget_focused_item_get(Eo *obj EINA_UNUSED, Elm_List_Data *sd)
|
||||||
EOLIAN static void
|
EOLIAN static void
|
||||||
_elm_list_elm_widget_item_loop_enabled_set(Eo *obj EINA_UNUSED, Elm_List_Data *sd, Eina_Bool enable)
|
_elm_list_elm_widget_item_loop_enabled_set(Eo *obj EINA_UNUSED, Elm_List_Data *sd, Eina_Bool enable)
|
||||||
{
|
{
|
||||||
if (enable == EINA_TRUE)
|
|
||||||
{
|
|
||||||
_elm_widget_focus_highlight_signal_callback_add(obj, "elm,focus,move,down,end",
|
|
||||||
"elm", _elm_list_focus_highlight_move_down_end_cb, obj);
|
|
||||||
_elm_widget_focus_highlight_signal_callback_add(obj, "elm,focus,move,up,end",
|
|
||||||
"elm", _elm_list_focus_highlight_move_up_end_cb, obj);
|
|
||||||
_elm_widget_focus_highlight_signal_callback_add(obj, "elm,focus,move,left,end",
|
|
||||||
"elm", _elm_list_focus_highlight_move_left_end_cb, obj);
|
|
||||||
_elm_widget_focus_highlight_signal_callback_add(obj, "elm,focus,move,right,end",
|
|
||||||
"elm", _elm_list_focus_highlight_move_right_end_cb, obj);
|
|
||||||
}
|
|
||||||
sd->item_loop_enable = !!enable;
|
sd->item_loop_enable = !!enable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -173,37 +173,6 @@ _elm_widget_focus_highlight_start(const Evas_Object *obj)
|
||||||
_elm_win_focus_highlight_start(top);
|
_elm_win_focus_highlight_start(top);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
_elm_widget_focus_highlight_signal_emit(Evas_Object *obj, const char *emission, const char *source)
|
|
||||||
{
|
|
||||||
Evas_Object *top = elm_widget_top_get(obj);
|
|
||||||
|
|
||||||
if (top && eo_isa(top, ELM_WIN_CLASS))
|
|
||||||
_elm_win_focus_highlight_signal_emit(top, emission, source);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
_elm_widget_focus_highlight_signal_callback_add(Evas_Object *obj, const char *emission,
|
|
||||||
const char *source, Edje_Signal_Cb _focus_highlight_signal_cb,
|
|
||||||
void *data)
|
|
||||||
{
|
|
||||||
Evas_Object *top = elm_widget_top_get(obj);
|
|
||||||
|
|
||||||
if (top && eo_isa(top, ELM_WIN_CLASS))
|
|
||||||
_elm_win_focus_highlight_signal_callback_add(top, emission, source, _focus_highlight_signal_cb, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
_elm_widget_focus_highlight_signal_callback_del(Evas_Object *obj, const char *emission,
|
|
||||||
const char *source,
|
|
||||||
Edje_Signal_Cb _focus_highlight_signal_cb)
|
|
||||||
{
|
|
||||||
Evas_Object *top = elm_widget_top_get(obj);
|
|
||||||
|
|
||||||
if (top && eo_isa(top, ELM_WIN_CLASS))
|
|
||||||
_elm_win_focus_highlight_signal_callback_del(top, emission, source, _focus_highlight_signal_cb);
|
|
||||||
}
|
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
elm_widget_focus_highlight_enabled_get(const Evas_Object *obj)
|
elm_widget_focus_highlight_enabled_get(const Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
|
|
@ -529,16 +529,10 @@ void _elm_access_widget_item_access_order_unset(Elm_Widget_Item
|
||||||
// widget focus highlight
|
// widget focus highlight
|
||||||
void _elm_widget_focus_highlight_start(const Evas_Object *obj);
|
void _elm_widget_focus_highlight_start(const Evas_Object *obj);
|
||||||
void _elm_widget_highlight_in_theme_update(Eo *obj);
|
void _elm_widget_highlight_in_theme_update(Eo *obj);
|
||||||
void _elm_widget_focus_highlight_signal_emit(Evas_Object *obj, const char *emission, const char *source);
|
|
||||||
void _elm_widget_focus_highlight_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb _focus_highlight_signal_cb, void *data);
|
|
||||||
void _elm_widget_focus_highlight_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb _focus_highlight_signal_cb);
|
|
||||||
|
|
||||||
// win focus highlight
|
// win focus highlight
|
||||||
void _elm_win_focus_highlight_start(Evas_Object *obj);
|
void _elm_win_focus_highlight_start(Evas_Object *obj);
|
||||||
void _elm_win_focus_highlight_in_theme_update(Evas_Object *obj, Eina_Bool in_theme);
|
void _elm_win_focus_highlight_in_theme_update(Evas_Object *obj, Eina_Bool in_theme);
|
||||||
void _elm_win_focus_highlight_signal_emit(Evas_Object *obj, const char *emission, const char *source);
|
|
||||||
void _elm_win_focus_highlight_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb _focus_highlight_signal_cb, void *data);
|
|
||||||
void _elm_win_focus_highlight_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb _focus_highlight_signal_cb);
|
|
||||||
void _elm_win_focus_auto_show(Evas_Object *obj);
|
void _elm_win_focus_auto_show(Evas_Object *obj);
|
||||||
void _elm_win_focus_auto_hide(Evas_Object *obj);
|
void _elm_win_focus_auto_hide(Evas_Object *obj);
|
||||||
|
|
||||||
|
|
|
@ -5336,35 +5336,6 @@ _elm_win_focus_highlight_in_theme_update(Evas_Object *obj, Eina_Bool in_theme)
|
||||||
sd->focus_highlight.cur.in_theme = !!in_theme;
|
sd->focus_highlight.cur.in_theme = !!in_theme;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
_elm_win_focus_highlight_signal_emit(Evas_Object *obj, const char *emission, const char *source)
|
|
||||||
{
|
|
||||||
ELM_WIN_DATA_GET(obj, sd);
|
|
||||||
if ((sd->focus_highlight.enabled) || (sd->focus_highlight.auto_enabled))
|
|
||||||
edje_object_signal_emit(sd->focus_highlight.fobj, emission, source);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
_elm_win_focus_highlight_signal_callback_add(Evas_Object *obj, const char *emission,
|
|
||||||
const char *source, Edje_Signal_Cb _focus_highlight_signal_cb,
|
|
||||||
void *data)
|
|
||||||
{
|
|
||||||
ELM_WIN_DATA_GET(obj, sd);
|
|
||||||
if (((sd->focus_highlight.enabled) || (sd->focus_highlight.auto_enabled))
|
|
||||||
&& (sd->focus_highlight.fobj))
|
|
||||||
edje_object_signal_callback_add(sd->focus_highlight.fobj, emission, source, _focus_highlight_signal_cb, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
_elm_win_focus_highlight_signal_callback_del(Evas_Object *obj, const char *emission,
|
|
||||||
const char *source, Edje_Signal_Cb _focus_highlight_signal_cb)
|
|
||||||
{
|
|
||||||
ELM_WIN_DATA_GET(obj, sd);
|
|
||||||
if (((sd->focus_highlight.enabled) || (sd->focus_highlight.auto_enabled))
|
|
||||||
&& (sd->focus_highlight.fobj))
|
|
||||||
edje_object_signal_callback_del(sd->focus_highlight.fobj, emission, source, _focus_highlight_signal_cb);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
_elm_win_focus_highlight_start(Evas_Object *obj)
|
_elm_win_focus_highlight_start(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue