forked from enlightenment/efl
a bunch of adds and improvements around gnelist
SVN revision: 40323
This commit is contained in:
parent
f1bd3ad572
commit
af12fa8bb2
|
@ -7097,6 +7097,15 @@ collections {
|
|||
image: "ilist_item_shadow.png" COMP;
|
||||
}
|
||||
parts {
|
||||
part {
|
||||
name: "event";
|
||||
type: RECT;
|
||||
repeat_events: 1;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "base_sh";
|
||||
mouse_events: 0;
|
||||
|
@ -7303,15 +7312,6 @@ collections {
|
|||
color: 255 255 255 64;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "event";
|
||||
type: RECT;
|
||||
repeat_events: 1;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
// signal: elm,state,%s,active
|
||||
|
@ -7370,6 +7370,14 @@ collections {
|
|||
image: "ilist_2.png" COMP;
|
||||
}
|
||||
parts {
|
||||
part { name: "event";
|
||||
type: RECT;
|
||||
repeat_events: 1;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "base";
|
||||
mouse_events: 0;
|
||||
|
@ -7552,14 +7560,6 @@ collections {
|
|||
color: 255 255 255 64;
|
||||
}
|
||||
}
|
||||
part { name: "event";
|
||||
type: RECT;
|
||||
repeat_events: 1;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
// signal: elm,state,%s,active
|
||||
|
@ -7622,6 +7622,15 @@ collections {
|
|||
image: "icon_arrow_down.png" COMP;
|
||||
}
|
||||
parts {
|
||||
part {
|
||||
name: "event";
|
||||
type: RECT;
|
||||
repeat_events: 1;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "base_sh";
|
||||
mouse_events: 0;
|
||||
|
@ -7852,15 +7861,6 @@ collections {
|
|||
color: 255 255 255 64;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "event";
|
||||
type: RECT;
|
||||
repeat_events: 1;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
// signal: elm,state,%s,active
|
||||
|
@ -7941,6 +7941,15 @@ collections {
|
|||
image: "icon_arrow_down.png" COMP;
|
||||
}
|
||||
parts {
|
||||
part {
|
||||
name: "event";
|
||||
type: RECT;
|
||||
repeat_events: 1;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "base";
|
||||
mouse_events: 0;
|
||||
|
@ -8147,15 +8156,6 @@ collections {
|
|||
color: 255 255 255 64;
|
||||
}
|
||||
}
|
||||
part {
|
||||
name: "event";
|
||||
type: RECT;
|
||||
repeat_events: 1;
|
||||
description {
|
||||
state: "default" 0.0;
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
// signal: elm,state,%s,active
|
||||
|
|
|
@ -2531,6 +2531,7 @@ Evas_Object *gl3_icon_get(const void *data, Evas_Object *obj, const char *part)
|
|||
{
|
||||
Evas_Object *ck;
|
||||
ck = elm_check_add(obj);
|
||||
evas_object_propagate_events_set(ck, 0);
|
||||
elm_check_state_set(ck, tit->onoff);
|
||||
evas_object_smart_callback_add(ck, "changed", my_gl_item_check_changed, data);
|
||||
evas_object_show(ck);
|
||||
|
|
|
@ -641,6 +641,7 @@ extern "C" {
|
|||
EAPI Elm_Genlist_Item *elm_genlist_item_insert_before(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *before, Elm_Genlist_Item_Flags flags, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data);
|
||||
EAPI Elm_Genlist_Item *elm_genlist_item_insert_after(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *after, Elm_Genlist_Item_Flags flags, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data);
|
||||
EAPI void elm_genlist_clear(Evas_Object *obj);
|
||||
EAPI void elm_genlist_multi_select_set(Evas_Object *obj, Evas_Bool multi);
|
||||
EAPI Elm_Genlist_Item *elm_genlist_selected_item_get(const Evas_Object *obj);
|
||||
EAPI const Eina_List *elm_genlist_selected_items_get(const Evas_Object *obj);
|
||||
EAPI Elm_Genlist_Item *elm_genlist_first_item_get(const Evas_Object *obj);
|
||||
|
@ -661,6 +662,8 @@ extern "C" {
|
|||
EAPI const void *elm_genlist_item_data_get(const Elm_Genlist_Item *item);
|
||||
EAPI void elm_genlist_item_update(Elm_Genlist_Item *item);
|
||||
EAPI void elm_genlist_horizontal_mode_set(Evas_Object *obj, Elm_List_Mode mode);
|
||||
EAPI void elm_genlist_always_select_mode_set(Evas_Object *obj, Evas_Bool always_select);
|
||||
EAPI void elm_genlist_multi_select_set(Evas_Object *obj, Evas_Bool multi);
|
||||
/* smart callbacks called:
|
||||
* "clicked" - when the user double-clicked an item
|
||||
* "selected" - when the user selected an item
|
||||
|
|
|
@ -24,6 +24,8 @@ struct _Widget_Data
|
|||
Evas_Bool multi : 1;
|
||||
Evas_Bool min_w : 1;
|
||||
Evas_Bool min_h : 1;
|
||||
Evas_Bool always_select : 1;
|
||||
Evas_Bool no_select : 1;
|
||||
};
|
||||
|
||||
struct _Item_Block
|
||||
|
@ -196,14 +198,20 @@ static void
|
|||
_item_select(Elm_Genlist_Item *it)
|
||||
{
|
||||
const char *selectraise;
|
||||
if (it->wd->no_select) return;
|
||||
if (it->delete_me) return;
|
||||
if (it->selected) return;
|
||||
if (it->selected)
|
||||
{
|
||||
if (it->wd->always_select) goto call;
|
||||
return;
|
||||
}
|
||||
edje_object_signal_emit(it->base, "elm,state,selected", "elm");
|
||||
selectraise = edje_object_data_get(it->base, "selectraise");
|
||||
if ((selectraise) && (!strcmp(selectraise, "on")))
|
||||
evas_object_raise(it->base);
|
||||
it->selected = 1;
|
||||
it->wd->selected = eina_list_append(it->wd->selected, it);
|
||||
call:
|
||||
if (it->func.func) it->func.func((void *)it->func.data, it->wd->obj, it);
|
||||
evas_object_smart_callback_call(it->wd->obj, "selected", it);
|
||||
}
|
||||
|
@ -1442,3 +1450,17 @@ elm_genlist_horizontal_mode_set(Evas_Object *obj, Elm_List_Mode mode)
|
|||
else
|
||||
elm_scroller_content_min_limit(wd->scr, 0, 0);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_genlist_always_select_mode_set(Evas_Object *obj, Evas_Bool always_select)
|
||||
{
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
wd->always_select = always_select;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_genlist_no_select_mode_set(Evas_Object *obj, Evas_Bool no_select)
|
||||
{
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
wd->no_select = no_select;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue