seoz pushed a commit to branch master.

commit 0bca050c5b9226b75948a52422b4777ac1071d0b
Author: Daniel Juyung Seo <[email protected]>
Date:   Wed Jun 26 10:54:58 2013 +0900

    src/examples: use delete,request callback only when it's really needed. 
this can be covered by elm_policy_set and elm_win_autodel_set easily.
---
 src/examples/actionslider_example_01.c     | 10 +++-------
 src/examples/bg_example_02.c               | 10 ++--------
 src/examples/bg_example_03.c               | 10 ++--------
 src/examples/clock_example.c               | 12 +++---------
 src/examples/datetime_example.c            | 12 +++---------
 src/examples/dayselector_example.c         | 12 +++---------
 src/examples/diskselector_example_01.c     | 12 +++---------
 src/examples/diskselector_example_02.c     | 12 +++---------
 src/examples/entry_example.c               | 12 +++---------
 src/examples/fileselector_button_example.c | 12 +++---------
 src/examples/fileselector_entry_example.c  | 12 +++---------
 src/examples/fileselector_example.c        | 13 +++----------
 src/examples/flipselector_example.c        | 12 +++---------
 src/examples/gengrid_example.c             | 12 +++---------
 src/examples/index_example_01.c            | 12 +++---------
 src/examples/index_example_02.c            | 12 +++---------
 src/examples/list_example_01.c             | 12 +++---------
 src/examples/list_example_02.c             | 12 +++---------
 src/examples/list_example_03.c             | 12 +++---------
 src/examples/map_example_01.c              | 10 +++-------
 src/examples/map_example_02.c              | 10 +++-------
 src/examples/map_example_03.c              | 10 +++-------
 src/examples/mapbuf_example.c              | 12 +++---------
 src/examples/panes_example.c               | 12 +++---------
 src/examples/segment_control_example.c     | 12 +++---------
 src/examples/slider_example.c              | 12 +++---------
 src/examples/slideshow_example.c           | 11 ++---------
 src/examples/spinner_example.c             | 12 +++---------
 src/examples/toolbar_example_01.c          | 12 +++---------
 src/examples/toolbar_example_02.c          | 12 +++---------
 src/examples/toolbar_example_03.c          | 12 +++---------
 src/examples/transit_example_01.c          | 10 ++--------
 src/examples/transit_example_03.c          |  9 +--------
 src/examples/transit_example_04.c          | 10 ++--------
 34 files changed, 95 insertions(+), 294 deletions(-)

diff --git a/src/examples/actionslider_example_01.c 
b/src/examples/actionslider_example_01.c
index a184694..129cd88 100644
--- a/src/examples/actionslider_example_01.c
+++ b/src/examples/actionslider_example_01.c
@@ -27,20 +27,16 @@ _magnet_enable_disable_cb(void *data, Evas_Object *obj, 
void *event_info)
      elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_NONE);
 }
 
-static void
-on_done(void *data, Evas_Object *obj, void *event_info)
-{
-   elm_exit();
-}
-
 EAPI_MAIN int
 elm_main(int argc, char **argv)
 {
    Evas_Object *win, *bg, *bx, *as;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "actionslider", ELM_WIN_BASIC);
    elm_win_title_set(win, "Actionslider");
