seoz pushed a commit to branch master.
commit 7affed9e268a51f50d007ab50b358d94b9720a62
Author: Daniel Juyung Seo <[email protected]>
Date: Wed Jun 19 01:55:46 2013 +0900
naviframe_example.c: added very simple naviframe example.
---
src/examples/.gitignore | 1 +
src/examples/Makefile.am | 2 ++
src/examples/naviframe_example.c | 48 ++++++++++++++++++++++++++++++++++++++++
src/lib/elc_naviframe.h | 3 +++
4 files changed, 54 insertions(+)
diff --git a/src/examples/.gitignore b/src/examples/.gitignore
index 86d0dd0..2789245 100644
--- a/src/examples/.gitignore
+++ b/src/examples/.gitignore
@@ -60,6 +60,7 @@
/map_example_03
/mapbuf_example
/menu_example_01
+/naviframe_example
/notify_example_01
/panel_example_01
/panes_example
diff --git a/src/examples/Makefile.am b/src/examples/Makefile.am
index 432a57a..07b29de 100644
--- a/src/examples/Makefile.am
+++ b/src/examples/Makefile.am
@@ -114,6 +114,7 @@ map_example_02.c \
map_example_03.c \
mapbuf_example.c \
menu_example_01.c \
+naviframe_example.c \
notify_example_01.c \
panes_example.c \
panel_example_01.c \
@@ -252,6 +253,7 @@ map_example_02 \
map_example_03 \
mapbuf_example \
menu_example_01 \
+naviframe_example \
notify_example_01 \
panes_example \
panel_example_01 \
diff --git a/src/examples/naviframe_example.c b/src/examples/naviframe_example.c
new file mode 100644
index 0000000..081fce1
--- /dev/null
+++ b/src/examples/naviframe_example.c
@@ -0,0 +1,48 @@
+//Compile with:
+//gcc -g naviframe_example.c -o naviframe_example `pkg-config --cflags --libs
elementary`
+
+#include <Elementary.h>
+
+void
+_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ Evas_Object *nf = data, *btn;
+ if (!nf) return;
+
+ btn = elm_button_add(nf);
+ elm_object_text_set(btn, "Go to Second Page.");
+ evas_object_smart_callback_add(btn, "clicked", _btn_cb, nf);
+
+ elm_naviframe_item_push(nf, "Next Page", NULL, NULL, btn, NULL);
+}
+
+EAPI_MAIN int
+elm_main(int argc, char **argv)
+{
+ Evas_Object *win, *nf, *btn;
+
+ elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+
+ win = elm_win_util_standard_add("naviframe", "Naviframe");
+ elm_win_autodel_set(win, EINA_TRUE);
+ evas_object_resize(win, 400, 400);
+ evas_object_show(win);
+
+ nf = elm_naviframe_add(win);
+ evas_object_size_hint_weight_set(nf, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, nf);
+ evas_object_show(nf);
+
+ btn = elm_button_add(nf);
+ elm_object_text_set(btn, "Go to Second Page.");
+ evas_object_smart_callback_add(btn, "clicked", _btn_cb, nf);
+
+ elm_naviframe_item_push(nf, "First Page", NULL, NULL, btn, NULL);
+
+ elm_run();
+
+ elm_shutdown();
+
+ return 0;
+}
+ELM_MAIN()
diff --git a/src/lib/elc_naviframe.h b/src/lib/elc_naviframe.h
index 52171ec..4a03cd2 100644
--- a/src/lib/elc_naviframe.h
+++ b/src/lib/elc_naviframe.h
@@ -73,6 +73,9 @@
* What happens is that the topmost item of a naviframe will be the
* widget's target layout, when accessed directly. Items lying below
* the top one can be interacted with this way.
+ *
+ * Here is an example on its usage:
+ * @li @ref naviframe_example
*/
/**
--
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev