efl

Форк
0
/
test_slider.c 
661 строка · 22.5 Кб
1
#ifdef HAVE_CONFIG_H
2
# include "elementary_config.h"
3
#endif
4
#include <Elementary.h>
5

6
struct _api_data
7
{
8
   Evas_Object *slider;
9
   Evas_Object *popup;
10
   Eina_Bool limit;
11
};
12
typedef struct _api_data api_data;
13

14
void
15
_delay_change_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
16
{
17
   printf("delay,changed! slider value : %d\n", (int)round(elm_slider_value_get(obj)));
18
}
19

20
void
21
_change_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
22
{
23
   double val = elm_slider_value_get(obj);
24
   elm_slider_value_set(data, val);
25
}
26

27
void
28
_drag_start_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
29
{
30
   printf("drag,started! slider value : %d\n", (int)round(elm_slider_value_get(obj)));
31
}
32

33
void
34
_drag_stop_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
35
{
36
   printf("drag,stopped! slider value : %d\n", (int)round(elm_slider_value_get(obj)));
37
}
38

39
static void
40
_ok_btn_clicked(void *data, Evas_Object *obj EINA_UNUSED,
41
		        void *event_info EINA_UNUSED)
42
{
43
   api_data *api = data;
44
   api->limit = EINA_FALSE;
45
   evas_object_del(api->popup);
46
   api->popup = NULL;
47
}
48

49
static void
50
_close_btn_clicked(void *data, Evas_Object *obj EINA_UNUSED,
51
                   void *event_info EINA_UNUSED)
52
{
53
   api_data *api = data;
54
   evas_object_del(api->popup);
55
   api->popup = NULL;
56
}
57

58
void
59
_popup_add(api_data *api)
60
{
61
   Evas_Object *win;
62
   Evas_Object *btn, *btn2;
63

64
   if (!api->popup)
65
     {
66
        win = elm_object_top_widget_get(api->slider);
67
        api->popup = elm_popup_add(win);
68

69
        elm_object_text_set(api->popup, "Tap Ok to allow the value to be increased above 80.");
70

71
        btn = elm_button_add(api->popup);
72
        elm_object_text_set(btn, "Ok");
73
        elm_object_part_content_set(api->popup, "button1", btn);
74
        evas_object_smart_callback_add(btn, "clicked", _ok_btn_clicked, api);
75

76
        btn2 = elm_button_add(api->popup);
77
        elm_object_text_set(btn2, "Close");
78
        elm_object_part_content_set(api->popup, "button2", btn2);
79
        evas_object_smart_callback_add(btn2, "clicked", _close_btn_clicked, api);
80

81
        evas_object_show(api->popup);
82
     }
83
}
84

