forked from enlightenment/efl
Colorselector: Palette_items_get API added.
Summary: Summary: Issue:Colorselector adds default palette items by reading colors from config, application do not have any way to get that color list. Solution: API added to get the palette's item list. Signed-off by: Shilpa Singh(shilpa.singh@samsung.com) Test Plan: Test Plan: Create a list pointer and call palette_items_get API to get the list of color items. Change the color of any item to confirm whether the list has been returned correctly. Eina_List *list = elm_colorselector_palette_items_get(cs); Eina_List *list2 = eina_list_last(list); Elm_Object_Item *color_item = eina_list_data_get(list2); elm_colorselector_palette_item_color_set(color_item, 0, 0, 0, 255); Reviewers: seoz, Hermet, raster CC: govi, myoungwoon Differential Revision: https://phab.enlightenment.org/D503
This commit is contained in:
parent
5174961edd
commit
b2d43d4cf4
|
@ -81,6 +81,8 @@ test_colorselector(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
|||
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");
|
||||
|
@ -124,6 +126,11 @@ test_colorselector(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
|||
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;
|
||||
|
|
|
@ -2149,6 +2149,23 @@ _palette_clear(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
|
|||
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)
|
||||
|
@ -2213,6 +2230,7 @@ _class_constructor(Eo_Class *klass)
|
|||
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
|
||||
|
@ -2231,6 +2249,7 @@ static const Eo_Op_Description op_desc[] = {
|
|||
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
|
||||
|
|
|
@ -12,6 +12,7 @@ enum
|
|||
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
|
||||
|
@ -113,6 +114,18 @@ enum
|
|||
*/
|
||||
#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
|
||||
|
|
|
@ -79,6 +79,21 @@ EAPI Elm_Object_Item *elm_colorselector_palette_color_add(Evas_Object *obj, int
|
|||
*/
|
||||
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
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue