summaryrefslogtreecommitdiffstats
path: root/autofoo-efl/src
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2012-09-08 00:26:51 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2012-09-08 00:26:51 +0200
commitea927b1bb808b11df21d5adda4b8232fd2a6d859 (patch)
tree2dadf38efe470b36079e0a8792d35919741919c7 /autofoo-efl/src
parentef4a9a658ef88934c1e9152d1d056cb95d0c2046 (diff)
downloadskeletons-ea927b1bb808b11df21d5adda4b8232fd2a6d859.zip
skeletons-ea927b1bb808b11df21d5adda4b8232fd2a6d859.tar.gz
add autofoo-efl first stepsHEADmaster
Diffstat (limited to 'autofoo-efl/src')
-rw-r--r--autofoo-efl/src/Makefile.am2
-rw-r--r--autofoo-efl/src/bin/Makefile.am13
-rw-r--r--autofoo-efl/src/bin/efl_hello_world.c57
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()
+