_ctxpopup_item_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
{
printf("ctxpopup item selected: %s\n",
- elm_ctxpopup_item_label_get(event_info));
+ elm_ctxpopup_item_label_get(event_info));
}
#define ITEM_NEW(_hov, _label, _icon) \
_list_item_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *ctxpopup, *ic;
- Elm_Ctxpopup_Item *it;
+ Elm_Object_Item *it;
Evas_Coord x,y;
ctxpopup = elm_ctxpopup_add(obj);
_list_item_cb2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *ctxpopup, *ic;
- Elm_Ctxpopup_Item *it;
+ Elm_Object_Item *it;
Evas_Coord x,y;
ctxpopup = elm_ctxpopup_add(obj);
_list_item_cb3(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *ctxpopup, *ic;
- Elm_Ctxpopup_Item *it;
+ Elm_Object_Item *it;
Evas_Coord x,y;
ctxpopup = elm_ctxpopup_add(obj);
_list_item_cb4(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *ctxpopup, *ic;
- Elm_Ctxpopup_Item *it;
+ Elm_Object_Item *it;
Evas_Coord x,y;
ctxpopup = elm_ctxpopup_add(obj);
list = elm_list_add(win);
elm_win_resize_object_add(win, list);
+ evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_list_mode_set(list, ELM_LIST_COMPRESS);
evas_object_smart_callback_add(list, "selected", _list_clicked, NULL);
*
* @see elm_ctxpopup_content_set()
*/
- Elm_Ctxpopup_Item *elm_ctxpopup_item_append(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+ Elm_Object_Item *elm_ctxpopup_item_append(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
/**
* @brief Delete the given item in a ctxpopup object.
*
- * @param item Ctxpopup item to be deleted
+ * @param it Ctxpopup item to be deleted
*
* @see elm_ctxpopup_item_append()
*/
- EAPI void elm_ctxpopup_item_del(Elm_Ctxpopup_Item *it) EINA_ARG_NONNULL(1);
+ EAPI void elm_ctxpopup_item_del(Elm_Object_Item *it) EINA_ARG_NONNULL(1);
/**
* @brief Set the ctxpopup item's state as disabled or enabled.
*
- * @param item Ctxpopup item to be enabled/disabled
+ * @param it Ctxpopup item to be enabled/disabled
* @param disabled @c EINA_TRUE to disable it, @c EINA_FALSE to enable it
*
* When disabled the item is greyed out to indicate it's state.
*/
- EAPI void elm_ctxpopup_item_disabled_set(Elm_Ctxpopup_Item *item, Eina_Bool disabled) EINA_ARG_NONNULL(1);
+ EAPI void elm_ctxpopup_item_disabled_set(Elm_Object_Item *it, Eina_Bool disabled) EINA_ARG_NONNULL(1);
/**
* @brief Get the ctxpopup item's disabled/enabled state.
*
- * @param item Ctxpopup item to be enabled/disabled
+ * @param it Ctxpopup item to be enabled/disabled
* @return disabled @c EINA_TRUE, if disabled, @c EINA_FALSE otherwise
*
* @see elm_ctxpopup_item_disabled_set()
*/
- EAPI Eina_Bool elm_ctxpopup_item_disabled_get(const Elm_Ctxpopup_Item *item) EINA_ARG_NONNULL(1);
+ EAPI Eina_Bool elm_ctxpopup_item_disabled_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
/**
* @brief Get the icon object for the given ctxpopup item.
*
- * @param item Ctxpopup item
+ * @param it Ctxpopup item
* @return icon object or @c NULL, if the item does not have icon or an error
* occurred
*
* @see elm_ctxpopup_item_append()
* @see elm_ctxpopup_item_icon_set()
*/
- EAPI Evas_Object *elm_ctxpopup_item_icon_get(const Elm_Ctxpopup_Item *item) EINA_ARG_NONNULL(1);
+ EAPI Evas_Object *elm_ctxpopup_item_icon_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
/**
* @brief Sets the side icon associated with the ctxpopup item
*
- * @param item Ctxpopup item
+ * @param it Ctxpopup item
* @param icon Icon object to be set
*
* Once the icon object is set, a previously set one will be deleted.
*
* @see elm_ctxpopup_item_append()
*/
- EAPI void elm_ctxpopup_item_icon_set(Elm_Ctxpopup_Item *item, Evas_Object *icon) EINA_ARG_NONNULL(1);
+ EAPI void elm_ctxpopup_item_icon_set(Elm_Object_Item *it, Evas_Object *icon) EINA_ARG_NONNULL(1);
/**
* @brief Get the label for the given ctxpopup item.
*
- * @param item Ctxpopup item
+ * @param it Ctxpopup item
* @return label string or @c NULL, if the item does not have label or an
* error occured
*
* @see elm_ctxpopup_item_append()
* @see elm_ctxpopup_item_label_set()
*/
- EAPI const char *elm_ctxpopup_item_label_get(const Elm_Ctxpopup_Item *item) EINA_ARG_NONNULL(1);
+ EAPI const char *elm_ctxpopup_item_label_get(const Elm_Object_Item *it) EINA_ARG_NONNULL(1);
/**
* @brief (Re)set the label on the given ctxpopup item.
*
- * @param item Ctxpopup item
+ * @param it Ctxpopup item
* @param label String to set as label
*/
- EAPI void elm_ctxpopup_item_label_set(Elm_Ctxpopup_Item *item, const char *label) EINA_ARG_NONNULL(1);
+ EAPI void elm_ctxpopup_item_label_set(Elm_Object_Item *it, const char *label) EINA_ARG_NONNULL(1);
/**
* @brief Set an elm widget as the content of the ctxpopup.
*
{NULL, NULL}
};
-#define ELM_CTXPOPUP_ITEM_CHECK_RETURN(it, ...) \
- ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, __VA_ARGS__); \
- ELM_CHECK_WIDTYPE(item->base.widget, widtype) __VA_ARGS__;
-
static void
_freeze_on(void *data __UNUSED__, Evas_Object *obj,
void *event_info __UNUSED__)
}
EAPI Evas_Object *
-elm_ctxpopup_item_icon_get(const Elm_Ctxpopup_Item *item)
+elm_ctxpopup_item_icon_get(const Elm_Object_Item *it)
{
- ELM_CTXPOPUP_ITEM_CHECK_RETURN(item, NULL);
- return item->icon;
+ ELM_OBJ_ITEM_CHECK_OR_RETURN(it, NULL);
+ Elm_Ctxpopup_Item *ctxpopup_it = ELM_CAST(it);
+ return ctxpopup_it->icon;
}
EAPI void
-elm_ctxpopup_item_icon_set(Elm_Ctxpopup_Item *item, Evas_Object *icon)
+elm_ctxpopup_item_icon_set(Elm_Object_Item *it, Evas_Object *icon)
{
- ELM_CTXPOPUP_ITEM_CHECK_RETURN(item);
+ ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
Widget_Data *wd;
+ Elm_Ctxpopup_Item *ctxpopup_it = ELM_CAST(it);
- wd = elm_widget_data_get(item->base.widget);
+ wd = elm_widget_data_get(ctxpopup_it->base.widget);
if (!wd) return;
- _item_icon_set(item, icon);
+ _item_icon_set(ctxpopup_it, icon);
if (wd->visible)
{
_scroller_size_reset(wd);
- _sizing_eval(item->base.widget);
+ _sizing_eval(ctxpopup_it->base.widget);
}
}
EAPI const char *
-elm_ctxpopup_item_label_get(const Elm_Ctxpopup_Item *item)
+elm_ctxpopup_item_label_get(const Elm_Object_Item *it)
{
- ELM_CTXPOPUP_ITEM_CHECK_RETURN(item, NULL);
- return item->label;
+ ELM_OBJ_ITEM_CHECK_OR_RETURN(it, NULL);
+ Elm_Ctxpopup_Item *ctxpopup_it = ELM_CAST(it);
+ return ctxpopup_it->label;
}
EAPI void
-elm_ctxpopup_item_label_set(Elm_Ctxpopup_Item *item, const char *label)
+elm_ctxpopup_item_label_set(Elm_Object_Item *it, const char *label)
{
- ELM_CTXPOPUP_ITEM_CHECK_RETURN(item);
+ ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
Widget_Data *wd;
+ Elm_Ctxpopup_Item *ctxpopup_it = ELM_CAST(it);
- wd = elm_widget_data_get(item->base.widget);
+ wd = elm_widget_data_get(ctxpopup_it->base.widget);
if (!wd) return;
- _item_label_set(item, label);
+ _item_label_set(ctxpopup_it, label);
if (wd->visible)
{
_scroller_size_reset(wd);
- _sizing_eval(item->base.widget);
+ _sizing_eval(ctxpopup_it->base.widget);
}
}
return wd->horizontal;
}
-EAPI Elm_Ctxpopup_Item *
+EAPI Elm_Object_Item *
elm_ctxpopup_item_append(Evas_Object *obj, const char *label,
Evas_Object *icon, Evas_Smart_Cb func,
const void *data)
_sizing_eval(obj);
}
- return item;
+ return ELM_CAST(item);
}
EAPI void
-elm_ctxpopup_item_del(Elm_Ctxpopup_Item *item)
+elm_ctxpopup_item_del(Elm_Object_Item *it)
{
- ELM_CTXPOPUP_ITEM_CHECK_RETURN(item);
+ ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
Widget_Data *wd;
+ Elm_Ctxpopup_Item *ctxpopup_it = ELM_CAST(it);
- wd = elm_widget_data_get(item->base.widget);
+ wd = elm_widget_data_get(ctxpopup_it->base.widget);
if (!wd) return;
- if (item->icon)
- evas_object_del(item->icon);
- if (item->base.view)
- evas_object_del(item->base.view);
+ if (ctxpopup_it->icon)
+ evas_object_del(ctxpopup_it->icon);
+ if (ctxpopup_it->base.view)
+ evas_object_del(ctxpopup_it->base.view);
- eina_stringshare_del(item->label);
+ eina_stringshare_del(ctxpopup_it->label);
- wd->items = eina_list_remove(wd->items, item);
+ wd->items = eina_list_remove(wd->items, ctxpopup_it);
if (eina_list_count(wd->items) < 1)
wd->items = NULL;
if (wd->visible)
- _sizing_eval(item->base.widget);
+ _sizing_eval(ctxpopup_it->base.widget);
- free(item);
+ free(ctxpopup_it);
}
EAPI void
-elm_ctxpopup_item_disabled_set(Elm_Ctxpopup_Item *item, Eina_Bool disabled)
+elm_ctxpopup_item_disabled_set(Elm_Object_Item *it, Eina_Bool disabled)
{
- ELM_CTXPOPUP_ITEM_CHECK_RETURN(item);
+ ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
Widget_Data *wd;
+ Elm_Ctxpopup_Item *ctxpopup_it = ELM_CAST(it);
- wd = elm_widget_data_get(item->base.widget);
+ wd = elm_widget_data_get(ctxpopup_it->base.widget);
if (!wd) return;
- if (disabled == item->disabled)
+ ctxpopup_it = ELM_CAST(it);
+
+ if (disabled == ctxpopup_it->disabled)
return;
if (disabled)
- edje_object_signal_emit(item->base.view, "elm,state,disabled", "elm");
+ edje_object_signal_emit(ctxpopup_it->base.view, "elm,state,disabled", "elm");
else
- edje_object_signal_emit(item->base.view, "elm,state,enabled", "elm");
+ edje_object_signal_emit(ctxpopup_it->base.view, "elm,state,enabled", "elm");
- item->disabled = !!disabled;
+ ctxpopup_it->disabled = !!disabled;
}
EAPI Eina_Bool
-elm_ctxpopup_item_disabled_get(const Elm_Ctxpopup_Item *item)
+elm_ctxpopup_item_disabled_get(const Elm_Object_Item *it)
{
- ELM_CTXPOPUP_ITEM_CHECK_RETURN(item, EINA_FALSE);
- return item->disabled;
+ ELM_OBJ_ITEM_CHECK_OR_RETURN(it, EINA_FALSE);
+ Elm_Ctxpopup_Item *ctxpopup_it = ELM_CAST(it);
+ return ctxpopup_it->disabled;
}
EAPI void