cxx: Added examples and tutorial for C++ binding
[platform/upstream/elementary.git] / src / examples / button_cxx_example_00.cc
1 #include <Elementary.hh>
2
3 EAPI_MAIN int
4 elm_main (int argc, char *argv[])
5 {
6    elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN);
7
8    ::elm::win_standard win;
9    win.title_set("Hello, World!");
10    win.autohide_set(true);
11
12    ::elm::bg bg(efl::eo::parent = win);
13    bg.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
14    win.resize_object_add(bg);
15    bg.visible_set(true);
16
17    ::elm::button btn(efl::eo::parent = win);
18    btn.text_set("elm.text","Good-Bye, World!");
19    btn.size_set(120, 30);
20    btn.position_set(60, 15);
21    btn.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
22    btn.size_hint_align_set(EVAS_HINT_FILL, EVAS_HINT_FILL);
23    btn.visible_set(true);
24
25    auto on_click = std::bind([] () { elm_exit(); });
26
27    btn.callback_clicked_add( on_click );
28
29    win.size_set(240, 60);
30    win.visible_set(true);
31
32    elm_run();
33    return 0;
34 }
35 ELM_MAIN()