-#define ELM_FLIPSELECTOR_ITEM_CHECK_DELETED_RETURN(it, ...) \
- ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it, __VA_ARGS__); \
- if (it->deleted) \
- { \
- ERR(""#it" has been DELETED.\n"); \
- return __VA_ARGS__; \
- } \
+static void
+_item_text_set_hook(Elm_Object_Item *it,
+ const char *part,
+ const char *label)
+{
+ Widget_Data *wd;
+ Eina_List *l;
+ Elm_Flipselector_Item *item;
+
+ if (!label) return;
+
+ if (part && strcmp(part ,"default")) return;
+
+ item = (Elm_Flipselector_Item *)it;
+ wd = elm_widget_data_get(WIDGET(item));
+ if ((!wd) || (!wd->items)) return;
+
+ l = eina_list_data_find_list(wd->items, item);
+ if (!l) return;
+
+ eina_stringshare_del(item->label);
+ item->label = eina_stringshare_add_length(label, wd->max_len);
+
+ if (strlen(label) > strlen(elm_object_item_text_get(DATA_GET(wd->sentinel))))
+ wd->sentinel = l;
+
+ if (wd->current == l)
+ {
+ _update_view(WIDGET(item));
+ _sizing_eval(wd->self);
+ }
+}
+
+static const char *
+_item_text_get_hook(const Elm_Object_Item *it, const char *part)
+{
+ if (part && strcmp(part ,"default")) return NULL;
+
+ return ((Elm_Flipselector_Item *)it)->label;
+}
+
+static void
+_item_signal_emit_hook(Elm_Object_Item *it,
+ const char *emission,
+ const char *source)
+{
+ Elm_Flipselector_Item *item = (Elm_Flipselector_Item *)it;
+ edje_object_signal_emit(VIEW(item), emission, source);
+}