jaehyun pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=61a0effa333840625f7a7e4ae5b1220c5d4f43ca

commit 61a0effa333840625f7a7e4ae5b1220c5d4f43ca
Author: Jaehyun Cho <jae_hyun....@samsung.com>
Date:   Fri Feb 26 19:32:00 2016 +0900

    ctxpopup: Refactoring to get toggles easily.
---
 src/lib/ctxpopup.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/lib/ctxpopup.c b/src/lib/ctxpopup.c
index b6f9205..c2516a6 100644
--- a/src/lib/ctxpopup.c
+++ b/src/lib/ctxpopup.c
@@ -16,6 +16,8 @@ typedef struct ctxpopup_data_s {
    attr_value *attr;
    char candidate[256];
 
+   Eina_List *toggles;
+
    //colorselector properties
    Evas_Object *colorselector;
    Evas_Object *color_view;
@@ -105,6 +107,7 @@ ctxpopup_del_cb(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED,
 {
    elm_config_focus_autoscroll_mode_set(ELM_FOCUS_AUTOSCROLL_MODE_SHOW);
    ctxpopup_data *ctxdata = data;
+   eina_list_free(ctxdata->toggles);
    ecore_animator_del(ctxdata->animator);
    free(ctxdata);
 }
@@ -206,22 +209,15 @@ toggle_changed_cb(void *data, Evas_Object *obj 
EINA_UNUSED,
                   void *event_info EINA_UNUSED)
 {
    ctxpopup_data *ctxdata = data;
-   Evas_Object *box = elm_object_content_get(ctxdata->ctxpopup);
-   Evas_Object *layout;
    Evas_Object *toggle;
-   Eina_List *box_children = elm_box_children_get(box);
    Eina_List *l;
    char buf[128];
 
-   if (eina_list_count(box_children) == 0) return;
-
    snprintf(ctxdata->candidate, sizeof(ctxdata->candidate), " %s",
             ctxdata->attr->prepend_str);
 
-   EINA_LIST_FOREACH(box_children, l, layout)
+   EINA_LIST_FOREACH(ctxdata->toggles, l, toggle)
      {
-        toggle = elm_object_part_content_get(layout,
-                                             "elm.swallow.toggle");
         snprintf(buf, sizeof(buf), " %d", (int) elm_check_state_get(toggle));
         strcat(ctxdata->candidate, buf);
      }
@@ -252,6 +248,8 @@ toggle_layout_create(Evas_Object *parent, ctxpopup_data 
*ctxdata,
    evas_object_data_set(toggle, "ctxdata", ctxdata);
    elm_object_part_content_set(layout, "elm.swallow.toggle", toggle);
 
+   ctxdata->toggles = eina_list_append(ctxdata->toggles, toggle);
+
    return layout;
 }
 

-- 


Reply via email to