evas_object_size_hint_min_set(sd->content_area, minw, minh);
+ //TIZEN_ONLY(20161107): supprot scrollable content
+ //FIXME: genlist only now, it should be changed to support other scrollable.
+ if (sd->scrollable_content)
+ minh = sd->min_scrollable_content_h;
+ //
+
+
if (minh > sd->max_sc_h)
evas_object_size_hint_min_set(sd->spacer, minw, sd->max_sc_h);
else
return EINA_TRUE;
}
+//TIZEN_ONLY(20161107): support scrollable content
+//FIXME: genlist only now, it should be changed to support other scrollable.
+static void
+_scrollable_content_loaded_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ ELM_POPUP_DATA_GET(data, sd);
+
+ Evas_Coord h;
+ eo_do(obj, elm_interface_scrollable_content_size_get(NULL, &h));
+
+ sd->scrollable_content = EINA_TRUE;
+ sd->min_scrollable_content_h = h;
+
+ elm_layout_sizing_eval(data);
+}
+//
+
EOLIAN static Eo *
_elm_popup_item_eo_base_constructor(Eo *eo_it, Elm_Popup_Item_Data *it)
{
_elm_access_text_set(_elm_access_info_get(ao), ELM_ACCESS_INFO, text);
}
+ //TIZEN_ONLY(20161107): support scrollable content
+ //FIXME: genlist only now, it should be changed to support other scrollable.
+ sd->scrollable_content = EINA_FALSE;
+ //
end:
return EINA_TRUE;
}
{
ELM_POPUP_DATA_GET(obj, sd);
+ //TIZEN_ONLY(20161107): support scrollable content
+ //FIXME: genlist only now, it should be changed to support other scrollable.
+ sd->scrollable_content = EINA_FALSE;
+ //
+
if (sd->content && sd->content == content) return EINA_TRUE;
if (sd->items)
{
eo_do(sd->content_area, elm_obj_container_content_set
(CONTENT_PART, content));
+ //TIZEN_ONLY(20161107): support scrollable content
+ //FIXME: genlist only now, it should be changed to support other scrollable.
+ if (eo_isa(content, ELM_INTERFACE_SCROLLABLE_MIXIN))
+ evas_object_smart_callback_add(content, "loaded", _scrollable_content_loaded_cb, obj);
+ //
+
evas_object_event_callback_add
(content, EVAS_CALLBACK_DEL, _on_content_del, obj);
}
eo_do(sd->content_area, content = elm_obj_container_content_unset(CONTENT_PART));
sd->content = NULL;
+ //TIZEN_ONLY(20161107): support scrollable content
+ //FIXME: genlist only now, it should be changed to support other scrollable.
+ sd->scrollable_content = EINA_FALSE;
+ //
+
elm_layout_sizing_eval(obj);
return content;
//TIZEN_ONLY(20160624): add a allow eval flag not to call another sizing eval during sizing eval
priv->allow_eval = EINA_TRUE;
//
+ //TIZEN_ONLY(20161107): support scrollable content
+ //FIXME: genlist only now, it should be changed to support other scrollable.
+ priv->scrollable_content = EINA_FALSE;
+ //
snprintf(style, sizeof(style), "popup/%s", elm_widget_style_get(obj));