summaryrefslogtreecommitdiffstats
path: root/ecmake/lib/ecmake.c
blob: 715bfac4f22b6196f0e5daab56f8c2e9866333a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

#include "ecmake.h"
#include "config.h"

#include <Elementary.h>

static void
on_done(void *data, Evas_Object *obj, void *event_info)
{
   // quit the mainloop (elm_run function will return)
   elm_exit();
}

int
hello_world()
{
   Evas_Object *win, *box, *lab, *btn;

   // new window - do the usual and give it a name (hello) and title (Hello)
   win = elm_win_util_standard_add("hello", "Hello");
   // when the user clicks "close" on a window there is a request to delete
   evas_object_smart_callback_add(win, "delete,request", on_done, NULL);

   // add a box object - default is vertical. a box holds children in a row,
   // either horizontally or vertically. nothing more.
   box = elm_box_add(win);
   // make the box horizontal
   elm_box_horizontal_set(box, EINA_TRUE);
   // add object as a resize object for the window (controls window minimum
   // size as well as gets resized if window is resized)
   elm_win_resize_object_add(win, box);
   evas_object_show(box);

   // add a label widget, set the text and put it in the pad frame
   lab = elm_label_add(win);
   // set default text of the label
   elm_object_text_set(lab, "Hello out there world!");
   // pack the label at the end of the box
   elm_box_pack_end(box, lab);
   evas_object_show(lab);

   // add an ok button
   btn = elm_button_add(win);
   // set default text of button to "OK"
   elm_object_text_set(btn, "OK");
   // pack the button at the end of the box
   elm_box_pack_end(box, btn);
   evas_object_show(btn);
   // call on_done when button is clicked
   evas_object_smart_callback_add(btn, "clicked", on_done, NULL);

   // now we are done, show the window
   evas_object_show(win);

   // run the mainloop and process events and callbacks
  elm_run();
  elm_shutdown();
  return 0;
}