From: Hyoyoung Chang <hyoyoung@gmail.com>
[framework/uifw/elementary.git] / src / lib / elm_pager.c
1 #include <Elementary.h>
2 #include "elm_priv.h"
3
4 /* FIXME:
5  * 1. Possibly remove those callbacks and just use the naviframe ones.
6  * 2. I can create a different object, but it can wait until inheritance
7  * is implemented, too annoying atm. */
8 static void
9 _push_finished(void *data __UNUSED__, Evas_Object *obj, void *event_info)
10 {
11    evas_object_smart_callback_call(obj, "show,finished", event_info);
12 }
13
14 static void
15 _pop_finished(void *data __UNUSED__, Evas_Object *obj, void *event_info)
16 {
17    evas_object_smart_callback_call(obj, "hide,finished", event_info);
18 }
19
20 EINA_DEPRECATED EAPI Evas_Object *
21 elm_pager_add(Evas_Object *parent)
22 {
23    Evas_Object *nf = elm_naviframe_add(parent);
24    evas_object_smart_callback_add(nf, "push,finished", _push_finished, NULL);
25    evas_object_smart_callback_add(nf, "pop,finished", _pop_finished, NULL);
26    return nf;
27 }
28
29 EINA_DEPRECATED EAPI void
30 elm_pager_content_push(Evas_Object *obj, Evas_Object *content)
31 {
32    Elm_Object_Item *it;
33    it = elm_naviframe_item_push(obj, NULL, NULL, NULL, content, NULL);
34    elm_naviframe_item_title_visible_set(it, EINA_FALSE);
35 }
36
37 EINA_DEPRECATED EAPI void
38 elm_pager_content_pop(Evas_Object *obj)
39 {
40    elm_naviframe_item_pop(obj);
41 }
42
43 EINA_DEPRECATED EAPI void
44 elm_pager_content_promote(Evas_Object *obj, Evas_Object *content)
45 {
46    Eina_List *items = elm_naviframe_items_get(obj);
47    Eina_List *itr;
48    Elm_Object_Item *it;
49    EINA_LIST_FOREACH(items, itr, it)
50      {
51         if (elm_object_item_content_get(it) == content)
52           {
53              elm_naviframe_item_promote(it);
54              break;
55           }
56      }
57    eina_list_free(items);
58 }
59
60 EINA_DEPRECATED EAPI Evas_Object *
61 elm_pager_content_bottom_get(const Evas_Object *obj)
62 {
63    Elm_Object_Item *it;
64    it = elm_naviframe_bottom_item_get(obj);
65    return elm_object_item_content_get(it);
66 }
67
68 EINA_DEPRECATED EAPI Evas_Object *
69 elm_pager_content_top_get(const Evas_Object *obj)
70 {
71    Elm_Object_Item *it;
72    it = elm_naviframe_top_item_get(obj);
73    return elm_object_item_content_get(it);
74 }
75
76 EINA_DEPRECATED EAPI void
77 elm_pager_item_style_default_set(Evas_Object *obj, const char *style)
78 {
79    elm_naviframe_item_style_default_set(obj, style);
80 }
81
82 EINA_DEPRECATED EAPI const char *
83 elm_pager_item_style_default_get(const Evas_Object *obj)
84 {
85    return elm_naviframe_item_style_default_get(obj);
86 }