aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/elementary/src/bin/test_actionslider.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libraries/elementary/src/bin/test_actionslider.c195
1 files changed, 195 insertions, 0 deletions
diff --git a/libraries/elementary/src/bin/test_actionslider.c b/libraries/elementary/src/bin/test_actionslider.c
new file mode 100644
index 0000000..f3b6454
--- /dev/null
+++ b/libraries/elementary/src/bin/test_actionslider.c
@@ -0,0 +1,195 @@
1#ifdef HAVE_CONFIG_H
2# include "elementary_config.h"
3#endif
4#include <Elementary.h>
5#ifndef ELM_LIB_QUICKLAUNCH
6
7static 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
71static 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
80static 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
89void
90test_actionslider(void *data __UNUSED__, Evas_Object * obj __UNUSED__, void *event_info __UNUSED__)
91{
92 Evas_Object *win, *bx, *as;
93
94 win = elm_win_util_standard_add("actionslider", "Actionslider");
95 elm_win_autodel_set(win, EINA_TRUE);
96
97 bx = elm_box_add(win);
98 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0);
99 elm_win_resize_object_add(win, bx);
100 evas_object_show(bx);
101
102 as = elm_actionslider_add(win);
103 evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
104 evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
105 elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_RIGHT);
106 elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_RIGHT);
107 elm_object_part_text_set(as, "left", "Snooze");
108 elm_object_part_text_set(as, "center", NULL);
109 elm_object_part_text_set(as, "right", "Stop");
110 elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_LEFT |
111 ELM_ACTIONSLIDER_RIGHT);
112 evas_object_smart_callback_add(as, "pos_changed",
113 _position_change_magnetic_cb, NULL);
114 evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
115 evas_object_show(as);
116 elm_box_pack_end(bx, as);
117
118 as = elm_actionslider_add(win);
119 evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
120 evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
121 elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_CENTER);
122 elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_CENTER);
123 elm_object_part_text_set(as, "left", "Snooze");
124 elm_object_part_text_set(as, "center", NULL);
125 elm_object_part_text_set(as, "right", "Stop");
126 elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_LEFT |
127 ELM_ACTIONSLIDER_RIGHT);
128 evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
129 evas_object_show(as);
130 elm_box_pack_end(bx, as);
131
132 as = elm_actionslider_add(win);
133 elm_object_style_set(as, "bar");
134 evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
135 evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
136 elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_LEFT);
137 elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_CENTER|
138 ELM_ACTIONSLIDER_RIGHT);
139 elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_CENTER |
140 ELM_ACTIONSLIDER_RIGHT);
141 elm_object_part_text_set(as, "left", NULL);
142 elm_object_part_text_set(as, "center", "Accept");
143 elm_object_part_text_set(as, "right", "Reject");
144 evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
145 evas_object_show(as);
146 elm_box_pack_end(bx, as);
147
148 as = elm_actionslider_add(win);
149 elm_object_style_set(as, "bar");
150 evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
151 evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
152 elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_LEFT);
153 elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_LEFT);
154 elm_object_part_text_set(as, "left", NULL);
155 elm_object_part_text_set(as, "center", "Accept");
156 elm_object_part_text_set(as, "right", "Reject");
157 elm_object_text_set(as, "Go");
158 evas_object_smart_callback_add(as, "pos_changed",
159 _position_change_magnetic_cb, NULL);
160 evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
161 evas_object_show(as);
162 elm_box_pack_end(bx, as);
163
164
165 as = elm_actionslider_add(win);
166 evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
167 evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
168 elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_LEFT);
169 elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_ALL);
170 elm_object_part_text_set(as, "left", "Left");
171 elm_object_part_text_set(as, "center", "Center");
172 elm_object_part_text_set(as, "right", "Right");
173 elm_object_text_set(as, "Go");
174 evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
175 evas_object_show(as);
176 elm_box_pack_end(bx, as);
177
178 as = elm_actionslider_add(win);
179 evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0);
180 evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0);
181 elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_CENTER);
182 elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_CENTER);
183 elm_object_part_text_set(as, "left", "Enable");
184 elm_object_part_text_set(as, "center", "Magnet");
185 elm_object_part_text_set(as, "right", "Disable");
186 evas_object_smart_callback_add(as, "pos_changed",
187 _magnet_enable_disable_cb, NULL);
188 evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL);
189 evas_object_show(as);
190 elm_box_pack_end(bx, as);
191
192 evas_object_resize(win, 320, 400);
193 evas_object_show(win);
194}
195#endif