1 #include <Elementary.hh>
4 elm_main (int argc, char *argv[])
6 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN);
8 ::elm::win win(elm_win_util_standard_add("slider", "Slider Example"));
9 win.autohide_set(true);
11 ::elm::box bx(efl::eo::parent = win);
12 bx.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
13 win.resize_object_add(bx);
16 ::elm::slider sl(efl::eo::parent = win);
17 sl.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
18 sl.size_hint_align_set(EVAS_HINT_FILL, 0.5);
22 ::elm::slider sl2(efl::eo::parent = win);
23 sl2.text_set("elm.text", "Counter");
24 ::elm::icon ic(efl::eo::parent = win);
25 ic.standard_set("home");
26 ic.resizable_set(false, false);
27 sl2.content_set("icon", ic);
29 ::elm::icon ic2(efl::eo::parent = win);
30 ic2.standard_set("folder");
31 ic2.resizable_set(false, false);
32 sl2.content_set("end", ic2);
34 sl2.size_hint_align_set(EVAS_HINT_FILL, 0.5);
35 sl2.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
37 sl2.visible_set(true);
39 ::elm::slider sl3(efl::eo::parent = win);
41 sl3.span_size_set(200);
42 sl3.size_hint_align_set(EVAS_HINT_FILL, 0.5);
43 sl3.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
45 sl3.visible_set(true);
47 ::elm::slider sl4(efl::eo::parent = win);
48 sl4.unit_format_set("%1.0f units");
49 sl4.min_max_set(0, 100);
50 sl4.size_hint_align_set(EVAS_HINT_FILL, 0.5);
51 sl4.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
53 sl4.visible_set(true);
55 ::elm::slider sl5(efl::eo::parent = win);
56 sl5.indicator_format_set("%1.2f");
57 sl5.inverted_set(true);
58 sl5.size_hint_align_set(EVAS_HINT_FILL, 0.5);
59 sl5.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
61 sl5.visible_set(true);
63 ::elm::slider sl6(efl::eo::parent = win);
64 sl6.horizontal_set(false);
66 auto indicator_format = [] (double val) {
67 char *indicator = new char[32];
68 snprintf(indicator, 32, "%1.2f u", val);
72 auto indicator_free = [] (char *obj) {delete obj;} ;
74 sl6.indicator_format_function_set(indicator_format, indicator_free);
76 sl6.size_hint_align_set(0.5, EVAS_HINT_FILL);
77 sl6.size_hint_weight_set(0, EVAS_HINT_EXPAND);
79 sl6.visible_set(true);
81 ::elm::slider sl7(efl::eo::parent = win);
82 sl7.unit_format_set("%1.3f units");
83 sl7.indicator_format_function_set(indicator_format, indicator_free);
84 sl7.size_hint_align_set(EVAS_HINT_FILL, 0.5);
85 sl7.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
87 sl7.visible_set(true);
89 auto changed = std::bind ( [] (::elm::slider obj)
91 double val = obj.value_get();
92 std::cout << "Changed to " << val << std::endl;
93 } , std::placeholders::_1 );
95 auto delay = std::bind ( [] (::elm::slider obj)
97 double val = obj.value_get();
98 std::cout << "Delay changed to " << val << std::endl;
99 } , std::placeholders::_1 );
101 sl7.callback_changed_add(changed);
102 sl7.callback_delay_changed_add(delay);
104 win.visible_set(true);