tizen 2.4 release
[framework/uifw/elementary.git] / src / bin / test_icon_desktops.c
index aed269a..6ab9511 100644 (file)
@@ -2,11 +2,11 @@
 # include "elementary_config.h"
 #endif
 #include <Elementary.h>
-#ifndef ELM_LIB_QUICKLAUNCH
-static Elm_Genlist_Item_Class it_desk;
+
+static Elm_Genlist_Item_Class *it_desk = NULL;
 
 static char *
-desk_gl_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part __UNUSED__)
+desk_gl_text_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part EINA_UNUSED)
 {
 #ifdef ELM_EFREET
    Efreet_Desktop *d = (Efreet_Desktop *)data;
@@ -37,7 +37,7 @@ desk_gl_content_get(void *data, Evas_Object *obj, const char *part)
 #endif
 }
 static void
-desk_gl_del(void *data, Evas_Object *obj __UNUSED__)
+desk_gl_del(void *data, Evas_Object *obj EINA_UNUSED)
 {
 #ifdef ELM_EFREET
    Efreet_Desktop *d = (Efreet_Desktop *)data;
@@ -50,14 +50,19 @@ desk_gl_del(void *data, Evas_Object *obj __UNUSED__)
 
 #ifdef ELM_EFREET
 static void
-desktop_sel(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+desktop_sel(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
 {
-   printf("sel\n");
+   Efreet_Desktop *d = data;
+   if (!d) return;
+   printf("Selected Desktop Icon:\n");
+   printf("\tname : %s\n", d->name);
+   printf("\ticon : %s\n", d->icon);
+   printf("\tgeneric_name : %s\n", d->generic_name);
 }
 #endif
 
 void
-test_icon_desktops(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+test_icon_desktops(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
 {
    Evas_Object *win, *gl;
 #ifdef ELM_EFREET
@@ -67,11 +72,12 @@ test_icon_desktops(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *eve
    win = elm_win_util_standard_add("icon-desktops", "Icon Desktops");
    elm_win_autodel_set(win, EINA_TRUE);
 
-   it_desk.item_style     = "default";
-   it_desk.func.text_get = desk_gl_text_get;
-   it_desk.func.content_get  = desk_gl_content_get;
-   it_desk.func.state_get = NULL;
-   it_desk.func.del       = desk_gl_del;
+   it_desk = elm_genlist_item_class_new();
+   it_desk->item_style     = "default";
+   it_desk->func.text_get = desk_gl_text_get;
+   it_desk->func.content_get  = desk_gl_content_get;
+   it_desk->func.state_get = NULL;
+   it_desk->func.del       = desk_gl_del;
 
    gl = elm_genlist_add(win);
    evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
@@ -87,14 +93,14 @@ test_icon_desktops(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *eve
            Efreet_Desktop *d;
 
            EINA_LIST_FREE(desktops, d)
-             elm_genlist_item_append(gl, &it_desk, d,
+             elm_genlist_item_append(gl, it_desk, d,
                                     NULL, ELM_GENLIST_ITEM_NONE,
-                                    desktop_sel, NULL);
+                                    desktop_sel, d);
          }
      }
 #endif
 
+   elm_genlist_item_class_free(it_desk);
    evas_object_resize(win, 320, 480);
    evas_object_show(win);
 }
-#endif