re = evas_object_rectangle_add(evas_object_evas_get(win));
evas_object_show(re);
- elm_layout_content_set(ly, "ColorPreview", re);
+ elm_object_content_part_set(ly, "ColorPreview", re);
fr = elm_frame_add(win);
evas_object_size_hint_weight_set(fr, 1.0, 0);
elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
elm_entry_entry_set(en, "This is a single line");
elm_entry_single_line_set(en, 1);
- elm_layout_content_set(ly, "element1", en);
+ elm_object_content_part_set(ly, "element1", en);
evas_object_show(en);
en = elm_entry_add(win);
"use it more flexibly.");
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_layout_content_set(ly, "element2", en);
+ elm_object_content_part_set(ly, "element2", en);
evas_object_show(en);
en = elm_entry_add(win);
"good testing to see if entry widgets work as advertised."
);
evas_object_smart_callback_add(en, "anchor,clicked", scrolled_anchor_test, en);
- elm_layout_content_set(ly, "element3", en);
+ elm_object_content_part_set(ly, "element3", en);
evas_object_show(en);
evas_object_show(win);
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL,
EVAS_HINT_FILL);
evas_object_size_hint_weight_set(bx2, 0.0, 0.0);
- elm_layout_content_set(ly, "element1", bx2);
+ elm_object_content_part_set(ly, "element1", bx2);
my_show(bx2);
for (i = 3; i; i--)
evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL,
EVAS_HINT_FILL);
evas_object_size_hint_weight_set(bx2, 0.0, 0.0);
- elm_layout_content_set(ly, "element2", bx2);
+ elm_object_content_part_set(ly, "element2", bx2);
my_show(bx2);
{
bt1 = bt = elm_button_add(ly);
elm_object_text_set(bt, "Button 1");
- elm_layout_content_set(ly, "element1", bt);
+ elm_object_content_part_set(ly, "element1", bt);
en = elm_entry_add(ly);
elm_entry_scrollable_set(en, EINA_TRUE);
elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
elm_entry_entry_set(en, "Scrolled Entry that should get focus");
elm_entry_single_line_set(en, 1);
- elm_layout_content_set(ly, "element2", en);
+ elm_object_content_part_set(ly, "element2", en);
bt = elm_button_add(ly);
elm_object_text_set(bt, "Button 2");
- elm_layout_content_set(ly, "element3", bt);
+ elm_object_content_part_set(ly, "element3", bt);
bt = elm_button_add(PARENT);
elm_object_text_set(bt, "Give focus to layout");
Evas_Object *postit = elm_layout_add(win);
snprintf(buf, sizeof(buf), "%s/objects/postit_ent.edj", elm_app_data_dir_get());
elm_layout_file_set(postit, buf, "main");
- elm_layout_content_set(postit, "ent", en);
+ elm_object_content_part_set(postit, "ent", en);
photo_object_add(win, postit, NULL, 50, 50, 382, 400, 355);
bt = elm_button_add(win);
elm_object_text_set(bt, "Button 1");
- elm_layout_content_set(ly, "element1", bt);
+ elm_object_content_part_set(ly, "element1", bt);
evas_object_show(bt);
bt = elm_button_add(win);
elm_object_text_set(bt, "Button 2");
- elm_layout_content_set(ly, "element2", bt);
+ elm_object_content_part_set(ly, "element2", bt);
evas_object_show(bt);
bt = elm_button_add(win);
elm_object_text_set(bt, "Button 3");
- elm_layout_content_set(ly, "element3", bt);
+ elm_object_content_part_set(ly, "element3", bt);
evas_object_show(bt);
mb = elm_mapbuf_add(win);
slx = (int)(long)evas_object_data_get(data, "slx");
sly = (int)(long)evas_object_data_get(data, "sly");
snprintf(buf, sizeof(buf), "slot.%i.%i", slx, sly);
- elm_layout_content_unset(ly, buf);
+ elm_object_content_part_unset(ly, buf);
edje_object_signal_emit(elm_layout_edje_get(ly2), "drag", "app");
return EINA_FALSE;
}
slx = (int)(long)evas_object_data_get(obj, "slx");
sly = (int)(long)evas_object_data_get(obj, "sly");
snprintf(buf, sizeof(buf), "slot.%i.%i", slx, sly);
- elm_layout_content_set(ly, buf, ly2);
+ elm_object_content_part_set(ly, buf, ly2);
list = (Eina_List *)evas_object_data_get
(elm_object_top_widget_get(obj), "mbs");
EINA_LIST_FOREACH(list, l, mb)
elm_icon_scale_set(ic, 0, 0);
evas_object_size_hint_weight_set(ic, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(ic, 0.5, 0.5);
- elm_layout_content_set(ly2, "slot", ic);
+ elm_object_content_part_set(ly2, "slot", ic);
evas_object_show(ic);
evas_object_event_callback_add(ic, EVAS_CALLBACK_DEL, l3_ic_del_cb, ic);
evas_object_data_set(ic, "sly", (void *)(long)(j));
snprintf(buf, sizeof(buf), "slot.%i.%i", i, j);
- elm_layout_content_set(ly, buf, ly2);
+ elm_object_content_part_set(ly, buf, ly2);
evas_object_show(ly2);
n++; if (n > 23) n = 0;
bt = elm_button_add(win);
elm_object_text_set(bt, "Button 1");
- elm_layout_content_set(ly, "element1", bt);
+ elm_object_content_part_set(ly, "element1", bt);
evas_object_smart_callback_add(bt, "clicked", _clicked_cb, ly);
evas_object_show(bt);
bt = elm_button_add(win);
elm_object_text_set(bt, "Button 2");
- elm_layout_content_set(ly, "element2", bt);
+ elm_object_content_part_set(ly, "element2", bt);
evas_object_smart_callback_add(bt, "clicked", _clicked_cb, ly);
evas_object_show(bt);
bt = elm_button_add(win);
elm_object_text_set(bt, "Button 3");
- elm_layout_content_set(ly, "element3", bt);
+ elm_object_content_part_set(ly, "element3", bt);
evas_object_smart_callback_add(bt, "clicked", _clicked_cb, ly);
evas_object_show(bt);
bt = elm_button_add(win);
elm_object_text_set(bt, "Flip to 1");
evas_object_smart_callback_add(bt, "clicked", my_pager_4, &info);
- elm_layout_content_set(ly2, "element1", bt);
+ elm_object_content_part_set(ly2, "element1", bt);
evas_object_show(bt);
bt = elm_button_add(win);
elm_object_text_set(bt, "Popme");
evas_object_smart_callback_add(bt, "clicked", my_pager_pop, &info);
evas_object_show(bt);
- elm_layout_content_set(ly2, "element2", bt);
+ elm_object_content_part_set(ly2, "element2", bt);
- elm_layout_content_set(ly, "swallow", ly2);
+ elm_object_content_part_set(ly, "swallow", ly2);
evas_object_show(ly);
elm_pager_content_push(pg, ly);
it3 = elm_segment_control_item_add(segment4, NULL, "Disabled");
elm_object_disabled_set(segment4, EINA_TRUE);
- elm_layout_content_set(in_layout, "segment1", segment1);
- elm_layout_content_set(in_layout, "segment2", segment2);
- elm_layout_content_set(in_layout, "segment3", segment3);
- elm_layout_content_set(in_layout, "segment4", segment4);
+ elm_object_content_part_set(in_layout, "segment1", segment1);
+ elm_object_content_part_set(in_layout, "segment2", segment2);
+ elm_object_content_part_set(in_layout, "segment3", segment3);
+ elm_object_content_part_set(in_layout, "segment4", segment4);
evas_object_show(in_layout);
*
* @ingroup Layout
*/
- EAPI void elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content) EINA_ARG_NONNULL(1);
/**
* Get the child object in the given content part.
*
*
* @ingroup Layout
*/
- EAPI Evas_Object *elm_layout_content_get(const Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_layout_content_get(const Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
/**
* Unset the layout content.
*
*
* @ingroup Layout
*/
- EAPI Evas_Object *elm_layout_content_unset(Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Evas_Object *elm_layout_content_unset(Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
/**
* Set the text of the given part
*
#define elm_layout_icon_set(_ly, _obj) \
do { \
const char *sig; \
- elm_layout_content_set((_ly), "elm.swallow.icon", (_obj)); \
+ elm_object_content_part_set((_ly), "elm.swallow.icon", (_obj)); \
if ((_obj)) sig = "elm,state,icon,visible"; \
else sig = "elm,state,icon,hidden"; \
elm_object_signal_emit((_ly), sig, "elm"); \
* @ingroup Layout
*/
#define elm_layout_icon_get(_ly) \
- elm_layout_content_get((_ly), "elm.swallow.icon")
+ elm_object_content_part_get((_ly), "elm.swallow.icon")
/**
* @def elm_layout_end_set
#define elm_layout_end_set(_ly, _obj) \
do { \
const char *sig; \
- elm_layout_content_set((_ly), "elm.swallow.end", (_obj)); \
+ elm_object_content_part_set((_ly), "elm.swallow.end", (_obj)); \
if ((_obj)) sig = "elm,state,end,visible"; \
else sig = "elm,state,end,hidden"; \
elm_object_signal_emit((_ly), sig, "elm"); \
* @ingroup Layout
*/
#define elm_layout_end_get(_ly) \
- elm_layout_content_get((_ly), "elm.swallow.end")
+ elm_object_content_part_get((_ly), "elm.swallow.end")
/**
* @def elm_layout_label_set
return edje_object_part_text_get(wd->lay, part);
}
+static void
+_content_set_hook(Evas_Object *obj, const char *part, Evas_Object *content)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype);
+ Widget_Data *wd = elm_widget_data_get(obj);
+ Subinfo *si;
+ const Eina_List *l;
+ if (!wd) return;
+ EINA_LIST_FOREACH(wd->subs, l, si)
+ {
+ if ((si->type == SWALLOW) && (!strcmp(part, si->part)))
+ {
+ if (content == si->obj) return;
+ evas_object_del(si->obj);
+ break;
+ }
+ }
+ if (content)
+ {
+ elm_widget_sub_object_add(obj, content);
+ evas_object_event_callback_add(content,
+ EVAS_CALLBACK_CHANGED_SIZE_HINTS,
+ _changed_size_hints, wd);
+ if (!edje_object_part_swallow(wd->lay, part, content))
+ WRN("could not swallow %p into part '%s'", content, part);
+ si = ELM_NEW(Subinfo);
+ si->type = SWALLOW;
+ si->part = eina_stringshare_add(part);
+ si->obj = content;
+ wd->subs = eina_list_append(wd->subs, si);
+ }
+ _request_sizing_eval(wd);
+}
+
+static Evas_Object *
+_content_get_hook(const Evas_Object *obj, const char *part)
+{
+ Widget_Data *wd = elm_widget_data_get(obj);
+ const Eina_List *l;
+ Subinfo *si;
+ ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+
+ EINA_LIST_FOREACH(wd->subs, l, si)
+ {
+ if ((si->type == SWALLOW) && !strcmp(part, si->part))
+ return si->obj;
+ }
+ return NULL;
+}
+
+static Evas_Object *
+_content_unset_hook(Evas_Object *obj, const char *part)
+{
+ ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+ Widget_Data *wd = elm_widget_data_get(obj);
+ Subinfo *si;
+ const Eina_List *l;
+ if (!wd) return NULL;
+ EINA_LIST_FOREACH(wd->subs, l, si)
+ {
+ if ((si->type == SWALLOW) && (!strcmp(part, si->part)))
+ {
+ Evas_Object *content;
+ if (!si->obj) return NULL;
+ content = si->obj; /* si will die in _sub_del due elm_widget_sub_object_del() */
+ elm_widget_sub_object_del(obj, content);
+ edje_object_part_unswallow(wd->lay, content);
+ return content;
+ }
+ }
+ return NULL;
+}
+
EAPI Evas_Object *
elm_layout_add(Evas_Object *parent)
{
elm_widget_signal_callback_del_hook_set(obj, _signal_callback_del_hook);
elm_widget_text_set_hook_set(obj, _elm_layout_label_set);
elm_widget_text_get_hook_set(obj, _elm_layout_label_get);
+ elm_widget_content_set_hook_set(obj, _content_set_hook);
+ elm_widget_content_get_hook_set(obj, _content_get_hook);
+ elm_widget_content_unset_hook_set(obj, _content_unset_hook);
wd->obj = obj;
wd->lay = edje_object_add(e);
EAPI void
elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content)
{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- Subinfo *si;
- const Eina_List *l;
- if (!wd) return;
- EINA_LIST_FOREACH(wd->subs, l, si)
- {
- if ((si->type == SWALLOW) && (!strcmp(swallow, si->part)))
- {
- if (content == si->obj) return;
- evas_object_del(si->obj);
- break;
- }
- }
- if (content)
- {
- elm_widget_sub_object_add(obj, content);
- evas_object_event_callback_add(content,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _changed_size_hints, wd);
- if (!edje_object_part_swallow(wd->lay, swallow, content))
- WRN("could not swallow %p into part '%s'", content, swallow);
- si = ELM_NEW(Subinfo);
- si->type = SWALLOW;
- si->part = eina_stringshare_add(swallow);
- si->obj = content;
- wd->subs = eina_list_append(wd->subs, si);
- }
- _request_sizing_eval(wd);
+ _content_set_hook(obj, swallow, content);
}
+
EAPI Evas_Object *
elm_layout_content_get(const Evas_Object *obj, const char *swallow)
{
- Widget_Data *wd = elm_widget_data_get(obj);
- const Eina_List *l;
- Subinfo *si;
- ELM_CHECK_WIDTYPE(obj, widtype) NULL;
-
- EINA_LIST_FOREACH(wd->subs, l, si)
- {
- if ((si->type == SWALLOW) && !strcmp(swallow, si->part))
- return si->obj;
- }
- return NULL;
+ return _content_get_hook(obj, swallow);
}
EAPI Evas_Object *
elm_layout_content_unset(Evas_Object *obj, const char *swallow)
{
- ELM_CHECK_WIDTYPE(obj, widtype) NULL;
- Widget_Data *wd = elm_widget_data_get(obj);
- Subinfo *si;
- const Eina_List *l;
- if (!wd) return NULL;
- EINA_LIST_FOREACH(wd->subs, l, si)
- {
- if ((si->type == SWALLOW) && (!strcmp(swallow, si->part)))
- {
- Evas_Object *content;
- if (!si->obj) return NULL;
- content = si->obj; /* si will die in _sub_del due elm_widget_sub_object_del() */
- elm_widget_sub_object_del(obj, content);
- edje_object_part_unswallow(wd->lay, content);
- return content;
- }
- }
- return NULL;
+ return _content_unset_hook(obj, swallow);
}
EAPI void