From: discomfitor Date: Thu, 28 Jul 2011 02:22:37 +0000 (+0000) Subject: properly set tooltip freesizing when object has not been realized in genlist/gengrid X-Git-Tag: REL_F_I9500_20120323_1~17^2~2130 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=06046781ff9add07dce79d6f0692df11ee044031;p=framework%2Fuifw%2Felementary.git properly set tooltip freesizing when object has not been realized in genlist/gengrid git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@61834 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c index d80585b..a8dcd7e 100644 --- a/src/lib/elm_gengrid.c +++ b/src/lib/elm_gengrid.c @@ -40,6 +40,7 @@ Elm_Tooltip_Item_Content_Cb content_cb; Evas_Smart_Cb del_cb; const char *style; + Eina_Bool free_size : 1; } tooltip; const char *mouse_cursor; @@ -1003,6 +1004,7 @@ _item_realize(Elm_Gengrid_Item *item) item->tooltip.content_cb, item->tooltip.data, NULL); elm_widget_item_tooltip_style_set(item, item->tooltip.style); + elm_widget_item_tooltip_size_restrict_disable(item, item->tooltip.free_size); } if (item->mouse_cursor) @@ -2196,6 +2198,7 @@ elm_gengrid_item_tooltip_content_cb_set(Elm_Gengrid_Item *item, item->tooltip.content_cb, item->tooltip.data, NULL); elm_widget_item_tooltip_style_set(item, item->tooltip.style); + elm_widget_item_tooltip_size_restrict_disable(item, item->tooltip.free_size); } return; @@ -2216,6 +2219,7 @@ elm_gengrid_item_tooltip_unset(Elm_Gengrid_Item *item) item->tooltip.del_cb = NULL; item->tooltip.content_cb = NULL; item->tooltip.data = NULL; + item->tooltip.free_size = EINA_FALSE; if (item->tooltip.style) elm_gengrid_item_tooltip_style_set(item, NULL); } @@ -2240,14 +2244,16 @@ EAPI Eina_Bool elm_gengrid_item_tooltip_size_restrict_disable(Elm_Gengrid_Item *item, Eina_Bool disable) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item, EINA_FALSE); - return elm_widget_item_tooltip_size_restrict_disable(item, disable); + item->tooltip.free_size = disable; + if (item->base.view) return elm_widget_item_tooltip_size_restrict_disable(item, disable); + return EINA_TRUE; } EAPI Eina_Bool elm_gengrid_item_tooltip_size_restrict_disabled_get(const Elm_Gengrid_Item *item) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item, EINA_FALSE); - return elm_widget_item_tooltip_size_restrict_disabled_get(item); + return item->tooltip.free_size; } EAPI void diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c index e06f046..3b8ef4d 100644 --- a/src/lib/elm_genlist.c +++ b/src/lib/elm_genlist.c @@ -122,6 +122,7 @@ struct _Elm_Genlist_Item Elm_Tooltip_Item_Content_Cb content_cb; Evas_Smart_Cb del_cb; const char *style; + Eina_Bool free_size : 1; } tooltip; const char *mouse_cursor; @@ -1927,6 +1928,7 @@ _item_realize(Elm_Genlist_Item *it, it->tooltip.content_cb, it->tooltip.data, NULL); elm_widget_item_tooltip_style_set(it, it->tooltip.style); + elm_widget_item_tooltip_size_restrict_disable(it, it->tooltip.free_size); } if (it->mouse_cursor) @@ -4722,6 +4724,7 @@ elm_genlist_item_tooltip_content_cb_set(Elm_Genlist_Item *item, item->tooltip.content_cb, item->tooltip.data, NULL); elm_widget_item_tooltip_style_set(item, item->tooltip.style); + elm_widget_item_tooltip_size_restrict_disable(item, item->tooltip.free_size); } return; @@ -4755,6 +4758,7 @@ elm_genlist_item_tooltip_unset(Elm_Genlist_Item *item) item->tooltip.del_cb = NULL; item->tooltip.content_cb = NULL; item->tooltip.data = NULL; + item->tooltip.free_size = EINA_FALSE; if (item->tooltip.style) elm_genlist_item_tooltip_style_set(item, NULL); } @@ -4800,14 +4804,16 @@ EAPI Eina_Bool elm_genlist_item_tooltip_size_restrict_disable(Elm_Genlist_Item *item, Eina_Bool disable) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item, EINA_FALSE); - return elm_widget_item_tooltip_size_restrict_disable(item, disable); + item->tooltip.free_size = disable; + if (item->base.view) return elm_widget_item_tooltip_size_restrict_disable(item, disable); + return EINA_TRUE; } EAPI Eina_Bool elm_genlist_item_tooltip_size_restrict_disabled_get(const Elm_Genlist_Item *item) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item, EINA_FALSE); - return elm_widget_item_tooltip_size_restrict_disabled_get(item); + return item->tooltip.free_size; } /**