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:
Shilpa Singh 2014-02-07 23:30:01 +09:00 committed by Carsten Haitzler (Rasterman)
parent 5174961edd
commit b2d43d4cf4
4 changed files with 54 additions and 0 deletions

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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
*