elementry/multibuttonentry - need to use ELM_WIDGET_ITEM internally.
authorhermet <hermet@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 2 Jan 2012 09:00:33 +0000 (09:00 +0000)
committerhermet <hermet@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 2 Jan 2012 09:00:33 +0000 (09:00 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@66735 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/elc_multibuttonentry.c

index 411d1d4..7b195a7 100644 (file)
@@ -36,7 +36,7 @@ typedef enum _Multibuttonentry_View_State
 
 struct _Multibuttonentry_Item
   {
-     Evas_Object *multibuttonentry;
+     ELM_WIDGET_ITEM;
      Evas_Object *button;
      void *data;
      Evas_Coord vw, rw; // vw: visual width, real width
@@ -672,7 +672,7 @@ _del_button_item(Elm_Multibuttonentry_Item *item)
    if (!item) return;
    Widget_Data *wd;
 
-   Evas_Object *obj = item->multibuttonentry;
+   Evas_Object *obj = WIDGET(item);
    wd = elm_widget_data_get(obj);
    if (!wd) return;
    EINA_LIST_FOREACH(wd->items, l, _item)
@@ -790,12 +790,11 @@ _add_button_item(Evas_Object *obj, const char *str, Multibuttonentry_Pos pos, co
    evas_object_show(btn);
 
    // append item list
-   item = ELM_NEW(Elm_Multibuttonentry_Item);
+   item = elm_widget_item_new(obj, Elm_Multibuttonentry_Item);
    if (item)
      {
         Evas_Coord rw, vw;
         _resize_button(btn, &rw, &vw);
-        item->multibuttonentry = obj;
         item->button = btn;
         item->data = data;
         item->rw = rw;
@@ -1520,8 +1519,8 @@ elm_multibuttonentry_item_select(Elm_Multibuttonentry_Item *item, Eina_Bool sele
    Elm_Multibuttonentry_Item *_item;
 
    if (!item) return;
-   ELM_CHECK_WIDTYPE(item->multibuttonentry, widtype);
-   wd = elm_widget_data_get(item->multibuttonentry);
+   ELM_CHECK_WIDTYPE(WIDGET(item), widtype);
+   wd = elm_widget_data_get(WIDGET(item));
    if (!wd) return;
 
    EINA_LIST_FOREACH(wd->items, l, _item)
@@ -1529,9 +1528,9 @@ elm_multibuttonentry_item_select(Elm_Multibuttonentry_Item *item, Eina_Bool sele
         if (_item == item)
           {
              if (selected)
-               _select_button(item->multibuttonentry, item->button);
+               _select_button(WIDGET(item), item->button);
              else
-               _select_button(item->multibuttonentry, NULL);
+               _select_button(WIDGET(item), NULL);
           }
      }
 }
@@ -1582,8 +1581,8 @@ elm_multibuttonentry_item_label_get(const Elm_Multibuttonentry_Item *item)
    Eina_List *l;
    Elm_Multibuttonentry_Item *_item;
    if (!item) return NULL;
-   ELM_CHECK_WIDTYPE(item->multibuttonentry, widtype) NULL;
-   wd = elm_widget_data_get(item->multibuttonentry);
+   ELM_CHECK_WIDTYPE(WIDGET(item), widtype) NULL;
+   wd = elm_widget_data_get(WIDGET(item));
    if (!wd || !wd->items) return NULL;
 
    EINA_LIST_FOREACH(wd->items, l, _item)
@@ -1602,8 +1601,8 @@ elm_multibuttonentry_item_label_set(Elm_Multibuttonentry_Item *item, const char
    Eina_List *l;
    Elm_Multibuttonentry_Item *_item;
    if (!item || !str) return;
-   ELM_CHECK_WIDTYPE(item->multibuttonentry, widtype);
-   wd = elm_widget_data_get(item->multibuttonentry);
+   ELM_CHECK_WIDTYPE(WIDGET(item), widtype);
+   wd = elm_widget_data_get(WIDGET(item));
    if (!wd || !wd->items) return;
 
    EINA_LIST_FOREACH(wd->items, l, _item)
@@ -1622,8 +1621,8 @@ elm_multibuttonentry_item_prev_get(const Elm_Multibuttonentry_Item *item)
    Eina_List *l;
    Elm_Multibuttonentry_Item *_item;
    if (!item) return NULL;
-   ELM_CHECK_WIDTYPE(item->multibuttonentry, widtype) NULL;
-   wd = elm_widget_data_get(item->multibuttonentry);
+   ELM_CHECK_WIDTYPE(WIDGET(item), widtype) NULL;
+   wd = elm_widget_data_get(WIDGET(item));
    if (!wd || !wd->items) return NULL;
 
    EINA_LIST_FOREACH(wd->items, l, _item)
@@ -1644,8 +1643,8 @@ elm_multibuttonentry_item_next_get(const Elm_Multibuttonentry_Item *item)
    Elm_Multibuttonentry_Item *_item;
 
    if (!item) return NULL;
-   ELM_CHECK_WIDTYPE(item->multibuttonentry, widtype) NULL;
-   wd = elm_widget_data_get(item->multibuttonentry);
+   ELM_CHECK_WIDTYPE(WIDGET(item), widtype) NULL;
+   wd = elm_widget_data_get(WIDGET(item));
    if (!wd || !wd->items) return NULL;
 
    EINA_LIST_FOREACH(wd->items, l, _item)