test/efl_ui_pager: fix demo
authorJaeun Choi <jaeun12.choi@samsung.com>
Fri, 29 Mar 2019 11:03:16 +0000 (20:03 +0900)
committerJunsuChoi <jsuya.choi@samsung.com>
Tue, 2 Apr 2019 04:21:10 +0000 (13:21 +0900)
- use unpack_at function than unpack function
- add CLEAR option

src/bin/elementary/test_ui_pager.c

index 9a51699..4349a7a 100644 (file)
@@ -36,7 +36,8 @@ typedef enum _Pack_Type {
    PACK_BEFORE,
    PACK_AFTER,
    PACK_AT,
-   UNPACK_AT
+   UNPACK_AT,
+   CLEAR
 } Pack_Type;
 
 typedef struct _Params {
@@ -218,7 +219,7 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
    Eo *page, *curr_page;
    int index, cnt;
 
-   if (param->type != UNPACK_AT) {
+   if ((param->type != UNPACK_AT) && (param->type != CLEAR)) {
       index  = efl_content_count(pager);
 
       switch (index % 3) {
@@ -260,10 +261,12 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
          break;
       case UNPACK_AT:
          index = efl_ui_range_value_get(param->unpack_sp);
-         page = efl_pack_content_get(pager, index);
-         efl_pack_unpack(pager, page);
+         page = efl_pack_unpack_at(pager, index);
          efl_del(page);
          break;
+      case CLEAR:
+         efl_pack_clear(pager);
+         break;
    }
 
    cnt = efl_content_count(pager);
@@ -587,6 +590,25 @@ static void pack_cb(void *data,
    efl_pack_end(box, in_box2);
    efl_pack_end(in_box2, btn);
    efl_pack_end(in_box2, sp2);
+
+   // Clear
+   pack_param = calloc(1, sizeof(Pack_Params));
+   if (!pack_param) return;
+
+   pack_param->pager = pager;
+   pack_param->pack_sp = sp1;
+   pack_param->unpack_sp = sp2;
+   pack_param->unpack_btn = btn;
+   pack_param->type = CLEAR;
+
+   efl_add(EFL_UI_BUTTON_CLASS, box,
+           efl_text_set(efl_added, "Clear"),
+           efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
+                                  pack_btn_cb, pack_param),
+           efl_event_callback_add(efl_added, EFL_EVENT_DEL,
+                                  pack_btn_del_cb, pack_param),
+           efl_pack_end(box, efl_added));
+
 }
 
 static void current_page_cb(void *data,