Evas_Coord x, y, w, h;\r
Evas_Coord mw, mh; \r
Eina_Bool on_hold : 1;\r
- Eina_Bool on_show : 1; \r
+ Eina_Bool exist : 1; \r
int mdx, mdy, mmx, mmy; \r
};\r
\r
Eina_List *list;\r
Evas_Coord x, y, w, h;\r
Eina_Bool on_expanded : 1;\r
+ Eina_Bool visible: 1;\r
};\r
\r
static const char *widtype = NULL;\r
it->ly = NULL;\r
it->ic = NULL; \r
it->pad = NULL; \r
- it->on_show = EINA_FALSE;\r
+ it->exist = EINA_FALSE;\r
}\r
}\r
\r
it = (Elm_Stackedicon_Item *)eina_list_nth(wd->list, i);\r
\r
if(it != NULL){\r
- if(it->on_show == EINA_TRUE){ \r
+ if(it->exist == EINA_TRUE){ \r
_del_image(it);\r
}\r
}\r
\r
Evas_Coord x, y;\r
\r
- if(it->on_show != EINA_FALSE){\r
+ if(it->exist == EINA_TRUE){\r
if(it->ly) {\r
evas_object_geometry_get(obj, &x, &y, NULL, NULL);\r
_icon_map_pos(it, x, y);\r
{\r
Elm_Stackedicon_Item *it = data;\r
Evas_Event_Mouse_Down *ev = event_info;\r
+ Eina_List *l;\r
+ Elm_Stackedicon_Item *_it = NULL;\r
if(!it) return;\r
+ Widget_Data *wd = elm_widget_data_get(it->parent);\r
+ if(!wd) return;\r
\r
it->on_hold = EINA_TRUE; \r
it->mdx = ev->output.x;\r
it->mdy = ev->output.y;\r
+\r
+ EINA_LIST_REVERSE_FOREACH(wd->list, l, _it) {\r
+ if(_it != NULL){\r
+ if(_it->exist == EINA_TRUE){ \r
+ evas_object_raise(_it->ly);\r
+ }\r
+ }\r
+ }\r
}\r
\r
static void _icon_mouse_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)\r
evas_map_alpha_set(m, 1); \r
evas_object_map_set(it->ly, m);\r
evas_object_map_enable_set(it->ly, 1);\r
- evas_object_show(it->ly);\r
evas_map_free(m); \r
}\r
\r
it->ic = ic; \r
it->pad = pad;\r
\r
- it->on_show = EINA_TRUE;\r
+ it->exist = EINA_TRUE;\r
}\r
\r
static void _update_stackedicon(Evas_Object *obj)\r
\r
EINA_LIST_REVERSE_FOREACH(wd->list, l, it) {\r
if(it != NULL){\r
- if(it->on_show == EINA_FALSE){ \r
+ if(it->exist == EINA_FALSE){ \r
_add_image(obj, it);\r
}\r
evas_object_move(it->ly, wd->x + wd->w/2 - it->mw/2, wd->y + wd->h/2 - it->mh/2); \r
+ if(wd->visible) evas_object_show(it->ly);\r
}\r
}\r
}\r
it = (Elm_Stackedicon_Item *)eina_list_nth(wd->list, i);\r
\r
if(it != NULL){\r
- if(it->on_show == EINA_TRUE){ \r
- evas_object_show(it->ly);\r
- //evas_object_show(it->ic);\r
- //evas_object_show(it->pad); \r
+ if(it->exist == EINA_TRUE){ \r
+ evas_object_show(it->ly); \r
}\r
}\r
}\r
it = (Elm_Stackedicon_Item *)eina_list_nth(wd->list, i);\r
\r
if(it != NULL){\r
- if(it->on_show == EINA_TRUE){ \r
- evas_object_hide(it->ly);\r
- //evas_object_hide(it->ic);\r
- //evas_object_hide(it->pad); \r
+ if(it->exist == EINA_TRUE){ \r
+ evas_object_hide(it->ly); \r
}\r
}\r
}\r
Widget_Data *wd = elm_widget_data_get(data);\r
if (!wd) return;\r
\r
+ wd->visible = EINA_TRUE;\r
evas_object_show(wd->clip);\r
_update_stackedicon(data); \r
- _show_all_image(data);\r
+ //_show_all_image(data);\r
}\r
\r
static void\r
Widget_Data *wd = elm_widget_data_get(data);\r
if (!wd) return;\r
\r
+ wd->visible = EINA_FALSE;\r
evas_object_hide(wd->clip);\r
_hide_all_image(data);\r
}\r
it->ly = NULL;\r
it->ic = NULL;\r
it->index = eina_list_count(wd->list);\r
- it->on_show = EINA_FALSE; \r
+ it->exist = EINA_FALSE; \r
wd->list = eina_list_append(wd->list, it);\r
\r
_update_stackedicon(obj);\r
it->ly = NULL;\r
it->ic = NULL;\r
it->index = eina_list_count(wd->list);\r
- it->on_show = EINA_FALSE; \r
+ it->exist = EINA_FALSE; \r
wd->list = eina_list_prepend(wd->list, it);\r
\r
_update_stackedicon(obj);\r