Revert "Revert "test/efl_ui_pager: fix demo""
authorJaehyun Cho <jae_hyun.cho@samsung.com>
Wed, 17 Apr 2019 01:41:50 +0000 (10:41 +0900)
committerYeongjong Lee <yj34.lee@samsung.com>
Wed, 24 Apr 2019 05:24:47 +0000 (14:24 +0900)
This reverts commit f652bf932837846c5911c26992196213780394df.

To restore d3bb1a7342b2725c585d90557926e0c433058e50 which implements
features during feature freeze period, the revert commit is reverted.

src/bin/elementary/test_ui_pager.c

index 78fb1b5..32bc1d7 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 = NULL, *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,