85
void
86
_change_cb2(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
87
{
88
	api_data *api = data;
89
    double val = elm_slider_value_get(obj);
90
    if (val >= 80.0 && api->limit) {
91
         elm_slider_value_set(obj, 80.0);
92
         _popup_add(api);
93
    }
94
    else if (api->popup)
95
    {
96
         evas_object_del(api->popup);
97
         api->popup = NULL;
98
    }
99
}
100

101
void
102
_change_print_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
103
{
104
   double val = elm_slider_value_get(obj);
105
   printf("change to %3.3f\n", val);
106
}
107

108
void
109
_bt_0(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
110
{
111
   elm_slider_value_set(data, 0.0);
112
}
113

114
void
115
_bt_1(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
116
{
117
   elm_slider_value_set(data, 1.0);
118
}
119

120
void
121
_bt_p1(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
122
{
123
   elm_slider_value_set(data, elm_slider_value_get(data) + 0.1);
124
}
125

126
void
127
_bt_m1(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
128
{
129
   elm_slider_value_set(data, elm_slider_value_get(data) - 0.1);
130
}
131

132
static double
133
_step_size_calculate(double min, double max)
134
{
135
   double step = 0.0;
136
   int steps = 0;
137

138
   steps = max - min;
139
   if (steps) step = (1.0 / steps);
140
   return step;
141
}
142

143
static void
144
_change_range_print_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
145
{
146
   double from, to;
147

148
   elm_slider_range_get(obj, &from, &to);
149

150
   printf("range values:- from: %f, to: %f\n", from, to);
151
}
152

153
static void
154
_cleanup_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
155
{
156
   free(data);
157
}
158

159
static void
160
_change_cb_range_slider(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
161
{
162
   double from, to;
163

164
   elm_slider_range_get(obj, &from, &to);
165
   if (from < 100)
166
     elm_slider_range_set(obj, 100, to);
167
   if (to > 500)
168
     elm_slider_range_set(obj, from, 500);
169
}
170

171
void
172
test_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
173
{
174
   Evas_Object *win, *fr, *bx, *sl, *ic, *sl1, *bx2, *bx3, *bx4, *bt;
175
   double step;
176
   char buf[PATH_MAX];
177

178
   api_data *api = calloc(1, sizeof(api_data));
179

180
   win = elm_win_util_standard_add("slider", "Slider");
181
   elm_win_autodel_set(win, EINA_TRUE);
182
   evas_object_event_callback_add(win, EVAS_CALLBACK_FREE, _cleanup_cb, api);
183

184
   fr = elm_frame_add(win);
185
   evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
186
   elm_win_resize_object_add(win, fr);
187
   elm_object_style_set(fr, "pad_large");
188
   evas_object_show(fr);
189

190
   bx = elm_box_add(fr);
191
   elm_object_content_set(fr, bx);
192
   evas_object_show(bx);
193

194
   // disabled horizontal slider
195
   ic = elm_icon_add(bx);
196
   snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
197
   elm_image_file_set(ic, buf, NULL);
198
   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
199
   evas_object_show(ic);
200

201
   sl = elm_slider_add(bx);
202
   elm_object_text_set(sl, "Disabled");
203
   elm_object_part_content_set(sl, "icon", ic);
204
   elm_slider_unit_format_set(sl, "%1.1f units");
205
   elm_slider_span_size_set(sl, 120);
206
   elm_slider_min_max_set(sl, 50, 150);
207
   elm_slider_value_set(sl, 80);
208
   elm_object_disabled_set(sl, EINA_TRUE);
209
   evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
210
   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
211
   elm_box_pack_end(bx, sl);
212
   evas_object_show(sl);
213

214
   sl = elm_slider_add(bx);
215
   elm_slider_unit_format_set(sl, "%1.0f units");
216
   elm_slider_indicator_format_set(sl, "%1.0f");
217
   elm_slider_span_size_set(sl, 120);
218
   elm_slider_min_max_set(sl, 0, 9);
219
   elm_object_text_set(sl, "Manual step");
220
   step = _step_size_calculate(0, 9);
221
   elm_slider_step_set(sl, step);
222
   evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
223
   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
224
   elm_box_pack_end(bx, sl);
225
   evas_object_show(sl);
226

227
   sl = elm_slider_add(bx);
228
   elm_slider_unit_format_set(sl, "%1.0f units");
229
   elm_slider_indicator_format_set(sl, "%1.0f");
230
   elm_slider_span_size_set(sl, 120);
231
   elm_slider_min_max_set(sl, 0, 100);
232
   elm_object_text_set(sl, "Show Indicator on Focus: ");
233
   step = _step_size_calculate(0, 9);
234
   elm_slider_step_set(sl, step);
235
   elm_slider_indicator_show_on_focus_set(sl, EINA_TRUE);
236
   evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
237
   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
238
   elm_box_pack_end(bx, sl);
239
   evas_object_show(sl);
240

241
   // normal horizontal slider
242
   ic = elm_icon_add(bx);
243
   snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
244
   elm_image_file_set(ic, buf, NULL);
245
   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
246

247
   sl1 = sl = elm_slider_add(bx);
248
   elm_object_text_set(sl, "Horizontal");
249
   elm_object_part_content_set(sl, "icon", ic);
250
   elm_slider_unit_format_set(sl, "%1.1f units");
251
   elm_slider_indicator_format_set(sl, "%1.1f");
252
   elm_slider_span_size_set(sl, 120);
253
   evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
254
   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
255
   elm_box_pack_end(bx, sl);
256
   evas_object_show(ic);
257
   evas_object_show(sl);
258

259
   evas_object_smart_callback_add(sl, "slider,drag,start", _drag_start_cb, NULL);
260
   evas_object_smart_callback_add(sl, "slider,drag,stop", _drag_stop_cb, NULL);
261

262

263
   // horizontally inverted slider
264
   ic = elm_icon_add(bx);
265
   snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
266
   elm_image_file_set(ic, buf, NULL);
267
   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
268
   evas_object_show(ic);
269

270
   sl = elm_slider_add(bx);
271
   elm_object_text_set(sl, "Horizontal inverted");
272
   elm_object_part_content_set(sl, "end", ic);
273
   elm_slider_unit_format_set(sl, "%3.0f units");
274
   elm_slider_span_size_set(sl, 80);
275
   elm_slider_indicator_format_set(sl, "%3.0f");
276
   elm_slider_min_max_set(sl, 50, 150);
277
   elm_slider_value_set(sl, 80);
278
   elm_slider_inverted_set(sl, EINA_TRUE);
279
   evas_object_size_hint_align_set(sl, 0.5, 0.5);
280
   evas_object_size_hint_weight_set(sl, 0.0, 0.0);
281
   evas_object_smart_callback_add(sl, "delay,changed", _delay_change_cb, NULL);
282
   elm_box_pack_end(bx, sl);
283
   evas_object_show(sl);
284

285
   // disabled horizontally inverted slider
286
   ic = elm_icon_add(bx);
287
   snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
288
   elm_image_file_set(ic, buf, NULL);
289
   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
290
   evas_object_show(ic);
291

292
   sl = elm_slider_add(bx);
293
   elm_object_text_set(sl, "Disabled inverted");
294
   elm_object_part_content_set(sl, "end", ic);
295
   elm_slider_span_size_set(sl, 80);
296
   elm_slider_indicator_format_set(sl, "%3.0f");
297
   elm_slider_min_max_set(sl, 50, 150);
298
   elm_slider_value_set(sl, 80);
299
   elm_slider_inverted_set(sl, EINA_TRUE);
300
   elm_object_disabled_set(sl, EINA_TRUE);
301
   evas_object_size_hint_align_set(sl, 0.5, 0.5);
302
   evas_object_size_hint_weight_set(sl, 0.0, 0.0);
303
   elm_box_pack_end(bx, sl);
304
   evas_object_show(sl);
305

306
   // limited slider
307
   api->slider = sl = elm_slider_add(bx);
308
   api->limit = EINA_TRUE;
309
   elm_object_text_set(sl, "Limited");
310
   elm_slider_span_size_set(sl, 120);
311
   elm_slider_unit_format_set(sl, "%1.0f units");
312
   elm_slider_indicator_format_set(sl, "%1.0f");
313
   elm_slider_min_max_set(sl, 0, 100);
314
   evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
315
   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
316
   elm_box_pack_end(bx, sl);
317
   evas_object_show(sl);
318

319
   evas_object_smart_callback_add(sl, "changed", _change_cb2, api);
320

321
   // scale doubled slider
322
   sl = elm_slider_add(bx);
323
   elm_slider_indicator_show_set(sl, EINA_FALSE);
324
   elm_object_text_set(sl, "Scale doubled");
325
   elm_slider_unit_format_set(sl, "%3.0f units");
326
   elm_slider_span_size_set(sl, 40);
327
   evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
328
   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
329
   elm_slider_indicator_format_set(sl, "%3.0f");
330
   elm_slider_min_max_set(sl, 50, 150);
331
   elm_slider_value_set(sl, 80);
332
   elm_slider_inverted_set(sl, EINA_TRUE);
333
   elm_object_scale_set(sl, 2.0);
334
   elm_box_pack_end(bx, sl);
335
   evas_object_show(sl);
336

337
   // horizontal box
338
   bx2 = elm_box_add(bx);
339
   evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
340
   evas_object_size_hint_align_set(bx2, 0.5, EVAS_HINT_FILL);
341
   elm_box_horizontal_set(bx2, EINA_TRUE);
342
   elm_box_pack_end(bx, bx2);
343
   evas_object_show(bx2);
344

345
   // vertical inverted slider
346
   ic = elm_icon_add(bx2);
347
   snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
348
   elm_image_file_set(ic, buf, NULL);
349
   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_HORIZONTAL, 1, 1);
350
   evas_object_show(ic);
351

352
   sl = elm_slider_add(bx2);
353
   elm_object_part_content_set(sl, "icon", ic);
354
   elm_object_text_set(sl, "Vertical inverted");
355
   elm_slider_inverted_set(sl, EINA_TRUE);
356
   elm_slider_unit_format_set(sl, "%1.1f units");
357
   elm_slider_span_size_set(sl, 60);
358
   evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL);
359
   evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND);
360
   elm_slider_indicator_format_set(sl, "%1.1f");
361
   elm_slider_value_set(sl, 0.2);
362
   elm_object_scale_set(sl, 1.0);
363
   elm_slider_horizontal_set(sl, EINA_FALSE);
364
   elm_box_pack_end(bx2, sl);
365
   evas_object_show(sl);
366

367
   evas_object_smart_callback_add(sl1, "changed", _change_cb, sl);
368

369
   // disabled vertical slider
370
   ic = elm_icon_add(bx2);
371
   snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
372
   elm_image_file_set(ic, buf, NULL);
373
   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_HORIZONTAL, 1, 1);
374
   evas_object_show(ic);
375

376
   sl = elm_slider_add(bx2);
377
   elm_object_part_content_set(sl, "icon", ic);
378
   elm_object_text_set(sl, "Disabled vertical");
379
   elm_slider_inverted_set(sl, EINA_TRUE);
380
   elm_slider_unit_format_set(sl, "%1.1f units");
381
   elm_slider_span_size_set(sl, 100);
382
   evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL);
383
   evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND);
384
   elm_slider_indicator_format_set(sl, "%1.1f");
385
   elm_slider_value_set(sl, 0.2);
386
   elm_object_scale_set(sl, 1.0);
387
   elm_slider_horizontal_set(sl, EINA_FALSE);
388
   elm_object_disabled_set(sl, EINA_TRUE);
389
   elm_box_pack_end(bx2, sl);
390
   evas_object_show(sl);
391

392
   // normal vertical slider
393
   sl = elm_slider_add(bx2);
394
   elm_object_text_set(sl, "Vertical");
395
   elm_slider_unit_format_set(sl, "%1.1f units");
396
   elm_slider_span_size_set(sl, 60);
397
   evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL);