-   evas_object_smart_callback_add(win, "delete,request", on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/bg_example_02.c b/src/examples/bg_example_02.c
index 492ca90..5594e27 100644
--- a/src/examples/bg_example_02.c
+++ b/src/examples/bg_example_02.c
@@ -4,23 +4,17 @@
 
 #include <Elementary.h>
 
-static void
-on_done(void *data, Evas_Object *obj, void *event_info)
-{
-   /* quit the mainloop (elm_run) */
-   elm_exit();
-}
-
 EAPI_MAIN int
 elm_main(int argc, char **argv)
 {
    Evas_Object *win, *bg;
    char buf[PATH_MAX];
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
    elm_app_info_set(elm_main, "elementary", "images/plant_01.jpg");
+
    win = elm_win_add(NULL, "bg-image", ELM_WIN_BASIC);
    elm_win_title_set(win, "Bg Image");
-   evas_object_smart_callback_add(win, "delete,request", on_done, NULL);
    elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
diff --git a/src/examples/bg_example_03.c b/src/examples/bg_example_03.c
index 6f6c065..9f08514 100644
--- a/src/examples/bg_example_03.c
+++ b/src/examples/bg_example_03.c
@@ -5,13 +5,6 @@
 #include <Elementary.h>
 
 static void
-on_done(void *data, Evas_Object *obj, void *event_info)
-{
-   /* quit the mainloop (elm_run) */
-   elm_exit();
-}
-
-static void
 _cb_radio_changed(void *data, Evas_Object *obj, void *event)
 {
    Evas_Object *o_bg = data;
@@ -64,10 +57,11 @@ elm_main(int argc, char **argv)
    Evas_Object *rd, *rdg;
    char buf[PATH_MAX];
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
    elm_app_info_set(elm_main, "elementary", "objects/test.edj");
+
    win = elm_win_add(NULL, "bg-options", ELM_WIN_BASIC);
    elm_win_title_set(win, "Bg Options");
-   evas_object_smart_callback_add(win, "delete,request", on_done, NULL);
    elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
diff --git a/src/examples/clock_example.c b/src/examples/clock_example.c
index c76654a..6ed473b 100644
--- a/src/examples/clock_example.c
+++ b/src/examples/clock_example.c
@@ -11,23 +11,17 @@
 
 #include <Elementary.h>
 
-static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
 EAPI_MAIN int
 elm_main(int argc, char **argv)
 {
    Evas_Object *win, *bg, *bx, *ck;
    unsigned int digedit;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "clock", ELM_WIN_BASIC);
    elm_win_title_set(win, "Clock Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/datetime_example.c b/src/examples/datetime_example.c
index 4949ce5..15097ab 100644
--- a/src/examples/datetime_example.c
+++ b/src/examples/datetime_example.c
@@ -3,22 +3,16 @@
 
 #include <Elementary.h>
 
-static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
 EAPI_MAIN int
 elm_main(int argc, char *argv[])
 {
    Evas_Object *win, *bg, *bx, *datetime;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "Datetime", ELM_WIN_BASIC);
    elm_win_title_set(win, "Datetime");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/dayselector_example.c 
b/src/examples/dayselector_example.c
index 52d39d9..6c1e8ee 100644
--- a/src/examples/dayselector_example.c
+++ b/src/examples/dayselector_example.c
@@ -11,14 +11,6 @@
 
 #include <Elementary.h>
 
-static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
 /* Callback function when a day is clicked. */
 static void _changed_cb(void* data, Evas_Object* obj, void* event_info)
 {
@@ -50,9 +42,11 @@ elm_main(int argc, char **argv)
 {
    Evas_Object *win, *bg, *bx, *dayselector;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "dayselector", ELM_WIN_BASIC);
    elm_win_title_set(win, "Dayselector Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/diskselector_example_01.c 
b/src/examples/diskselector_example_01.c
index 94444dd..35e3aa7 100644
--- a/src/examples/diskselector_example_01.c
+++ b/src/examples/diskselector_example_01.c
@@ -11,14 +11,6 @@
 
 #include <Elementary.h>
 
-static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
 EAPI_MAIN int
 elm_main(int argc, char **argv)
 {
@@ -35,9 +27,11 @@ elm_main(int argc, char **argv)
         "Saturday"
      };
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "diskselector", ELM_WIN_BASIC);
    elm_win_title_set(win, "Diskselector Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/diskselector_example_02.c 
b/src/examples/diskselector_example_02.c
index fa773e5..cae2064 100644
--- a/src/examples/diskselector_example_02.c
+++ b/src/examples/diskselector_example_02.c
@@ -14,14 +14,6 @@
 static int counter = 3;
 
 static void
-_on_done(void        *data,
-         Evas_Object *obj,
-         void        *event_info)
-{
-   elm_exit();
-}
-
-static void
 _add_cb(void *data, Evas_Object *obj, void *event_info)
 {
    Elm_Object_Item *ds_it;
@@ -195,9 +187,11 @@ elm_main(int argc, char **argv)
 {
    Evas_Object *win, *bg, *bx, *hbx, *ds, *bt;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "diskselector", ELM_WIN_BASIC);
    elm_win_title_set(win, "Diskselector Items Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/entry_example.c b/src/examples/entry_example.c
index 6852c39..027b7ee 100644
--- a/src/examples/entry_example.c
+++ b/src/examples/entry_example.c
@@ -486,13 +486,6 @@ _edit_tplclick_cb(void *data, Evas_Object *obj, void 
*event)
    elm_entry_cursor_selection_end(obj);
 }
 
-static void
-_win_del_cb(void *data, Evas_Object *obj, void *event)
-{
-   evas_object_del(obj);
-   elm_exit();
-}
-
 EAPI_MAIN int
 elm_main(int argc, char *argv[])
 {
@@ -501,8 +494,11 @@ elm_main(int argc, char *argv[])
 
    memset(&app, 0, sizeof(app));
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "entry-example", ELM_WIN_BASIC);
    elm_win_title_set(win, "Emacs Lite");
+   elm_win_autodel_set(win, EINA_TRUE);
    evas_object_show(win);
 
    bg = elm_bg_add(win);
@@ -574,8 +570,6 @@ elm_main(int argc, char *argv[])
    evas_object_smart_callback_add(en, "clicked,triple", _edit_tplclick_cb,
                                   NULL);
 
-   evas_object_smart_callback_add(win, "delete,request", _win_del_cb, &app);
-
    elm_object_focus_set(app.edit_buffer, EINA_TRUE);
 
    evas_object_resize(win, 300, 780);
diff --git a/src/examples/fileselector_button_example.c 
b/src/examples/fileselector_button_example.c
index 7858388..cfa98ab 100644
--- a/src/examples/fileselector_button_example.c
+++ b/src/examples/fileselector_button_example.c
@@ -11,14 +11,6 @@
 
 #include <Elementary.h>
 
-static void
-_on_done(void        *data,
-         Evas_Object *obj,
-         void        *event_info)
-{
-   elm_exit();
-}
-
 static void /* hook on the sole smart callback */
 _file_chosen(void            *data,
              Evas_Object *obj,
@@ -91,9 +83,11 @@ elm_main(int    argc,
 {
    Evas_Object *win, *bg, *vbox, *hbox, *ic, *ck, *fs_bt, *en, *lb, *sep;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "fileselector-button", ELM_WIN_BASIC);
    elm_win_title_set(win, "File Selector Button Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/fileselector_entry_example.c 
b/src/examples/fileselector_entry_example.c
index 4f03911..390b2a2 100644
--- a/src/examples/fileselector_entry_example.c
+++ b/src/examples/fileselector_entry_example.c
@@ -11,14 +11,6 @@
 
 #include <Elementary.h>
 
-static void
-_on_done(void        *data,
-         Evas_Object *obj,
-         void        *event_info)
-{
-   elm_exit();
-}
-
 /* hook on the file,chosen smart callback */
 static void
 _file_chosen(void        *data,
@@ -89,9 +81,11 @@ elm_main(int    argc,
 {
    Evas_Object *win, *bg, *vbox, *hbox, *ic, *ck, *fs_entry, *sep;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "fileselector-entry", ELM_WIN_BASIC);
    elm_win_title_set(win, "File Selector Entry Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/fileselector_example.c 
b/src/examples/fileselector_example.c
index 36e3136..e02e3f1 100644
--- a/src/examples/fileselector_example.c
+++ b/src/examples/fileselector_example.c
@@ -11,14 +11,6 @@
 
 #include <Elementary.h>
 
-static void
-_on_done(void        *data,
-         Evas_Object *obj,
-         void        *event_info)
-{
-   elm_exit();
-}
-
 /* 'done' cb */
 static void
 _fs_done(void        *data,
@@ -32,7 +24,7 @@ _fs_done(void        *data,
    printf("We're done! Selected file is: %s\n",
           selected ? selected : "*none!*");
 
-   _on_done(NULL, NULL, NULL);
+   elm_exit();
 }
 
 /* 'selected' cb */
@@ -121,10 +113,11 @@ elm_main(int    argc,
    setlocale(LC_ALL, "");
 
    elm_need_ethumb(); /* let's have thumbnails of images on grid view */
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
 
    win = elm_win_add(NULL, "fileselector", ELM_WIN_BASIC);
    elm_win_title_set(win, "File Selector Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/flipselector_example.c 
b/src/examples/flipselector_example.c
index 3879451..895b43d 100644
--- a/src/examples/flipselector_example.c
+++ b/src/examples/flipselector_example.c
@@ -20,14 +20,6 @@ static const char *commands = \
                               "\ts - print selected item's label\n"
                               "\th - print help\n";
 
-static void
-_on_done(void        *data,
-         Evas_Object *obj,
-         void        *event_info)
-{
-   elm_exit();
-}
-
 void /* unselect the item shown in the flip selector */
 _unsel_cb(void        *data,
           Evas_Object *obj,
@@ -158,9 +150,11 @@ elm_main(int argc, char **argv)
         "Eldbus"
      };
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "flipselector", ELM_WIN_BASIC);
    elm_win_title_set(win, "Flip Selector Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/gengrid_example.c b/src/examples/gengrid_example.c
index f16db97..ab8d64e 100644
--- a/src/examples/gengrid_example.c
+++ b/src/examples/gengrid_example.c
@@ -32,14 +32,6 @@ static const char *imgs[9] =
 static Elm_Gengrid_Item_Class *gic = NULL;
 static Evas_Object *before_bt, *after_bt;
 
-static void
-_on_done(void        *data,
-         Evas_Object *obj,
-         void        *event_info)
-{
-   elm_exit();
-}
-
 /* change layouting mode */
 static void
 _horizontal_grid(void        *data,
@@ -430,10 +422,12 @@ elm_main(int    argc,
 
    srand(time(NULL));
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
    elm_app_info_set(elm_main, "elementary", "images");
+
    win = elm_win_add(NULL, "gengrid", ELM_WIN_BASIC);
    elm_win_title_set(win, "Generic Grid Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
diff --git a/src/examples/index_example_01.c b/src/examples/index_example_01.c
index cb469d0..43da2a0 100644
--- a/src/examples/index_example_01.c
+++ b/src/examples/index_example_01.c
@@ -95,14 +95,6 @@ _index_selected(void *data,
            "FAIL, something went wrong");
 }
 
-static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
 EAPI_MAIN int
 elm_main(int argc,
          char **argv)
@@ -112,9 +104,11 @@ elm_main(int argc,
    unsigned int i;
    char curr = 0;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "index", ELM_WIN_BASIC);
    elm_win_title_set(win, "Index Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/index_example_02.c b/src/examples/index_example_02.c
index cb3616e..6db72fe 100644
--- a/src/examples/index_example_02.c
+++ b/src/examples/index_example_02.c
@@ -32,14 +32,6 @@ _index_changed(void        *data,
    elm_gengrid_item_bring_in(item, ELM_GENGRID_ITEM_SCROLLTO_IN);
 }
 
-static void
-_on_done(void        *data,
-         Evas_Object *obj,
-         void        *event_info)
-{
-   elm_exit();
-}
-
 static char *
 _grid_label_get(void        *data,
                 Evas_Object *obj,
@@ -97,10 +89,12 @@ elm_main(int    argc,
 
    Elm_Gengrid_Item_Class gic;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
    elm_app_info_set(elm_main, "elementary", "images");
+
    win = elm_win_add(NULL, "index", ELM_WIN_BASIC);
    elm_win_title_set(win, "Index Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/list_example_01.c b/src/examples/list_example_01.c
index 585296d..b44b279 100644
--- a/src/examples/list_example_01.c
+++ b/src/examples/list_example_01.c
@@ -11,14 +11,6 @@
 
 #include <Elementary.h>
 
-static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
 EAPI_MAIN int
 elm_main(int argc, char **argv)
 {
@@ -35,9 +27,11 @@ elm_main(int argc, char **argv)
         "Saturday"
      };
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "list", ELM_WIN_BASIC);
    elm_win_title_set(win, "List Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/list_example_02.c b/src/examples/list_example_02.c
index 2aafa03..d68cbeb 100644
--- a/src/examples/list_example_02.c
+++ b/src/examples/list_example_02.c
@@ -11,14 +11,6 @@
 
 #include <Elementary.h>
 
-static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
 EAPI_MAIN int
 elm_main(int argc, char **argv)
 {
@@ -35,9 +27,11 @@ elm_main(int argc, char **argv)
         "Saturday"
      };
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "list", ELM_WIN_BASIC);
    elm_win_title_set(win, "List Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/list_example_03.c b/src/examples/list_example_03.c
index 89c523a..05b4b3a 100644
--- a/src/examples/list_example_03.c
+++ b/src/examples/list_example_03.c
@@ -14,14 +14,6 @@
 static int counter = 3;
 
 static void
-_on_done(void        *data,
-         Evas_Object *obj,
-         void        *event_info)
-{
-   elm_exit();
-}
-
-static void
 _prepend_cb(void *data, Evas_Object *obj, void *event_info)
 {
    Elm_Object_Item *list_it;
@@ -255,9 +247,11 @@ elm_main(int argc, char **argv)
 {
    Evas_Object *win, *bg, *bx, *hbx, *li, *bt;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "list", ELM_WIN_BASIC);
    elm_win_title_set(win, "List Items Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/map_example_01.c b/src/examples/map_example_01.c
index 3c549b2..7ba11b2 100644
--- a/src/examples/map_example_01.c
+++ b/src/examples/map_example_01.c
@@ -41,12 +41,6 @@ _bt_zoom_fill(void *data, Evas_Object *obj, void *event_info)
    elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_AUTO_FILL);
 }
 
-static void
-_on_done(void *data, Evas_Object *obj, void *event_info)
-{
-   elm_exit();
-}
-
 /* FIXME: it shouldn't be required. For unknown reason map won't call
  * pan_calculate until shot delay time, but then it will take a screenshot
  * when the map isn't loaded yet (actually it won't be downloaded, because
@@ -65,9 +59,11 @@ elm_main(int argc, char **argv)
 {
    Evas_Object *win, *bg, *map, *box, *bt;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "map", ELM_WIN_BASIC);
    elm_win_title_set(win, "Map Creation Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/map_example_02.c b/src/examples/map_example_02.c
index f7e29fd..1f55058 100644
--- a/src/examples/map_example_02.c
+++ b/src/examples/map_example_02.c
@@ -140,12 +140,6 @@ _bt_zoom_fill(void *data, Evas_Object *obj, void 
*event_info)
    elm_map_zoom_mode_set(map, ELM_MAP_ZOOM_MODE_AUTO_FILL);
 }
 
-static void
-_on_done(void *data, Evas_Object *obj, void *event_info)
-{
-   elm_exit();
-}
-
 /* FIXME: it shouldn't be required. For unknown reason map won't call
  * pan_calculate until shot delay time, but then it will take a screenshot
  * when the map isn't loaded yet (actually it won't be downloaded, because
@@ -181,9 +175,11 @@ elm_main(int argc, char **argv)
    snprintf(buf, sizeof(buf), "%s/images/sky_03.jpg", "sdf");
    data_brasilia.file = strdup(buf);
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "map", ELM_WIN_BASIC);
    elm_win_title_set(win, "Map Overlay Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/map_example_03.c b/src/examples/map_example_03.c
index 15fa6fd..f1735ea 100644
--- a/src/examples/map_example_03.c
+++ b/src/examples/map_example_03.c
@@ -96,12 +96,6 @@ _bt_zoom_fill(void *data, Evas_Object *obj, void *event_info)
    elm_map_zoom_mode_set(data, ELM_MAP_ZOOM_MODE_AUTO_FILL);
 }
 
-static void
-_on_done(void *data, Evas_Object *obj, void *event_info)
-{
-   elm_exit();
-}
-
 /* FIXME: it shouldn't be required. For unknown reason map won't call
  * pan_calculate until shot delay time, but then it will take a screenshot
  * when the map isn't loaded yet (actually it won't be downloaded, because
@@ -120,9 +114,11 @@ elm_main(int argc, char **argv)
 {
    Evas_Object *win, *bg, *map, *box, *bt, *entry;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "map", ELM_WIN_BASIC);
    elm_win_title_set(win, "Map Route Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/mapbuf_example.c b/src/examples/mapbuf_example.c
index de475ef..e7d4c4e 100644
--- a/src/examples/mapbuf_example.c
+++ b/src/examples/mapbuf_example.c
@@ -11,14 +11,6 @@
 #include <Elementary.h>
 
 static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
-static void
 _enabled_cb(void *data, Evas_Object *obj, void *event_info)
 {
    Evas_Object *mb = data;
@@ -45,9 +37,11 @@ elm_main(int argc, char **argv)
    Evas_Object *win, *bg, *bx, *hbx, *tg, *ck, *mb, *tb, *ic;
    unsigned int i, j;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "mapbuf", ELM_WIN_BASIC);
    elm_win_title_set(win, "Mapbuf Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/panes_example.c b/src/examples/panes_example.c
index 4746992..a73b5ab 100644
--- a/src/examples/panes_example.c
+++ b/src/examples/panes_example.c
@@ -12,14 +12,6 @@
 #include <Elementary.h>
 
 static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
-static void
 _press(void *data, Evas_Object *obj, void *event_info)
 {
    printf("Pressed\n");
@@ -62,9 +54,11 @@ elm_main(int argc, char **argv)
 {
    Evas_Object *win, *bg, *panes, *panes_h, *bt;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "panes", ELM_WIN_BASIC);
    elm_win_title_set(win, "Panes Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/segment_control_example.c 
b/src/examples/segment_control_example.c
index 8e0aa29..6a33916 100644
--- a/src/examples/segment_control_example.c
+++ b/src/examples/segment_control_example.c
@@ -11,14 +11,6 @@
 
 #include <Elementary.h>
 
-static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
 EAPI_MAIN int
 elm_main(int argc, char **argv)
 {
@@ -26,9 +18,11 @@ elm_main(int argc, char **argv)
    Elm_Object_Item *seg_it;
    int count, idx;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "segment_control", ELM_WIN_BASIC);
    elm_win_title_set(win, "Segment Control Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/slider_example.c b/src/examples/slider_example.c
index 45aeb5a..4a0f3af 100644
--- a/src/examples/slider_example.c
+++ b/src/examples/slider_example.c
@@ -12,14 +12,6 @@
 #include <Elementary.h>
 
 static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
-static void
 _changed_cb(void *data, Evas_Object *obj, void *event_info)
 {
    double val = elm_slider_value_get(obj);
@@ -52,9 +44,11 @@ elm_main(int argc, char **argv)
 {
    Evas_Object *win, *bg, *bx, *sl, *ic;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "slider", ELM_WIN_BASIC);
    elm_win_title_set(win, "Slider Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/slideshow_example.c b/src/examples/slideshow_example.c
index a4b1212..bc1ebe3 100644
--- a/src/examples/slideshow_example.c
+++ b/src/examples/slideshow_example.c
@@ -11,14 +11,6 @@
 
 #include <Elementary.h>
 
-static void
-_on_done(void        *data,
-         Evas_Object *obj,
-         void        *event_info)
-{
-   elm_exit();
-}
-
 static Evas_Object *slideshow, *bt_start, *bt_stop;
 static Elm_Slideshow_Item_Class itc;
 
@@ -187,9 +179,10 @@ elm_main(int    argc,
    snprintf(img8, sizeof(img8), "%s/images/mystrale.jpg", data_dir);
    snprintf(img9, sizeof(img9), "%s/images/mystrale_2.jpg", data_dir);
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "slideshow", ELM_WIN_BASIC);
    elm_win_title_set(win, "Slideshow example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
    elm_win_autodel_set(win, EINA_TRUE);
    elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
    evas_object_resize(win, 600, 400);
diff --git a/src/examples/spinner_example.c b/src/examples/spinner_example.c
index 1536eda..bad1772 100644
--- a/src/examples/spinner_example.c
+++ b/src/examples/spinner_example.c
@@ -12,14 +12,6 @@
 #include <Elementary.h>
 
 static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
-static void
 _changed_cb(void *data, Evas_Object *obj, void *event_info)
 {
    printf("Value changed to %0.f\n", elm_spinner_value_get(obj));
@@ -36,9 +28,11 @@ elm_main(int argc, char **argv)
 {
    Evas_Object *win, *bg, *bx, *sp;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "spinner", ELM_WIN_BASIC);
    elm_win_title_set(win, "Spinner Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/toolbar_example_01.c 
b/src/examples/toolbar_example_01.c
index 5f64b2c..cf0c740 100644
--- a/src/examples/toolbar_example_01.c
+++ b/src/examples/toolbar_example_01.c
@@ -12,14 +12,6 @@
 #include <Elementary.h>
 
 static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
-static void
 _item_1_pressed(void *data, Evas_Object *obj, void *event_info)
 {
    Evas_Object *bt = data;
@@ -47,9 +39,11 @@ elm_main(int argc, char **argv)
    Evas_Object *win, *bg, *bx, *tb, *bt;
    Elm_Object_Item *tb_it;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "toolbar", ELM_WIN_BASIC);
    elm_win_title_set(win, "Toolbar Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/toolbar_example_02.c 
b/src/examples/toolbar_example_02.c
index 273fe47..b535ffe 100644
--- a/src/examples/toolbar_example_02.c
+++ b/src/examples/toolbar_example_02.c
@@ -12,14 +12,6 @@
 #include <Elementary.h>
 
 static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
-static void
 _item_pressed(void *data, Evas_Object *obj, void *event_info)
 {
    Elm_Object_Item *tb_it = event_info;
@@ -33,9 +25,11 @@ elm_main(int argc, char **argv)
    Evas_Object *win, *bg, *bx, *tb, *bt;
    Elm_Object_Item *tb_it;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "toolbar", ELM_WIN_BASIC);
    elm_win_title_set(win, "Toolbar Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/toolbar_example_03.c 
b/src/examples/toolbar_example_03.c
index 8af248b..58ed132 100644
--- a/src/examples/toolbar_example_03.c
+++ b/src/examples/toolbar_example_03.c
@@ -11,23 +11,17 @@
 
 #include <Elementary.h>
 
-static void
-_on_done(void *data,
-         Evas_Object *obj,
-         void *event_info)
-{
-   elm_exit();
-}
-
 EAPI_MAIN int
 elm_main(int argc, char **argv)
 {
    Evas_Object *win, *bg, *bx, *tb, *bt, *menu;
    Elm_Object_Item *tb_it;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "toolbar", ELM_WIN_BASIC);
    elm_win_title_set(win, "Toolbar Example");
-   evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
+   elm_win_autodel_set(win, EINA_TRUE);
 
    bg = elm_bg_add(win);
    elm_win_resize_object_add(win, bg);
diff --git a/src/examples/transit_example_01.c 
b/src/examples/transit_example_01.c
index 26323c9..2ad231d 100644
--- a/src/examples/transit_example_01.c
+++ b/src/examples/transit_example_01.c
@@ -3,22 +3,16 @@
 
 #include <Elementary.h>
 
-static void
-on_done(void *data, Evas_Object *obj, void *event_info)
-{
-   /* quit the mainloop (elm_run) */
-   elm_exit();
-}
-
 EAPI_MAIN int
 elm_main(int argc, char **argv)
 {
    Evas_Object *win, *bg, *bt;
    Elm_Transit *trans;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
    win = elm_win_add(NULL, "transit-basic", ELM_WIN_BASIC);
    elm_win_title_set(win, "Transit - Basic");
-   evas_object_smart_callback_add(win, "delete,request", on_done, NULL);
    elm_win_autodel_set(win, EINA_TRUE);
    elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
    evas_object_resize(win, 400, 400);
diff --git a/src/examples/transit_example_03.c 
b/src/examples/transit_example_03.c
index 630081b..bd8150c 100644
--- a/src/examples/transit_example_03.c
+++ b/src/examples/transit_example_03.c
@@ -78,13 +78,6 @@ static struct {
        { NULL, NULL, EINA_FALSE }
 };
 
-static void
-on_done(void *data, Evas_Object *obj, void *event_info)
-{
-   /* quit the mainloop (elm_run) */
-   elm_exit();
-}
-
 /* add a checkbox to the box with the given label, and uses the checked
  * pointer as state_pointer to this checkbox */
 static void
@@ -187,11 +180,11 @@ elm_main(int argc, char **argv)
    context.tween_mode = ELM_TRANSIT_TWEEN_MODE_LINEAR;
 
    elm_app_info_set(elm_main, "elementary", "images/icon_07.png");
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
 
    /* add a window */
    win = elm_win_add(NULL, "transit", ELM_WIN_BASIC);
    elm_win_title_set(win, "Transit Example");
-   evas_object_smart_callback_add(win, "delete,request", on_done, NULL);
    elm_win_autodel_set(win, EINA_TRUE);
 
    /* add a scalable white background to this window */
diff --git a/src/examples/transit_example_04.c 
b/src/examples/transit_example_04.c
index 9b5f18c..58214db 100644
--- a/src/examples/transit_example_04.c
+++ b/src/examples/transit_example_04.c
@@ -42,13 +42,6 @@ static struct {
 };
 
 static void
-on_done(void *data, Evas_Object *obj, void *event_info)
-{
-   /* quit the mainloop (elm_run) */
-   elm_exit();
-}
-
-static void
 _checkbox_transition_add(Evas_Object *box, const char *label, Eina_Bool 
*checked)
 {
    Evas_Object *check = elm_check_add(elm_object_parent_widget_get(box));
@@ -93,11 +86,12 @@ elm_main(int argc, char **argv)
    char buf[PATH_MAX];
    int i;
 
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
    elm_app_info_set(elm_main, "elementary", "images/icon_07.png");
+
    /* add a window */
    win = elm_win_add(NULL, "transit", ELM_WIN_BASIC);
    elm_win_title_set(win, "Transit Example");
-   evas_object_smart_callback_add(win, "delete,request", on_done, NULL);
    elm_win_autodel_set(win, EINA_TRUE);
 
    /* add a scalable white background to this window */

-- 

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev

Reply via email to