void *event_info EINA_UNUSED)
{
Evas_Object *win, *bx, *bx2, *cs, *fr, *re, *bt;
+ const Eina_List *item_list, *last_item_list;
+ Elm_Object_Item *color_item;
int r, g, b, a;
win = elm_win_util_standard_add("colorselector", "ColorSelector");
elm_colorselector_palette_color_add(cs, 255, 255, 119, 255);
elm_colorselector_palette_color_add(cs, 133, 100, 255, 255);
+ item_list = elm_colorselector_palette_items_get(cs);
+ last_item_list = eina_list_last(item_list);
+ color_item = eina_list_data_get(last_item_list);
+ elm_colorselector_palette_item_color_set(color_item, 255, 0, 0, 255);
+
a = 180;
r = 255;
g = 160;
sd->focused = ELM_COLORSELECTOR_COMPONENTS;
}
+EAPI const Eina_List *
+elm_colorselector_palette_items_get(const Evas_Object *obj)
+{
+ ELM_COLORSELECTOR_CHECK(obj) NULL;
+ const Eina_List *color_list = NULL;
+ eo_do((Eo *) obj, elm_obj_colorselector_palette_items_get(&color_list));
+ return color_list;
+}
+
+static void
+_palette_items_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
+{
+ const Eina_List **ret = va_arg(*list, const Eina_List **);
+ Elm_Colorselector_Smart_Data *sd = _pd;
+ *ret = sd->items;
+}
+
EAPI void
elm_colorselector_palette_name_set(Evas_Object *obj,
const char *palette_name)
EO_OP_FUNC(ELM_OBJ_COLORSELECTOR_ID(ELM_OBJ_COLORSELECTOR_SUB_ID_MODE_GET), _mode_get),
EO_OP_FUNC(ELM_OBJ_COLORSELECTOR_ID(ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_COLOR_ADD), _palette_color_add),
EO_OP_FUNC(ELM_OBJ_COLORSELECTOR_ID(ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_CLEAR), _palette_clear),
+ EO_OP_FUNC(ELM_OBJ_COLORSELECTOR_ID(ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_ITEMS_GET), _palette_items_get),
EO_OP_FUNC(ELM_OBJ_COLORSELECTOR_ID(ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_NAME_SET), _palette_name_set),
EO_OP_FUNC(ELM_OBJ_COLORSELECTOR_ID(ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_NAME_GET), _palette_name_get),
EO_OP_FUNC_SENTINEL
EO_OP_DESCRIPTION(ELM_OBJ_COLORSELECTOR_SUB_ID_MODE_GET, "Get Colorselector's mode."),
EO_OP_DESCRIPTION(ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_COLOR_ADD, "Add a new color item to palette."),
EO_OP_DESCRIPTION(ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_CLEAR, "Clear the palette items."),
+ EO_OP_DESCRIPTION(ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_ITEMS_GET, "Get palette's item list"),
EO_OP_DESCRIPTION(ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_NAME_SET, "Set current palette's name."),
EO_OP_DESCRIPTION(ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_NAME_GET, "Get current palette's name."),
EO_OP_DESCRIPTION_SENTINEL
ELM_OBJ_COLORSELECTOR_SUB_ID_MODE_GET,
ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_COLOR_ADD,
ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_CLEAR,
+ ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_ITEMS_GET,
ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_NAME_SET,
ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_NAME_GET,
ELM_OBJ_COLORSELECTOR_SUB_ID_LAST
#define elm_obj_colorselector_palette_clear() ELM_OBJ_COLORSELECTOR_ID(ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_CLEAR)
/**
+ * @def elm_obj_colorselector_palette_items_get
+ * @since 1.9
+ *
+ * Get list of palette items.
+ *
+ * @param[out] ret
+ *
+ * @ingroup Colorselector
+ */
+#define elm_obj_colorselector_palette_items_get(ret) ELM_OBJ_COLORSELECTOR_ID(ELM_OBJ_COLORSELECTOR_SUB_ID_PALETTE_ITEMS_GET), EO_TYPECHECK(const Eina_List **, ret)
+
+/**
* @def elm_obj_colorselector_palette_name_set
* @since 1.8
*
EAPI void elm_colorselector_palette_clear(Evas_Object *obj);
/**
+ * Get list of palette items.
+ *
+ * @param obj The Colorselector object
+ * @return The list of color palette items.
+ *
+ * Note That palette item list is internally managed by colorselector widget and
+ * it should not be freed/modified by application.
+ *
+ * @since 1.9
+ *
+ * @ingroup Colorselector
+ */
+EAPI const Eina_List *elm_colorselector_palette_items_get(const Evas_Object *obj);
+
+/**
* Set current palette's name
*
* @param obj The Colorselector object