398
   evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND);
399
   elm_slider_value_set(sl, 0.2);
400
   elm_object_scale_set(sl, 1.0);
401
   elm_slider_horizontal_set(sl, EINA_FALSE);
402
   evas_object_smart_callback_add(sl, "changed", _change_print_cb, sl);
403
   elm_box_pack_end(bx2, sl);
404
   evas_object_show(sl);
405

406
   // box for bottom buttons
407
   bx2 = elm_box_add(win);
408
   evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
409
   elm_box_horizontal_set(bx2, EINA_TRUE);
410
   elm_box_pack_end(bx, bx2);
411
   evas_object_show(bx2);
412

413
   bt = elm_button_add(win);
414
   elm_object_text_set(bt, "0");
415
   evas_object_smart_callback_add(bt, "clicked", _bt_0, sl);
416
   evas_object_show(bt);
417
   elm_box_pack_end(bx2, bt);
418

419
   bt = elm_button_add(win);
420
   elm_object_text_set(bt, "1");
421
   evas_object_smart_callback_add(bt, "clicked", _bt_1, sl);
422
   evas_object_show(bt);
423
   elm_box_pack_end(bx2, bt);
424

425
   bt = elm_button_add(win);
426
   elm_object_text_set(bt, "+0.1");
427
   evas_object_smart_callback_add(bt, "clicked", _bt_p1, sl);
