EINA_LIST_FOREACH(sd->items, l, eo_item)
{
ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
- if (item->button)
+ if (VIEW(item))
elm_widget_theme_object_set
- (obj, item->button, "multibuttonentry", "btn",
+ (obj, elm_layout_edje_get(VIEW(item)), "multibuttonentry", "btn",
elm_widget_style_get(obj));
edje_object_scale_set
- (item->button, elm_widget_scale_get(obj) * elm_config_scale_get());
+ (elm_layout_edje_get(VIEW(item)), elm_widget_scale_get(obj) * elm_config_scale_get());
}
elm_layout_sizing_eval(obj);
EINA_LIST_FOREACH(sd->items, l, eo_item)
{
ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
- evas_object_hide(item->button);
+ evas_object_hide(VIEW(item));
item->visible = EINA_FALSE;
}
// pack buttons only 1line
char *buf;
ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
- elm_box_pack_end(sd->box, item->button);
- evas_object_show(item->button);
+ elm_box_pack_end(sd->box, VIEW(item));
+ evas_object_show(VIEW(item));
item->visible = EINA_TRUE;
w -= item->vw;
if ((w < 0) || (w < w_label_count))
{
- elm_box_unpack(sd->box, item->button);
- evas_object_hide(item->button);
+ elm_box_unpack(sd->box, VIEW(item));
+ evas_object_hide(VIEW(item));
item->visible = EINA_FALSE;
count++;
EINA_LIST_FOREACH(sd->items, l, eo_item)
{
ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
- evas_object_hide(item->button);
+ evas_object_hide(VIEW(item));
item->visible = EINA_FALSE;
}
evas_object_hide(sd->end);
EINA_LIST_FOREACH(sd->items, l, eo_item)
{
ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
- elm_box_pack_end(sd->box, item->button);
- evas_object_show(item->button);
+ elm_box_pack_end(sd->box, VIEW(item));
+ evas_object_show(VIEW(item));
item->visible = EINA_TRUE;
}
}
static void
-_button_item_del(Elm_Multibuttonentry_Item_Data *item)
+_item_del(Elm_Multibuttonentry_Item_Data *item)
{
Eina_List *l;
Elm_Object_Item *eo_it;
if (it == item)
{
sd->items = eina_list_remove(sd->items, eo_it);
- elm_box_unpack(sd->box, it->button);
+ elm_box_unpack(sd->box, VIEW(it));
evas_object_smart_callback_call(obj, SIG_ITEM_DELETED, eo_it);
- evas_object_del(it->button);
+ evas_object_del(VIEW(it));
if (sd->selected_it == it)
sd->selected_it = NULL;
}
static void
-_current_button_state_change(Evas_Object *obj,
+_current_item_state_change(Evas_Object *obj,
Multibuttonentry_Button_State state)
{
Elm_Multibuttonentry_Item_Data *item;
item = sd->selected_it;
- if (!item || !item->button) return;
+ if (!item) return;
switch (state)
{
case MULTIBUTTONENTRY_BUTTON_STATE_SELECTED:
- edje_object_signal_emit(item->button, "elm,state,focused", "elm");
+ edje_object_signal_emit(elm_layout_edje_get(VIEW(item)), "elm,state,focused", "elm");
evas_object_smart_callback_call(obj, SIG_ITEM_SELECTED, EO_OBJ(item));
break;
case MULTIBUTTONENTRY_BUTTON_STATE_DEFAULT:
default:
- edje_object_signal_emit(item->button, "elm,state,default", "elm");
+ edje_object_signal_emit(elm_layout_edje_get(VIEW(item)), "elm,state,default", "elm");
sd->selected_it = NULL;
break;
}
}
static void
-_current_button_change(Evas_Object *obj,
- Evas_Object *btn)
+_current_item_change(Evas_Object *obj,
+ Elm_Object_Item *eo_it)
{
Eina_List *l;
- Elm_Object_Item *eo_item;
+ Elm_Object_Item *eo_temp_it;
ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+ ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_it, it);
- // change the state of previous button to "default"
- _current_button_state_change(obj, MULTIBUTTONENTRY_BUTTON_STATE_DEFAULT);
+ // change the state of previous item to "default"
+ _current_item_state_change(obj, MULTIBUTTONENTRY_BUTTON_STATE_DEFAULT);
// change the current
- EINA_LIST_FOREACH(sd->items, l, eo_item)
+ EINA_LIST_FOREACH(sd->items, l, eo_temp_it)
{
- ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
- if (item->button == btn)
+ if (eo_temp_it == eo_it)
{
- sd->selected_it = item;
+ sd->selected_it = it;
break;
}
}
- // change the state of current button to "focused"
- _current_button_state_change(obj, MULTIBUTTONENTRY_BUTTON_STATE_SELECTED);
+ // change the state of current item to "focused"
+ _current_item_state_change(obj, MULTIBUTTONENTRY_BUTTON_STATE_SELECTED);
}
static void
-_button_select(Evas_Object *obj,
- Evas_Object *btn)
+_item_select(Evas_Object *obj,
+ Elm_Multibuttonentry_Item_Data *it)
{
ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
- if (btn)
+ if (it)
{
- _current_button_change(obj, btn);
+ _current_item_change(obj, EO_OBJ(it));
if (elm_widget_focus_get(obj))
{
elm_object_focus_set(sd->entry, EINA_FALSE);
- evas_object_focus_set(btn, EINA_TRUE);
+ evas_object_focus_set(VIEW(it), EINA_TRUE);
// ACCESS
if (_elm_config->access_mode != ELM_ACCESS_MODE_OFF)
const char *part, *text;
part = "elm.btn.text";
- po = (Evas_Object *)edje_object_part_object_get(btn, part);
+ po = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(VIEW(it)), part);
ao = evas_object_data_get(po, "_part_access_obj");
_elm_access_highlight_set(ao);
buf = eina_strbuf_new();
eina_strbuf_append_printf(buf,
"multi button entry item %s is selected",
- edje_object_part_text_get(btn, part));
+ edje_object_part_text_get(elm_layout_edje_get(VIEW(it)), part));
text = (const char*)eina_strbuf_string_steal(buf);
_elm_access_say(text);
}
else
{
- _current_button_state_change
+ _current_item_state_change
(obj, MULTIBUTTONENTRY_BUTTON_STATE_DEFAULT);
if (elm_widget_focus_get(obj) && sd->editable)
elm_object_focus_set(sd->entry, EINA_TRUE);
}
static void
-_button_clicked_cb(void *data,
- Evas_Object *obj,
+_on_item_clicked(void *data,
+ Evas_Object *obj EINA_UNUSED,
const char *emission EINA_UNUSED,
const char *source EINA_UNUSED)
{
- Elm_Multibuttonentry_Item_Data *item = NULL;
+ Elm_Object_Item *eo_it = data;
- ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
+ ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_it, it);
+ ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
- if (sd->view_state == MULTIBUTTONENTRY_VIEW_SHRINK) return;
+ if (sd->view_state == MULTIBUTTONENTRY_VIEW_SHRINK)
+ return;
- _current_button_change(data, obj);
+ _current_item_change(WIDGET(it), eo_it);
if (sd->selected_it)
{
- if ((item = sd->selected_it) != NULL)
+ if ((it = sd->selected_it) != NULL)
{
- evas_object_smart_callback_call(data, SIG_ITEM_CLICKED, EO_OBJ(item));
- _button_select(data, item->button);
+ evas_object_smart_callback_call(VIEW(it), SIG_ITEM_CLICKED, eo_it);
+ _item_select(WIDGET(it), it);
}
}
}
static void
-_button_deleted_cb(void *data,
+_on_item_deleted(void *data,
Evas_Object *obj,
const char *emission EINA_UNUSED,
const char *source EINA_UNUSED)
{
Eina_List *l;
- Elm_Object_Item *eo_item = NULL;
+ Elm_Object_Item *eo_it = data;
+ Elm_Object_Item *eo_temp_it;
- ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
+ ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_it, it);
+ ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
// change the current
- EINA_LIST_FOREACH(sd->items, l, eo_item)
+ EINA_LIST_FOREACH(sd->items, l, eo_temp_it)
{
- ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
- if (item->button == obj)
+ ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_temp_it, temp_it);
+ if (elm_layout_edje_get(VIEW(temp_it)) == obj)
{
- eo_do(eo_item, elm_wdg_item_del());
+ eo_do(eo_temp_it, elm_wdg_item_del());
break;
}
}
}
static void
-_button_resize(Evas_Object *obj,
+_item_resize(Evas_Object *obj,
Evas_Object *btn,
Evas_Coord *realw,
Evas_Coord *vieww)
const char *size_str;
Evas_Coord w_btn = 0, h_btn = 0, button_max_width = 0;
- size_str = edje_object_data_get(btn, "button_max_size");
+ size_str = edje_object_data_get(elm_layout_edje_get(btn), "button_max_size");
if (size_str) button_max_width = atoi(size_str);
button_max_width *= elm_widget_scale_get(obj) * elm_config_scale_get();
// decide the size of button
- edje_object_size_min_calc(btn, &w_btn, &h_btn);
+ edje_object_size_min_calc(elm_layout_edje_get(btn), &w_btn, &h_btn);
rw = w_btn;
if (button_max_width < w_btn) vw = button_max_width;
else vw = w_btn;
- //resize btn
+ //resize item
elm_coords_finger_size_adjust(1, &vw, 1, &h_btn);
evas_object_resize(btn, vw, h_btn);
evas_object_size_hint_min_set(btn, vw, h_btn);
const char *emission,
const char *source)
{
- edje_object_signal_emit(item->button, emission, source);
+ edje_object_signal_emit(elm_layout_edje_get(VIEW(item)), emission, source);
}
EOLIAN static void
else
dest_part = part;
- edje_object_part_text_escaped_set(item->button, dest_part, label);
- _button_resize(item->base->widget, item->button, &item->rw, &item->vw);
+ edje_object_part_text_escaped_set(elm_layout_edje_get(VIEW(item)), dest_part, label);
+ _item_resize(item->base->widget, VIEW(item), &item->rw, &item->vw);
}
EOLIAN static const char *
else
src_part = part;
- return edje_object_part_text_get(item->button, src_part);
+ return edje_object_part_text_get(elm_layout_edje_get(VIEW(item)), src_part);
}
EOLIAN static void
_elm_multibuttonentry_item_eo_base_destructor(Eo *eo_it,
Elm_Multibuttonentry_Item_Data *it)
{
- _button_item_del(it);
+ _item_del(it);
eo_do_super(eo_it, ELM_MULTIBUTTONENTRY_ITEM_CLASS, eo_destructor());
}
{
Evas_Object *ao;
ao = _elm_access_edje_object_part_object_register
- (obj, item->button, "elm.btn.text");
+ (obj, elm_layout_edje_get(VIEW(item)), "elm.btn.text");
_elm_access_text_set(_elm_access_info_get(ao),
ELM_ACCESS_TYPE, E_("multi button entry item"));
}
else
_elm_access_edje_object_part_object_unregister
- (obj, item->button, "elm.btn.text");
+ (obj, elm_layout_edje_get(VIEW(item)), "elm.btn.text");
- /* cannot read item->button because mouse-in event is delivered to
+ /* cannot read item because mouse-in event is delivered to
the multibuttonentry resize_obj which is registered as an access
object, so the mouse-in event should be blocked here */
- evas_object_propagate_events_set(item->button, !is_access);
+ evas_object_propagate_events_set(VIEW(item), !is_access);
}
EOLIAN static void
}
static Elm_Object_Item *
-_button_item_add(Elm_Multibuttonentry_Data *sd,
+_item_new(Elm_Multibuttonentry_Data *sd,
const char *str,
Multibuttonentry_Pos pos,
Elm_Object_Item *eo_reference,
void *data)
{
Eina_List *l;
- Evas_Object *btn;
Evas_Coord rw, vw;
- char *str_utf8 = NULL;
Eo *eo_item;
Evas_Coord width = -1, height = -1;
Elm_Multibuttonentry_Item_Filter *item_filter;
if (!(item_filter->callback_func(obj, str, data, item_filter->data)))
return NULL;
}
- // add button
- btn = edje_object_add(evas_object_evas_get(obj));
- str_utf8 = elm_entry_markup_to_utf8(str);
+
+ eo_item = eo_add(ELM_MULTIBUTTONENTRY_ITEM_CLASS, obj);
+ if (!eo_item)
+ return NULL;
+ WIDGET_ITEM_DATA_SET(eo_item, data);
+
+ ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
+ VIEW(item) = elm_layout_add(obj);
+
+ elm_layout_theme_set
+ (VIEW(item), "multibuttonentry", "btn", elm_widget_style_get(obj));
+
+ elm_object_part_text_set(VIEW(item), "elm.btn.text", str);
//entry is cleared when text is made to button
elm_object_text_set(sd->entry, "");
- elm_widget_theme_object_set
- (obj, btn, "multibuttonentry", "btn", elm_widget_style_get(obj));
- edje_object_part_text_escaped_set(btn, "elm.btn.text", str_utf8);
+ evas_object_smart_calculate(VIEW(item));
edje_object_part_geometry_get
- (btn, "elm.btn.text", NULL, NULL, &width, &height);
-
- evas_object_size_hint_min_set(btn, width, height);
-
+ (elm_layout_edje_get(VIEW(item)), "elm.btn.text", NULL, NULL, &width, &height);
+ evas_object_size_hint_min_set(VIEW(item), width, height);
edje_object_signal_callback_add
- (btn, "mouse,clicked,1", "*", _button_clicked_cb, obj);
+ (elm_layout_edje_get(VIEW(item)), "mouse,clicked,1", "*", _on_item_clicked, EO_OBJ(item));
edje_object_signal_callback_add
- (btn, "elm,deleted", "elm", _button_deleted_cb, obj);
- evas_object_size_hint_weight_set(btn, 0.0, 0.0);
- evas_object_show(btn);
-
- // append item list
- eo_item = eo_add(ELM_MULTIBUTTONENTRY_ITEM_CLASS, obj);
- if (!eo_item) return NULL;
- WIDGET_ITEM_DATA_SET(eo_item, data);
+ (elm_layout_edje_get(VIEW(item)), "elm,deleted", "elm", _on_item_deleted, EO_OBJ(item));
+ evas_object_size_hint_weight_set(VIEW(item), 0.0, 0.0);
+ evas_object_show(VIEW(item));
- ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
+ _item_resize(obj, VIEW(item), &rw, &vw);
- _button_resize(obj, btn, &rw, &vw);
+ elm_object_focus_allow_set(VIEW(item), EINA_TRUE);
- item->button = btn;
item->rw = rw;
item->vw = vw;
item->visible = EINA_TRUE;
eina_strbuf_append_printf(buf,
"multi button entry item %s is added",
- edje_object_part_text_get(item->button, "elm.btn.text"));
+ edje_object_part_text_get(elm_layout_edje_get(VIEW(item)), "elm.btn.text"));
text = (const char*)eina_strbuf_string_steal(buf);
_elm_access_say(text);
sd->items = eina_list_prepend(sd->items, eo_item);
if (sd->view_state == MULTIBUTTONENTRY_VIEW_SHRINK)
{
- elm_widget_sub_object_add(obj, btn);
+ elm_widget_sub_object_add(obj, VIEW(item));
_shrink_mode_set(obj, EINA_TRUE);
}
else
{
if (sd->label)
- elm_box_pack_after(sd->box, btn, sd->label);
+ elm_box_pack_after(sd->box, VIEW(item), sd->label);
else
- elm_box_pack_start(sd->box, btn);
+ elm_box_pack_start(sd->box, VIEW(item));
if (sd->view_state == MULTIBUTTONENTRY_VIEW_GUIDETEXT)
_visual_guide_text_set(obj);
}
sd->items = eina_list_append(sd->items, eo_item);
if (sd->view_state == MULTIBUTTONENTRY_VIEW_SHRINK)
{
- elm_widget_sub_object_add(obj, btn);
- evas_object_hide(btn);
+ elm_widget_sub_object_add(obj, VIEW(item));
+ evas_object_hide(VIEW(item));
}
else
{
if (sd->view_state == MULTIBUTTONENTRY_VIEW_GUIDETEXT)
_visual_guide_text_set(obj);
+
if (sd->editable)
- {
- elm_box_pack_before(sd->box, btn, sd->entry);
- }
+ elm_box_pack_before(sd->box, VIEW(item), sd->entry);
else
- elm_box_pack_end(sd->box, btn);
+ elm_box_pack_end(sd->box, VIEW(item));
}
break;
sd->items = eina_list_append(sd->items, eo_item);
if (sd->view_state == MULTIBUTTONENTRY_VIEW_SHRINK)
{
- elm_widget_sub_object_add(obj, btn);
- evas_object_hide(btn);
+ elm_widget_sub_object_add(obj, VIEW(item));
+ evas_object_hide(VIEW(item));
_shrink_mode_set(obj, EINA_TRUE);
}
else
{
if (eo_reference)
- elm_box_pack_before(sd->box, btn, reference->button);
+ elm_box_pack_before(sd->box, VIEW(item), reference->button);
else
{
if (sd->view_state == MULTIBUTTONENTRY_VIEW_GUIDETEXT)
_visual_guide_text_set(obj);
if (sd->editable)
{
- elm_box_pack_before(sd->box, btn, sd->entry);
+ elm_box_pack_before(sd->box, VIEW(item), sd->entry);
}
else
- elm_box_pack_end(sd->box, btn);
+ elm_box_pack_end(sd->box, VIEW(item));
}
}
break;
sd->items = eina_list_append(sd->items, eo_item);
if (sd->view_state == MULTIBUTTONENTRY_VIEW_SHRINK)
{
- elm_widget_sub_object_add(obj, btn);
+ elm_widget_sub_object_add(obj, VIEW(item));
_shrink_mode_set(obj, EINA_TRUE);
}
else
{
if (eo_reference)
- elm_box_pack_after(sd->box, btn, reference->button);
+ elm_box_pack_after(sd->box, VIEW(item), reference->button);
else
{
if (sd->view_state == MULTIBUTTONENTRY_VIEW_GUIDETEXT)
_visual_guide_text_set(obj);
if (sd->editable)
{
- elm_box_pack_before(sd->box, btn, sd->entry);
+ elm_box_pack_before(sd->box, VIEW(item), sd->entry);
}
else
- elm_box_pack_end(sd->box, btn);
+ elm_box_pack_end(sd->box, VIEW(item));
}
}
break;
}
evas_object_smart_callback_call(obj, SIG_ITEM_ADDED, eo_item);
- free(str_utf8);
-
return eo_item;
}
{
item = sd->selected_it;
elm_object_focus_set(sd->entry, EINA_FALSE);
- evas_object_focus_set(item->button, EINA_TRUE);
+ evas_object_focus_set(VIEW(item), EINA_TRUE);
}
}
str = elm_object_text_get(sd->entry);
if (str && str[0])
- _button_item_add(sd, str, MULTIBUTTONENTRY_POS_END, NULL, NULL, NULL);
+ _item_new(sd, str, MULTIBUTTONENTRY_POS_END, NULL, NULL, NULL);
}
static void
{
ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
- _current_button_state_change(sd->parent, MULTIBUTTONENTRY_BUTTON_STATE_DEFAULT);
+ _current_item_state_change(sd->parent, MULTIBUTTONENTRY_BUTTON_STATE_DEFAULT);
elm_object_focus_set(sd->entry, EINA_TRUE);
}
if (!sd->box) return;
- if (sd->last_btn_select)
+ if (sd->last_it_select)
{
if (sd->selected_it &&
((!strcmp(ev->key, "BackSpace")) ||
if (eo_item)
{
ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
- _button_select(sd->parent, item->button);
+ _item_select(sd->parent, item);
}
}
}
else
- sd->last_btn_select = EINA_TRUE;
+ sd->last_it_select = EINA_TRUE;
}
static void
if (sd->n_str == 1 &&
(!strcmp(ev->key, "BackSpace") || !strcmp(ev->key, "Delete")))
- sd->last_btn_select = EINA_FALSE;
+ sd->last_it_select = EINA_FALSE;
}
static void
if (strlen(str) &&
(!strcmp(ev->key, "KP_Enter") || !strcmp(ev->key, "Return")))
{
- _button_item_add(sd, str, MULTIBUTTONENTRY_POS_END, NULL, NULL, NULL);
+ _item_new(sd, str, MULTIBUTTONENTRY_POS_END, NULL, NULL, NULL);
sd->n_str = 0;
}
}
int invisible_its = 0;
EINA_LIST_FOREACH (sd->items, l, eo_item)
{
- ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, it);
- if (it->visible)
+ ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
+ if (item->visible)
eina_strbuf_append_printf(buf, ", %s",
- edje_object_part_text_get(it->button, "elm.btn.text"));
+ edje_object_part_text_get(elm_layout_edje_get(VIEW(item)), "elm.btn.text"));
else
invisible_its++;
}
elm_widget_can_focus_set(obj, EINA_TRUE);
- priv->last_btn_select = EINA_TRUE;
+ priv->last_it_select = EINA_TRUE;
priv->editable = EINA_TRUE;
priv->parent = obj;
priv->format_func = _format_count;
Elm_Object_Item *eo_item;
EINA_LIST_FREE(sd->items, eo_item)
- {
- ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
- evas_object_del(item->button);
- eo_del(eo_item);
- }
+ eo_del(eo_item);
+
sd->items = NULL;
sd->selected_it = NULL;
EINA_LIST_FOREACH (sd->items, l, eo_item)
{
- ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, it);
+ ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
po = (Evas_Object *)edje_object_part_object_get
- (it->button, "elm.btn.text");
+ (elm_layout_edje_get(VIEW(item)), "elm.btn.text");
ao = evas_object_data_get(po, "_part_access_obj");
int_ret = int_ret || elm_widget_focus_get(ao);
items = eina_list_append(items, ao);
EOLIAN static Elm_Object_Item*
_elm_multibuttonentry_item_prepend(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd, const char *label, Evas_Smart_Cb func, void *data)
{
- return _button_item_add(sd, label, MULTIBUTTONENTRY_POS_START, NULL, func, data);
+ return _item_new(sd, label, MULTIBUTTONENTRY_POS_START, NULL, func, data);
}
EOLIAN static Elm_Object_Item*
_elm_multibuttonentry_item_append(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd, const char *label, Evas_Smart_Cb func, void *data)
{
- return _button_item_add(sd, label, MULTIBUTTONENTRY_POS_END, NULL, func, data);
+ return _item_new(sd, label, MULTIBUTTONENTRY_POS_END, NULL, func, data);
}
EOLIAN static Elm_Object_Item*
_elm_multibuttonentry_item_insert_before(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd, Elm_Object_Item *before, const char *label, Evas_Smart_Cb func, void *data)
{
- return _button_item_add(sd, label, MULTIBUTTONENTRY_POS_BEFORE, before, func, data);
+ return _item_new(sd, label, MULTIBUTTONENTRY_POS_BEFORE, before, func, data);
}
EOLIAN static Elm_Object_Item*
_elm_multibuttonentry_item_insert_after(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd, Elm_Object_Item *after, const char *label, Evas_Smart_Cb func, void *data)
{
- return _button_item_add(sd, label, MULTIBUTTONENTRY_POS_AFTER, after, func, data);
+ return _item_new(sd, label, MULTIBUTTONENTRY_POS_AFTER, after, func, data);
}
EOLIAN static const Eina_List*
Elm_Multibuttonentry_Item_Data *item,
Eina_Bool selected)
{
- if (selected) _button_select(WIDGET(item), item->button);
- else _button_select(WIDGET(item), NULL);
+ if (selected) _item_select(WIDGET(item), item);
+ else _item_select(WIDGET(item), NULL);
}
EOLIAN static Eina_Bool
EINA_LIST_FREE(sd->items, eo_item)
{
ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
- elm_box_unpack(sd->box, item->button);
- evas_object_del(item->button);
+ elm_box_unpack(sd->box, VIEW(item));
eo_del(eo_item);
}
sd->items = NULL;
Elm_Multibuttonentry_Item_Data *it)
{
Eina_List *l;
- Elm_Object_Item *eo_item;
+ Elm_Object_Item *eo_temp_it;
ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(WIDGET(it), sd, NULL);
- EINA_LIST_FOREACH(sd->items, l, eo_item)
+ EINA_LIST_FOREACH(sd->items, l, eo_temp_it)
{
- if (eo_item == eo_it)
+ if (eo_temp_it == eo_it)
{
l = eina_list_prev(l);
if (!l) return NULL;
Elm_Multibuttonentry_Item_Data *it)
{
Eina_List *l;
- Elm_Object_Item *eo_item;
+ Elm_Object_Item *eo_temp_it;
ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(WIDGET(it), sd, NULL);
- EINA_LIST_FOREACH(sd->items, l, eo_item)
+ EINA_LIST_FOREACH(sd->items, l, eo_temp_it)
{
- if (eo_item == eo_it)
+ if (eo_temp_it == eo_it)
{
l = eina_list_next(l);
if (!l) return NULL;