elm_photo: added getters for some setters.
authorDaniel Juyung Seo <seojuyung2@gmail.com>
Tue, 9 Apr 2013 04:06:19 +0000 (13:06 +0900)
committerDaniel Juyung Seo <seojuyung2@gmail.com>
Tue, 9 Apr 2013 04:23:14 +0000 (13:23 +0900)
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

legacy/elementary/src/bin/test_photo.c
legacy/elementary/src/lib/elm_photo.c
legacy/elementary/src/lib/elm_photo.h

index 70fb4bd..7e3de46 100644 (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);
index 05d25ee..e46020e 100644 (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."),
index e0f3b2a..7c8a64b 100644 (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,
@@ -83,6 +86,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
  *
@@ -95,6 +113,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
  *
@@ -107,6 +140,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
  *