428
   evas_object_show(bt);
429
   elm_box_pack_end(bx2, bt);
430

431
   bt = elm_button_add(win);
432
   elm_object_text_set(bt, "-0.1");
433
   evas_object_smart_callback_add(bt, "clicked", _bt_m1, sl);
434
   evas_object_show(bt);
435
   elm_box_pack_end(bx2, bt);
436

437
   fr = elm_frame_add(bx);
438
   elm_object_text_set(fr, "Range");
439
   evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
440
   elm_box_pack_end(bx, fr);
441
   evas_object_show(fr);
442

443
   bx3 = elm_box_add(fr);
444
   evas_object_size_hint_weight_set(bx3, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
445
   evas_object_show(bx3);
446
   elm_object_content_set(fr, bx3);
447

448
   //Disabled
449
   sl = elm_slider_add(bx3);
450
   elm_object_text_set(sl, "Disabled");
451
   elm_slider_unit_format_set(sl, "%1.1f units");
452
   elm_slider_span_size_set(sl, 120);
453
   elm_slider_min_max_set(sl, 50, 150);
454
   evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
455
   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
456
   elm_object_disabled_set(sl, EINA_TRUE);
457
   elm_slider_range_enabled_set(sl, EINA_TRUE);
458
   elm_slider_range_set(sl, 20, 100);
459
   elm_box_pack_end(bx3, sl);
460
   evas_object_show(sl);
461

462
   // horizontal slider with range
463
   sl = elm_slider_add(bx3);
464
   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
465
   elm_slider_indicator_show_set(sl, EINA_TRUE);
466
   elm_object_text_set(sl, "Horizontal");
467
   elm_slider_unit_format_set(sl, "%1.5f units");
468
   elm_slider_indicator_format_set(sl, "%1.5f");
469
   elm_slider_span_size_set(sl, 160);
470
   elm_slider_range_enabled_set(sl, EINA_TRUE);
471
   elm_slider_range_set(sl, 0.4, 0.9);
472
   elm_box_pack_end(bx3, sl);
473
   evas_object_show(sl);
474

475
   sl = elm_slider_add(bx3);
476
   elm_slider_unit_format_set(sl, "%1.0f units");
477
   elm_slider_indicator_format_set(sl, "%1.0f");
478
   elm_slider_span_size_set(sl, 120);
479
   elm_slider_min_max_set(sl, 0, 9);
480
   elm_object_text_set(sl, "Manual step");
481
   step = _step_size_calculate(0, 9);
482
   elm_slider_step_set(sl, step);
483
   evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
484
   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
485
   elm_slider_range_enabled_set(sl, EINA_TRUE);
486
   elm_box_pack_end(bx3, sl);
487
   evas_object_show(sl);
488

489
   sl = elm_slider_add(bx3);
490
   elm_slider_unit_format_set(sl, "%1.0f units");
491
   elm_slider_indicator_format_set(sl, "%1.0f");
492
   elm_slider_span_size_set(sl, 120);
493
   elm_slider_min_max_set(sl, 0, 100);
494
   elm_object_text_set(sl, "Show Indicator on Focus: ");
495
   step = _step_size_calculate(0, 9);
496
   elm_slider_step_set(sl, step);
497
   elm_slider_indicator_show_on_focus_set(sl, EINA_TRUE);
498
   evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
499
   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
500
   elm_slider_range_enabled_set(sl, EINA_TRUE);
501
   elm_box_pack_end(bx3, sl);
502
   evas_object_show(sl);
503

504
   // normal horizontal slider
505
   ic = elm_icon_add(bx3);
506
   snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
507
   elm_image_file_set(ic, buf, NULL);
508
   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
509

510
   sl = elm_slider_add(bx3);
511
   elm_object_text_set(sl, "Horizontal");
512
   elm_object_part_content_set(sl, "icon", ic);
513
   elm_slider_unit_format_set(sl, "%1.1f units");
514
   elm_slider_indicator_format_set(sl, "%1.1f");
515
   elm_slider_span_size_set(sl, 120);
516
   evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
517
   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
518
   elm_slider_range_enabled_set(sl, EINA_TRUE);
519
   elm_box_pack_end(bx3, sl);
520
   evas_object_show(sl);
521

522
   ic = elm_icon_add(bx3);
523
   snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
524
   elm_image_file_set(ic, buf, NULL);
525
   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
526

527
   sl = elm_slider_add(bx3);
528
   elm_object_text_set(sl, "Horizontal inverted");
529
   elm_object_part_content_set(sl, "end", ic);
530
   elm_slider_unit_format_set(sl, "%3.0f units");
531
   elm_slider_span_size_set(sl, 80);
532
   elm_slider_indicator_format_set(sl, "%3.0f");
533
   elm_slider_min_max_set(sl, 50, 150);
534
   elm_slider_inverted_set(sl, EINA_TRUE);
535
   evas_object_size_hint_align_set(sl, 0.5, 0.5);
536
   evas_object_size_hint_weight_set(sl, 0.0, 0.0);
537
   elm_slider_range_enabled_set(sl, EINA_TRUE);
538
   elm_box_pack_end(bx3, sl);
539
   evas_object_show(sl);
540

541
   ic = elm_icon_add(bx3);
542
   snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
543
   elm_image_file_set(ic, buf, NULL);
544
   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
545

546
   sl = elm_slider_add(bx3);
547
   elm_object_text_set(sl, "Disabled inverted");
548
   elm_object_part_content_set(sl, "end", ic);
549
   elm_slider_span_size_set(sl, 80);
550
   elm_slider_indicator_format_set(sl, "%3.0f");
551
   elm_slider_min_max_set(sl, 50, 150);
552
   elm_slider_inverted_set(sl, EINA_TRUE);
553
   elm_object_disabled_set(sl, EINA_TRUE);
554
   evas_object_size_hint_align_set(sl, 0.5, 0.5);
555
   evas_object_size_hint_weight_set(sl, 0.0, 0.0);
556
   elm_slider_range_enabled_set(sl, EINA_TRUE);
557
   elm_slider_inverted_set(sl, EINA_TRUE);
558
   elm_box_pack_end(bx3, sl);
559
   evas_object_show(sl);
560

561
   sl = elm_slider_add(bx3);
562
   elm_slider_indicator_show_set(sl, EINA_FALSE);
563
   elm_object_text_set(sl, "Scale doubled");
564
   elm_slider_unit_format_set(sl, "%3.0f units");
565
   elm_slider_span_size_set(sl, 40);
566
   evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
567
   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
568
   elm_slider_indicator_format_set(sl, "%3.0f");
569
   elm_slider_min_max_set(sl, 50, 150);
570
   elm_object_scale_set(sl, 2.0);
571
   elm_slider_range_enabled_set(sl, EINA_TRUE);
572
   elm_slider_range_set(sl, 100, 145);
573
   elm_box_pack_end(bx3, sl);
574
   evas_object_show(sl);
575

576
   //Vertical
577
   bx4 = elm_box_add(bx);
578
   evas_object_size_hint_weight_set(bx4, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
579
   evas_object_size_hint_align_set(bx4, 0.5, EVAS_HINT_FILL);
580
   elm_box_horizontal_set(bx4, EINA_TRUE);
581
   elm_box_pack_end(bx3, bx4);
582
   evas_object_show(bx4);
583

584
   sl = elm_slider_add(bx4);
585
   elm_slider_range_enabled_set(sl, EINA_TRUE);
586
   elm_slider_range_set(sl, 0.2, 0.9);
587
   elm_slider_horizontal_set(sl, EINA_FALSE);
588
   elm_object_text_set(sl, "Vertical");
589
   elm_slider_unit_format_set(sl, "%1.1f units");
590
   elm_slider_span_size_set(sl, 60);
591
   evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL);
592
   evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND);
