From 06046781ff9add07dce79d6f0692df11ee044031 Mon Sep 17 00:00:00 2001 From: discomfitor Date: Thu, 28 Jul 2011 02:22:37 +0000 Subject: [PATCH] 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 --- src/lib/elm_gengrid.c | 10 ++++++++-- src/lib/elm_genlist.c | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) 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; } /** -- 2.7.4