After edit mode naming is changed, some legacy naming is remained.
[framework/uifw/elementary.git] / src / bin / test_actionslider.c
1 #ifdef HAVE_CONFIG_H
2 # include "elementary_config.h"
3 #endif
4 #include <Elementary.h>
5 #ifndef ELM_LIB_QUICKLAUNCH
6
7 static void _pos_selected_cb(void *data __UNUSED__, Evas_Object *obj, void *event_info)
8 {
9    Elm_Actionslider_Pos ipos, mpos, epos;
10
11    printf("Selection: %s\n", (char *)event_info);
12    printf("Label selected: %s\n", elm_actionslider_selected_label_get(obj));
13
14    ipos = elm_actionslider_indicator_pos_get(obj);
15
16    switch (ipos)
17      {
18       case ELM_ACTIONSLIDER_NONE:
19          printf("actionslider indicator pos: none!\n");
20          break;
21       case ELM_ACTIONSLIDER_LEFT:
22          printf("actionslider indicator pos: left!\n");
23          break;
24       case ELM_ACTIONSLIDER_CENTER:
25          printf("actionslider indicator pos: center!\n");
26          break;
27       case ELM_ACTIONSLIDER_RIGHT:
28          printf("actionslider indicator pos: right!\n");
29          break;
30       case ELM_ACTIONSLIDER_ALL:
31          printf("actionslider indicator pos: all!\n");
32          break;
33      }
34
35    mpos = elm_actionslider_magnet_pos_get(obj);
36
37    switch (mpos)
38      {
39       case ELM_ACTIONSLIDER_NONE:
40          printf("actionslider magnet pos: none!\n");
41          break;
42       case ELM_ACTIONSLIDER_LEFT:
43          printf("actionslider magnet pos: left!\n");
44          break;
45       case ELM_ACTIONSLIDER_CENTER:
46          printf("actionslider magnet pos: center!\n");
47          break;
48       case ELM_ACTIONSLIDER_RIGHT:
49          printf("actionslider magnet pos: right!\n");
50          break;
51       case ELM_ACTIONSLIDER_ALL:
52          printf("actionslider magnet pos: all!\n");
53          break;
54      }
55
56    epos = elm_actionslider_enabled_pos_get(obj);
57
58    if (epos)
59      {
60         printf("actionslider enabled pos: ");
61         if (epos & ELM_ACTIONSLIDER_LEFT)
62           printf("left ");
63         if (epos & ELM_ACTIONSLIDER_CENTER)
64           printf("center ");
65         if (epos & ELM_ACTIONSLIDER_RIGHT)
66           printf("right ");
67         printf("\n");
68      }
69 }
70
71 static void
72 _position_change_magnetic_cb(void *data __UNUSED__, Evas_Object * obj, void *event_info)
73 {
74    if (!strcmp((char *)event_info, "left"))
75      elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_LEFT);
76    else if (!strcmp((char *)event_info, "right"))
77      elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_RIGHT);
78 }
79
80 static void
81 _magnet_enable_disable_cb(void *data __UNUSED__, Evas_Object *obj, void *event_info)
82 {
83    if (!strcmp((char *)event_info, "left"))
84       elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_CENTER);
85    else if (!strcmp((char *)event_info, "right"))
86       elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_NONE);
87 }
88
89 void
90 test_actionslider(void *data __UNUSED__, Evas_Object * obj __UNUSED__, void *event_info __UNUSED__)
91 {
92    Evas_Object *win, *bg, *bx, *as;
93
94    win = elm_win_add(NULL, "actionslider", ELM_WIN_BASIC);
95    elm_win_title_set(win, "Actionslider");
96    elm_win_autodel_set(win, EINA_TRUE);
97
98    bg = elm_bg_add(win);
99    elm_win_resize_object_add(win, bg);
100    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, 0);
101    evas_object_show(bg);
102
103    bx = elm_box_add(win);
104    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0);
105    elm_win_resize_object_add(win, bx);
106    evas_object_show(bx);
107
108    as = elm_actionslider_add(win);
109    evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
110    evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
111    elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_RIGHT);
112    elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_RIGHT);
113    elm_object_part_text_set(as, "left", "Snooze");
114    elm_object_part_text_set(as, "center", NULL);
115    elm_object_part_text_set(as, "right", "Stop");
116    elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_LEFT |
117                                     ELM_ACTIONSLIDER_RIGHT);
118    evas_object_smart_callback_add(as, "pos_changed",
119                                   _position_change_magnetic_cb, NULL);
120    evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
121    evas_object_show(as);
122    elm_box_pack_end(bx, as);
123
124    as = elm_actionslider_add(win);
125    evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
126    evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
127    elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_CENTER);
128    elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_CENTER);
129    elm_object_part_text_set(as, "left", "Snooze");
130    elm_object_part_text_set(as, "center", NULL);
131    elm_object_part_text_set(as, "right", "Stop");
132    elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_LEFT |
133                                     ELM_ACTIONSLIDER_RIGHT);
134    evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
135    evas_object_show(as);
136    elm_box_pack_end(bx, as);
137
138    as = elm_actionslider_add(win);
139    elm_object_style_set(as, "bar");
140    evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
141    evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
142    elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_LEFT);
143    elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_CENTER|
144                                    ELM_ACTIONSLIDER_RIGHT);
145    elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_CENTER |
146                                     ELM_ACTIONSLIDER_RIGHT);
147    elm_object_part_text_set(as, "left", NULL);
148    elm_object_part_text_set(as, "center", "Accept");
149    elm_object_part_text_set(as, "right", "Reject");
150    evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
151    evas_object_show(as);
152    elm_box_pack_end(bx, as);
153
154    as = elm_actionslider_add(win);
155    elm_object_style_set(as, "bar");
156    evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
157    evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
158    elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_LEFT);
159    elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_LEFT);
160    elm_object_part_text_set(as, "left", NULL);
161    elm_object_part_text_set(as, "center", "Accept");
162    elm_object_part_text_set(as, "right", "Reject");
163    elm_object_text_set(as, "Go");
164    evas_object_smart_callback_add(as, "pos_changed",
165                                   _position_change_magnetic_cb, NULL);
166    evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
167    evas_object_show(as);
168    elm_box_pack_end(bx, as);
169
170
171    as = elm_actionslider_add(win);
172    evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
173    evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
174    elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_LEFT);
175    elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_ALL);
176    elm_object_part_text_set(as, "left", "Left");
177    elm_object_part_text_set(as, "center", "Center");
178    elm_object_part_text_set(as, "right", "Right");
179    elm_object_text_set(as, "Go");
180    evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
181    evas_object_show(as);
182    elm_box_pack_end(bx, as);
183
184    as = elm_actionslider_add(win);
185    evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
186    evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
187    elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_CENTER);
188    elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_CENTER);
189    elm_object_part_text_set(as, "left", "Enable");
190    elm_object_part_text_set(as, "center", "Magnet");
191    elm_object_part_text_set(as, "right", "Disable");
192    evas_object_smart_callback_add(as, "pos_changed",
193                                   _magnet_enable_disable_cb, NULL);
194    evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
195    evas_object_show(as);
196    elm_box_pack_end(bx, as);
197
198    evas_object_resize(win, 320, 400);
199    evas_object_show(win);
200 }
201 #endif