593
   elm_slider_indicator_format_set(sl, "%1.1f");
594
   elm_object_scale_set(sl, 1.0);
595
   evas_object_smart_callback_add(sl, "changed", _change_range_print_cb, sl);
596
   elm_box_pack_end(bx4, sl);
597
   evas_object_show(sl);
598

599
   ic = elm_icon_add(bx4);
600
   snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
601
   elm_image_file_set(ic, buf, NULL);
602
   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_HORIZONTAL, 1, 1);
603
   evas_object_show(ic);
604

605
   sl = elm_slider_add(bx4);
606
   elm_slider_unit_format_set(sl, "%1.1f units");
607
   elm_object_text_set(sl, "Vertical inverted");
608
   elm_slider_inverted_set(sl, EINA_TRUE);
609
   elm_slider_span_size_set(sl, 60);
610
   evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL);
611
   evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND);
612
   elm_slider_indicator_format_set(sl, "%1.1f");
613
   elm_object_scale_set(sl, 1.0);
614
   elm_slider_horizontal_set(sl, EINA_FALSE);
615
   elm_slider_range_enabled_set(sl, EINA_TRUE);
616
   elm_box_pack_end(bx4, sl);
617
   evas_object_show(sl);
618
   elm_slider_min_max_set(sl, 50, 150);
