elm_photo: added getters for some setters.

1. Added elm_obj_photo_size_get, elm_obj_photo_fill_inside_get, elm_obj_photo_editable_get.
2. Added sample code to test_photo.c
This commit is contained in:
Daniel Juyung Seo 2013-04-09 13:06:19 +09:00
parent bd5246c512
commit 2267dda5df
3 changed files with 89 additions and 0 deletions

View File

@ -21,6 +21,9 @@ test_photo(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info
Evas_Object *win, *sc, *tb, *ph;
int i, j, n;
char buf[PATH_MAX];
int size = 0;
Eina_Bool fill = EINA_FALSE, editable = EINA_FALSE;
const char *img[9] =
{
"panel_01.jpg",
@ -81,6 +84,14 @@ test_photo(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info
}
}
eo_do(ph,
elm_obj_photo_size_get(&size),
elm_obj_photo_fill_inside_get(&fill),
elm_obj_photo_editable_get(&editable));
printf("Last Photo Information:\n");
printf("\tobject %p, size %d, fill_inside %d, editable %d\n",
ph, size, fill, editable);
sc = elm_scroller_add(win);
evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, sc);

View File

@ -379,6 +379,14 @@ _size_set(Eo *obj, void *_pd, va_list *list)
_sizing_eval(obj);
}
static void
_size_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
{
int *ret = va_arg(*list, int *);
Elm_Photo_Smart_Data *sd = _pd;
*ret = sd->size;
}
EAPI void
elm_photo_fill_inside_set(Evas_Object *obj,
Eina_Bool fill)
@ -399,6 +407,14 @@ _fill_inside_set(Eo *obj, void *_pd, va_list *list)
_sizing_eval(obj);
}
static void
_fill_inside_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
{
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
Elm_Photo_Smart_Data *sd = _pd;
*ret = sd->fill_inside;
}
EAPI void
elm_photo_editable_set(Evas_Object *obj,
Eina_Bool set)
@ -415,6 +431,14 @@ _editable_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
elm_image_editable_set(sd->icon, set);
}
static void
_editable_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
{
Eina_Bool *ret = va_arg(*list, Eina_Bool *);
Elm_Photo_Smart_Data *sd = _pd;
*ret = elm_image_editable_get(sd->icon);
}
EAPI void
elm_photo_thumb_set(const Evas_Object *obj,
const char *file,
@ -490,8 +514,11 @@ _class_constructor(Eo_Class *klass)
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_FILE_SET), _file_set),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_SIZE_SET), _size_set),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_SIZE_GET), _size_get),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_SET), _fill_inside_set),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_GET), _fill_inside_get),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_EDITABLE_SET), _editable_set),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_EDITABLE_GET), _editable_get),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_THUMB_SET), _thumb_set),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_ASPECT_FIXED_SET), _aspect_fixed_set),
EO_OP_FUNC(ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_ASPECT_FIXED_GET), _aspect_fixed_get),
@ -505,8 +532,11 @@ _class_constructor(Eo_Class *klass)
static const Eo_Op_Description op_desc[] = {
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_FILE_SET, "Set the file that will be used as the photo widget's image."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_SIZE_SET, "Set the size that will be used on the photo."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_SIZE_GET, "Get the size that will be used on the photo."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_SET, "Set if the photo should be completely visible or not."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_GET, "Get if the photo should be completely visible or not."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_EDITABLE_SET, "Set editability of the photo."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_EDITABLE_GET, "Get editability of the photo."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_THUMB_SET, "Set the file that will be used as thumbnail in the photo."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_ASPECT_FIXED_SET, "Set whether the original aspect ratio of the photo should be kept on resize."),
EO_OP_DESCRIPTION(ELM_OBJ_PHOTO_SUB_ID_ASPECT_FIXED_GET, "Get if the object keeps the original aspect ratio."),

View File

@ -34,8 +34,11 @@ enum
{
ELM_OBJ_PHOTO_SUB_ID_FILE_SET,
ELM_OBJ_PHOTO_SUB_ID_SIZE_SET,
ELM_OBJ_PHOTO_SUB_ID_SIZE_GET,
ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_SET,
ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_GET,
ELM_OBJ_PHOTO_SUB_ID_EDITABLE_SET,
ELM_OBJ_PHOTO_SUB_ID_EDITABLE_GET,
ELM_OBJ_PHOTO_SUB_ID_THUMB_SET,
ELM_OBJ_PHOTO_SUB_ID_ASPECT_FIXED_SET,
ELM_OBJ_PHOTO_SUB_ID_ASPECT_FIXED_GET,
@ -82,6 +85,21 @@ enum
*/
#define elm_obj_photo_size_set(size) ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_SIZE_SET), EO_TYPECHECK(int, size)
/**
* @def elm_obj_photo_size_get
* @since 1.8
*
* Get the size that will be used on the photo
*
* @param[out] ret
*
* @note There is no elm_photo_size_get
*
* @see elm_photo_size_set
* @see elm_obj_photo_size_set
*/
#define elm_obj_photo_size_get(ret) ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_SIZE_GET), EO_TYPECHECK(int *, ret)
/**
* @def elm_obj_photo_fill_inside_set
* @since 1.8
@ -94,6 +112,21 @@ enum
*/
#define elm_obj_photo_fill_inside_set(fill) ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_SET), EO_TYPECHECK(Eina_Bool, fill)
/**
* @def elm_obj_photo_fill_inside_get
* @since 1.8
*
* Get if the photo should be completely visible or not.
*
* @param[out] ret
*
* @note There is no elm_photo_fill_inside_get
*
* @see elm_photo_fill_inside_set
* @see elm_obj_photo_fill_inside_set
*/
#define elm_obj_photo_fill_inside_get(ret) ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_FILL_INSIDE_GET), EO_TYPECHECK(Eina_Bool *, ret)
/**
* @def elm_obj_photo_editable_set
* @since 1.8
@ -106,6 +139,21 @@ enum
*/
#define elm_obj_photo_editable_set(set) ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_EDITABLE_SET), EO_TYPECHECK(Eina_Bool, set)
/**
* @def elm_obj_photo_editable_get
* @since 1.8
*
* Get editability of the photo.
*
* @param[out] ret
*
* @note There is no elm_photo_editable_get
*
* @see elm_photo_editable_set
* @see elm_obj_photo_editable_set
*/
#define elm_obj_photo_editable_get(ret) ELM_OBJ_PHOTO_ID(ELM_OBJ_PHOTO_SUB_ID_EDITABLE_GET), EO_TYPECHECK(Eina_Bool *, ret)
/**
* @def elm_obj_photo_thumb_set
* @since 1.8