diff options
Diffstat (limited to 'autofoo-efl/src')
-rw-r--r-- | autofoo-efl/src/Makefile.am | 2 | ||||
-rw-r--r-- | autofoo-efl/src/bin/Makefile.am | 13 | ||||
-rw-r--r-- | autofoo-efl/src/bin/efl_hello_world.c | 57 |
3 files changed, 72 insertions, 0 deletions
diff --git a/autofoo-efl/src/Makefile.am b/autofoo-efl/src/Makefile.am new file mode 100644 index 0000000..ccfbf1a --- /dev/null +++ b/autofoo-efl/src/Makefile.am @@ -0,0 +1,2 @@ +MAINTAINERCLEANFILES = Makefile.in +SUBDIRS = bin diff --git a/autofoo-efl/src/bin/Makefile.am b/autofoo-efl/src/bin/Makefile.am new file mode 100644 index 0000000..643da6d --- /dev/null +++ b/autofoo-efl/src/bin/Makefile.am @@ -0,0 +1,13 @@ +MAINTAINERCLEANFILES = Makefile.in + +bin_PROGRAMS = efl_hello_world + +efl_hello_world_CPPFLAGS = -I. \ +-DPACKAGE_BIN_DIR=\"$(bindir)\" -DPACKAGE_LIB_DIR=\"$(libdir)\" \ +-DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" @AUTOFOO_EFL_CFLAGS@ + +efl_hello_world_LDADD = @AUTOFOO_EFL_LIBS@ + +efl_hello_world_SOURCES = \ +efl_hello_world.c + diff --git a/autofoo-efl/src/bin/efl_hello_world.c b/autofoo-efl/src/bin/efl_hello_world.c new file mode 100644 index 0000000..cc41806 --- /dev/null +++ b/autofoo-efl/src/bin/efl_hello_world.c @@ -0,0 +1,57 @@ +#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(); +} + +EAPI_MAIN int +elm_main(int argc, char **argv) +{ + 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; +} +ELM_MAIN() + |