619
   elm_slider_range_set(sl, 100, 130);
620

621
   ic = elm_icon_add(bx4);
622
   snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
623
   elm_image_file_set(ic, buf, NULL);
624
   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_HORIZONTAL, 1, 1);
625
   evas_object_show(ic);
626

627
   sl = elm_slider_add(bx4);
628
   elm_object_part_content_set(sl, "icon", ic);
629
   elm_object_text_set(sl, "Disabled vertical");
630
   elm_slider_inverted_set(sl, EINA_TRUE);
631
   elm_slider_unit_format_set(sl, "%1.1f units");
632
   elm_slider_span_size_set(sl, 100);
633
   evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL);
634
   evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND);
635
   elm_slider_indicator_format_set(sl, "%1.1f");
636
   elm_object_scale_set(sl, 1.0);
637
   elm_slider_horizontal_set(sl, EINA_FALSE);
638
   elm_object_disabled_set(sl, EINA_TRUE);
639
   elm_slider_range_enabled_set(sl, EINA_TRUE);
640
   elm_slider_range_set(sl, 0.2, 0.9);
641
   elm_box_pack_end(bx4, sl);
642
   evas_object_show(sl);
643

644
   // limited interval slider
645
   sl = elm_slider_add(bx);
646
   elm_object_text_set(sl, "Limited(100-500)");
647
   elm_slider_span_size_set(sl, 120);
648
   elm_slider_unit_format_set(sl, "%1.0f units");
649
   elm_slider_indicator_format_set(sl, "%1.0f");
650
   evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
651
   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
652
   elm_slider_range_enabled_set(sl, EINA_TRUE);
653
   elm_slider_min_max_set(sl, 0, 600);
654
   elm_slider_range_set(sl, 100, 500);
655
   elm_box_pack_end(bx, sl);
656
   evas_object_show(sl);
657
   evas_object_smart_callback_add(sl, "changed",
658
                                  _change_cb_range_slider, NULL);
659

660
   evas_object_show(win);
661
}
662

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.