Dear all.

genlist item class had mode_item_style.
it used for mode styling (such as sweep mode).
one genlist can have multiple mode style.
And mode_item_style's an item's attribute.

So it's better to move to item class from widget_data.

Thank you.
From 8975c9d0f06be21a1aa35a8f8f82307e9737d0eb Mon Sep 17 00:00:00 2001
From: Hyoyoung Chang <hyoyoung.ch...@samsung.com>
Date: Tue, 21 Feb 2012 17:53:49 +0900
Subject: [PATCH 2/3] [genlist] move mode_item_style to item_class

---
 src/bin/test_genlist.c          |    2 +-
 src/lib/elm_deprecated.h        |   28 ++++++++++++++++++++++++++++
 src/lib/elm_deprecated_before.h |    1 +
 src/lib/elm_gen_common.h        |    1 -
 src/lib/elm_genlist.c           |   14 +++++++-------
 src/lib/elm_genlist.h           |   28 ----------------------------
 6 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/src/bin/test_genlist.c b/src/bin/test_genlist.c
index aeb7c80..6bb0e9a 100644
--- a/src/bin/test_genlist.c
+++ b/src/bin/test_genlist.c
@@ -1791,11 +1791,11 @@ test_genlist10(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_i
    evas_object_show(gl);
 
    itc10.item_style     = "default";
+   itc10.mode_item_style = "mode";
    itc10.func.text_get = gl10_text_get;
    itc10.func.content_get  = gl10_content_get;
    itc10.func.state_get = gl_state_get;
    itc10.func.del       = gl_del;
-   elm_genlist_mode_item_style_set(gl, "mode");
 
    for (i = 0; i < 50; i++)
      elm_genlist_item_append(gl,
diff --git a/src/lib/elm_deprecated.h b/src/lib/elm_deprecated.h
index ef6ab77..86d7bc0 100644
--- a/src/lib/elm_deprecated.h
+++ b/src/lib/elm_deprecated.h
@@ -1920,6 +1920,34 @@ EINA_DEPRECATED EAPI void                          elm_genlist_item_del(Elm_Obje
  */
 EINA_DEPRECATED EAPI Evas_Object                  *elm_genlist_item_genlist_get(const Elm_Object_Item *it);
 
+/**
+ * Get the mode item style of items in the genlist
+ * @param obj The genlist object
+ * @return The mode item style string, or NULL if none is specified
+ *
+ * This is a constant string and simply defines the name of the
+ * style that will be used for mode animations. It can be
+ * @c NULL if you don't plan to use Genlist mode. See
+ * elm_genlist_item_mode_set() for more info.
+ *
+ * @ingroup Genlist
+ */
+EINA_DEPRECATED EAPI const char                   *elm_genlist_mode_item_style_get(const Evas_Object *obj);
+
+/**
+ * Set the mode item style of items in the genlist
+ * @param obj The genlist object
+ * @param style The mode item style string, or NULL if none is desired
+ *
+ * This is a constant string and simply defines the name of the
+ * style that will be used for mode animations. It can be
+ * @c NULL if you don't plan to use Genlist mode. See
+ * elm_genlist_item_mode_set() for more info.
+ *
+ * @ingroup Genlist
+ */
+EINA_DEPRECATED EAPI void                          elm_genlist_mode_item_style_set(Evas_Object *obj, const char *style);
+
 
 #define ELM_IMAGE_ROTATE_90_CW 1
 #define ELM_IMAGE_ROTATE_180_CW 2
diff --git a/src/lib/elm_deprecated_before.h b/src/lib/elm_deprecated_before.h
index 97cf026..a2c0a90 100644
--- a/src/lib/elm_deprecated_before.h
+++ b/src/lib/elm_deprecated_before.h
@@ -13,6 +13,7 @@ struct _Elm_Gen_Item_Class
    unsigned int refcount;
    Eina_Bool delete_me : 1;
    const char *item_style;
+   const char *mode_item_style;
    struct _Elm_Gen_Item_Class_Func
    {
       Elm_Gen_Item_Text_Get_Cb    text_get;
diff --git a/src/lib/elm_gen_common.h b/src/lib/elm_gen_common.h
index 28f8b1d..7dfeeb5 100644
--- a/src/lib/elm_gen_common.h
+++ b/src/lib/elm_gen_common.h
@@ -126,7 +126,6 @@ struct _Widget_Data
    Ecore_Timer                   *multi_timer, *scr_hold_timer;
    Ecore_Animator                *reorder_move_animator;
    const char                    *mode_type;
-   const char                    *mode_item_style;
    unsigned int                   start_time;
    Evas_Coord                     prev_x, prev_y, prev_mx, prev_my;
    Evas_Coord                     cur_x, cur_y, cur_mx, cur_my;
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index ad98448..101c009 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -2957,7 +2957,7 @@ _mode_item_realize(Elm_Gen_Item *it)
 
    if (it->item->order_num_in & 0x1) strncat(buf, "_odd", sizeof(buf) - strlen(buf));
    strncat(buf, "/", sizeof(buf) - strlen(buf));
-   strncat(buf, it->wd->mode_item_style, sizeof(buf) - strlen(buf));
+   strncat(buf, it->itc->mode_item_style, sizeof(buf) - strlen(buf));
 
    _elm_theme_object_set(WIDGET(it), it->item->mode_view, "genlist", buf,
                          elm_widget_style_get(WIDGET(it)));
@@ -5240,7 +5240,7 @@ elm_genlist_item_mode_set(Elm_Object_Item  *it,
        (!strcmp(mode_type, wd->mode_type)) &&
        (mode_set))
       return;
-   if (!wd->mode_item_style) return;
+   if (!_it->itc->mode_item_style) return;
    _it->mode_set = mode_set;
 
    if (wd->multi)
@@ -5265,14 +5265,13 @@ elm_genlist_item_mode_set(Elm_Object_Item  *it,
    if (mode_set) _item_mode_set(_it);
 }
 
-
 EAPI const char *
 elm_genlist_mode_item_style_get(const Evas_Object *obj)
 {
    ELM_CHECK_WIDTYPE(obj, widtype) NULL;
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return NULL;
-   return wd->mode_item_style;
+   return wd->mode_item->itc->mode_item_style;
 }
 
 EAPI void
@@ -5281,10 +5280,11 @@ elm_genlist_mode_item_style_set(Evas_Object *obj, const char *style)
    ELM_CHECK_WIDTYPE(obj, widtype);
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return;
-   if ((style == wd->mode_item_style) || (style && wd->mode_item_style &&
-       (!strcmp(style, wd->mode_item_style))))
+   if ((style == wd->mode_item->itc->mode_item_style) ||
+       (style && wd->mode_item->itc->mode_item_style &&
+       (!strcmp(style, wd->mode_item->itc->mode_item_style))))
      return;
-   eina_stringshare_replace(&wd->mode_item_style, style);
+   eina_stringshare_replace((const char**)&wd->mode_item->itc->mode_item_style, style);
    elm_genlist_realized_items_update(obj);
 }
 
diff --git a/src/lib/elm_genlist.h b/src/lib/elm_genlist.h
index 0775cec..0fb17c9 100644
--- a/src/lib/elm_genlist.h
+++ b/src/lib/elm_genlist.h
@@ -940,34 +940,6 @@ EAPI Elm_Object_Item             *elm_genlist_selected_item_get(const Evas_Objec
 EAPI const Eina_List              *elm_genlist_selected_items_get(const Evas_Object *obj);
 
 /**
- * Get the mode item style of items in the genlist
- * @param obj The genlist object
- * @return The mode item style string, or NULL if none is specified
- *
- * This is a constant string and simply defines the name of the
- * style that will be used for mode animations. It can be
- * @c NULL if you don't plan to use Genlist mode. See
- * elm_genlist_item_mode_set() for more info.
- *
- * @ingroup Genlist
- */
-EAPI const char                   *elm_genlist_mode_item_style_get(const Evas_Object *obj);
-
-/**
- * Set the mode item style of items in the genlist
- * @param obj The genlist object
- * @param style The mode item style string, or NULL if none is desired
- *
- * This is a constant string and simply defines the name of the
- * style that will be used for mode animations. It can be
- * @c NULL if you don't plan to use Genlist mode. See
- * elm_genlist_item_mode_set() for more info.
- *
- * @ingroup Genlist
- */
-EAPI void                          elm_genlist_mode_item_style_set(Evas_Object *obj, const char *style);
-
-/**
  * Get a list of realized items in genlist
  *
  * @param obj The genlist object
-- 
1.7.5.4

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to