From: Hermet Park Date: Tue, 14 Jun 2016 06:23:35 +0000 (+0900) Subject: examples/c: split examples into separate files. X-Git-Tag: submit/tizen/20160617.075742~17 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f8f8204f29574bc6159e420cce871c4824410a7d;p=platform%2Fcore%2Fuifw%2Fui-viewmgr.git examples/c: split examples into separate files. This is a better example because it can prove our ui view manager goes well with independent view implementation. Change-Id: I4049f4cf10bcb5a9e449e6793585f8a9cef8ac92 --- diff --git a/src/examples/efl/c/CMakeLists.txt b/src/examples/efl/c/CMakeLists.txt index d287512..f4a31ae 100644 --- a/src/examples/efl/c/CMakeLists.txt +++ b/src/examples/efl/c/CMakeLists.txt @@ -1,5 +1,22 @@ SET(SRCS main.cpp + contents.cpp + page1.cpp + page2.cpp + page3.cpp + page4.cpp + page5.cpp + page6.cpp + page7.cpp + page8.cpp + page9.cpp + page10.cpp + page11.cpp + page12.cpp + page13.cpp + page14.cpp + page15.cpp + page16.cpp ) ADD_EXECUTABLE(${BINNAME} ${SRCS}) diff --git a/src/examples/efl/c/contents.cpp b/src/examples/efl/c/contents.cpp new file mode 100644 index 0000000..f4e4de6 --- /dev/null +++ b/src/examples/efl/c/contents.cpp @@ -0,0 +1,265 @@ +#include "main.h" + +Evas_Object* +create_landscape_content(Evas_Object *parent, const char *text, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb) +{ + char buf[PATH_MAX]; + Elm_Grid *grid; + Elm_Box *box; + Elm_Layout *layout; + Elm_Scroller *scroller; + Elm_Button *btn; + Elm_Image *image; + + /* Scroller */ + scroller = elm_scroller_add(parent); + elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE); + elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); + + /* Grid */ + grid = elm_grid_add(scroller); + evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(grid); + + /* NoContent Layout */ + layout = elm_layout_add(grid); + elm_layout_theme_set(layout, "layout", "nocontents", "default"); + elm_object_part_text_set(layout, "elm.text", text); + evas_object_show(layout); + elm_grid_pack(grid, layout, 0, 0, 50, 100); + + /* Image */ + image = elm_image_add(grid); + snprintf(buf, sizeof(buf), "%s/data/images/tizen.png", BINDIR); + elm_image_file_set(image, buf, NULL); + evas_object_show(image); + elm_grid_pack(grid, image, 50, 0, 50, 85); + + /* Box */ + box = elm_box_add(grid); + elm_box_horizontal_set(box, EINA_TRUE); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_box_padding_set(box, ELM_SCALE_SIZE(50), 0); + evas_object_show(box); + elm_grid_pack(grid, box, 0, 0, 100, 100); + + /* Previous Page Button */ + btn = elm_button_add(grid); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); + elm_object_text_set(btn, "Prev"); + evas_object_smart_callback_add(btn, "clicked", prev_btn_clicked_cb, NULL); + evas_object_show(btn); + elm_box_pack_end(box, btn); + + /* Next Page Button */ + btn = elm_button_add(grid); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); + elm_object_text_set(btn, "Next"); + evas_object_smart_callback_add(btn, "clicked", next_btn_clicked_cb, NULL); + evas_object_show(btn); + elm_box_pack_end(box, btn); + + elm_object_content_set(scroller, grid); + + return scroller; +} + + +Evas_Object* +create_title_handle_content(Evas_Object *parent, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb, + Evas_Smart_Cb title_show_btn_clicked_cb, Evas_Smart_Cb title_hide_btn_clicked_cb, + Evas_Smart_Cb title_show_anim_btn_clicked_cb, Evas_Smart_Cb title_hide_anim_btn_clicked_cb, ui_view *view) +{ + Elm_Grid *grid; + Elm_Box *box; + Elm_Layout *layout; + Elm_Button *btn; + + /* Grid */ + grid = elm_grid_add(parent); + evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(grid); + + /* NoContent Layout */ + layout = elm_layout_add(grid); + elm_layout_theme_set(layout, "layout", "nocontents", "default"); + elm_object_part_text_set(layout, "elm.text", NULL); + evas_object_show(layout); + elm_grid_pack(grid, layout, 0, 0, 100, 100); + + /* Box */ + box = elm_box_add(grid); + //elm_box_horizontal_set(box, EINA_TRUE); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); + //elm_box_padding_set(box, ELM_SCALE_SIZE(50), 0); + evas_object_show(box); + elm_grid_pack(grid, box, 25, 15, 50, 50); + + /* Title Show Button */ + btn = elm_button_add(grid); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); + elm_object_text_set(btn, "Title Show"); + evas_object_smart_callback_add(btn, "clicked", title_show_btn_clicked_cb, view); + evas_object_show(btn); + elm_box_pack_end(box, btn); + + /* Title Hide Button */ + btn = elm_button_add(grid); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); + elm_object_text_set(btn, "Title Hide"); + evas_object_smart_callback_add(btn, "clicked", title_hide_btn_clicked_cb, view); + evas_object_show(btn); + elm_box_pack_end(box, btn); + + /* Title Show Anim Button */ + btn = elm_button_add(grid); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); + elm_object_text_set(btn, "Title Show Anim"); + evas_object_smart_callback_add(btn, "clicked", title_show_anim_btn_clicked_cb, view); + evas_object_show(btn); + elm_box_pack_end(box, btn); + + /* Title Hide Anim Button */ + btn = elm_button_add(grid); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); + elm_object_text_set(btn, "Title Hide Anim"); + evas_object_smart_callback_add(btn, "clicked", title_hide_anim_btn_clicked_cb, view); + evas_object_show(btn); + elm_box_pack_end(box, btn); + + /* Box */ + box = elm_box_add(grid); + elm_box_horizontal_set(box, EINA_TRUE); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 1.0); + elm_box_padding_set(box, ELM_SCALE_SIZE(50), 0); + evas_object_show(box); + elm_grid_pack(grid, box, 0, 0, 100, 100); + + /* Previous Page Button */ + btn = elm_button_add(grid); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); + elm_object_text_set(btn, "Prev"); + evas_object_smart_callback_add(btn, "clicked", prev_btn_clicked_cb, NULL); + evas_object_show(btn); + elm_box_pack_end(box, btn); + + /* Next Page Button */ + btn = elm_button_add(grid); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); + elm_object_text_set(btn, "Next"); + evas_object_smart_callback_add(btn, "clicked", next_btn_clicked_cb, NULL); + evas_object_show(btn); + elm_box_pack_end(box, btn); + + return grid; +} + +Evas_Object* +create_content(Evas_Object *parent, const char *text, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb) +{ + Elm_Grid *grid; + Elm_Box *box; + Elm_Layout *layout; + Elm_Scroller *scroller; + Elm_Button *btn; + + /* Scroller */ + scroller = elm_scroller_add(parent); + elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE); + elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); + + /* Grid */ + grid = elm_grid_add(scroller); + evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(grid); + + /* NoContent Layout */ + layout = elm_layout_add(grid); + elm_layout_theme_set(layout, "layout", "nocontents", "default"); + elm_object_part_text_set(layout, "elm.text", text); + evas_object_show(layout); + elm_grid_pack(grid, layout, 0, 0, 100, 100); + + /* Box */ + box = elm_box_add(grid); + elm_box_horizontal_set(box, EINA_TRUE); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_box_padding_set(box, ELM_SCALE_SIZE(50), 0); + evas_object_show(box); + elm_grid_pack(grid, box, 0, 0, 100, 100); + + /* Previous Page Button */ + btn = elm_button_add(grid); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); + elm_object_text_set(btn, "Prev"); + evas_object_smart_callback_add(btn, "clicked", prev_btn_clicked_cb, NULL); + evas_object_show(btn); + elm_box_pack_end(box, btn); + + /* Next Page Button */ + btn = elm_button_add(grid); + evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); + elm_object_text_set(btn, "Next"); + evas_object_smart_callback_add(btn, "clicked", next_btn_clicked_cb, NULL); + evas_object_show(btn); + elm_box_pack_end(box, btn); + + elm_object_content_set(scroller, grid); + + return scroller; +} + +Evas_Object* +create_scrolling_content(Evas_Object *parent) +{ + char buf[PATH_MAX]; + Elm_Image *image; + + /* Image */ + image = elm_image_add(parent); + snprintf(buf, sizeof(buf), "%s/data/images/bg.png", BINDIR); + elm_image_file_set(image, buf, NULL); + elm_image_resizable_set(image, EINA_FALSE, EINA_FALSE); + evas_object_show(image); + + return image; +} + +Elm_Toolbar* +create_toolbar(Evas_Object *parent, const char *style) +{ + Elm_Toolbar *toolbar; + + toolbar = elm_toolbar_add(parent); + + //FIXME: :( UI_View can set this style instead. + elm_object_style_set(toolbar, style); + + //FIXME: If not call below API, toolbar items create with min size. + // It looks toolbar bug. + elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); + + elm_toolbar_item_append(toolbar, NULL, "Tab1", NULL, NULL); + elm_toolbar_item_append(toolbar, NULL, "Tab2", NULL, NULL); + elm_toolbar_item_append(toolbar, NULL, "Tab3", NULL, NULL); + elm_toolbar_item_append(toolbar, NULL, "Tab4", NULL, NULL); + + return toolbar; +} diff --git a/src/examples/efl/c/main.c b/src/examples/efl/c/main.c deleted file mode 100644 index fc38df4..0000000 --- a/src/examples/efl/c/main.c +++ /dev/null @@ -1,1212 +0,0 @@ -/* - * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -#include "main.h" - -Evas_Object* -create_landscape_content(Evas_Object *parent, const char *text, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb) -{ - char buf[PATH_MAX]; - Elm_Grid *grid; - Elm_Box *box; - Elm_Layout *layout; - Elm_Scroller *scroller; - Elm_Button *btn; - Elm_Image *image; - - /* Scroller */ - scroller = elm_scroller_add(parent); - elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE); - elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); - - /* Grid */ - grid = elm_grid_add(scroller); - evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(grid); - - /* NoContent Layout */ - layout = elm_layout_add(grid); - elm_layout_theme_set(layout, "layout", "nocontents", "default"); - elm_object_part_text_set(layout, "elm.text", text); - evas_object_show(layout); - elm_grid_pack(grid, layout, 0, 0, 50, 100); - - /* Image */ - image = elm_image_add(grid); - snprintf(buf, sizeof(buf), "%s/data/images/tizen.png", BINDIR); - elm_image_file_set(image, buf, NULL); - evas_object_show(image); - elm_grid_pack(grid, image, 50, 0, 50, 85); - - /* Box */ - box = elm_box_add(grid); - elm_box_horizontal_set(box, EINA_TRUE); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_padding_set(box, ELM_SCALE_SIZE(50), 0); - evas_object_show(box); - elm_grid_pack(grid, box, 0, 0, 100, 100); - - /* Previous Page Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Prev"); - evas_object_smart_callback_add(btn, "clicked", prev_btn_clicked_cb, NULL); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - /* Next Page Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Next"); - evas_object_smart_callback_add(btn, "clicked", next_btn_clicked_cb, NULL); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - elm_object_content_set(scroller, grid); - - return scroller; -} - -Evas_Object* -create_title_handle_content(Evas_Object *parent, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb, - Evas_Smart_Cb title_show_btn_clicked_cb, Evas_Smart_Cb title_hide_btn_clicked_cb, - Evas_Smart_Cb title_show_anim_btn_clicked_cb, Evas_Smart_Cb title_hide_anim_btn_clicked_cb, ui_view *view) -{ - Elm_Grid *grid; - Elm_Box *box; - Elm_Layout *layout; - Elm_Button *btn; - - /* Grid */ - grid = elm_grid_add(parent); - evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(grid); - - /* NoContent Layout */ - layout = elm_layout_add(grid); - elm_layout_theme_set(layout, "layout", "nocontents", "default"); - elm_object_part_text_set(layout, "elm.text", NULL); - evas_object_show(layout); - elm_grid_pack(grid, layout, 0, 0, 100, 100); - - /* Box */ - box = elm_box_add(grid); - //elm_box_horizontal_set(box, EINA_TRUE); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); - //elm_box_padding_set(box, ELM_SCALE_SIZE(50), 0); - evas_object_show(box); - elm_grid_pack(grid, box, 25, 15, 50, 50); - - /* Title Show Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Title Show"); - evas_object_smart_callback_add(btn, "clicked", title_show_btn_clicked_cb, view); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - /* Title Hide Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Title Hide"); - evas_object_smart_callback_add(btn, "clicked", title_hide_btn_clicked_cb, view); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - /* Title Show Anim Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Title Show Anim"); - evas_object_smart_callback_add(btn, "clicked", title_show_anim_btn_clicked_cb, view); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - /* Title Hide Anim Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Title Hide Anim"); - evas_object_smart_callback_add(btn, "clicked", title_hide_anim_btn_clicked_cb, view); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - /* Box */ - box = elm_box_add(grid); - elm_box_horizontal_set(box, EINA_TRUE); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 1.0); - elm_box_padding_set(box, ELM_SCALE_SIZE(50), 0); - evas_object_show(box); - elm_grid_pack(grid, box, 0, 0, 100, 100); - - /* Previous Page Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Prev"); - evas_object_smart_callback_add(btn, "clicked", prev_btn_clicked_cb, NULL); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - /* Next Page Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Next"); - evas_object_smart_callback_add(btn, "clicked", next_btn_clicked_cb, NULL); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - return grid; -} - -Evas_Object* -create_scrolling_content(Evas_Object *parent) -{ - char buf[PATH_MAX]; - Elm_Image *image; - - /* Image */ - image = elm_image_add(parent); - snprintf(buf, sizeof(buf), "%s/data/images/bg.png", BINDIR); - elm_image_file_set(image, buf, NULL); - elm_image_resizable_set(image, EINA_FALSE, EINA_FALSE); - evas_object_show(image); - - return image; -} - -Evas_Object* -create_content(Evas_Object *parent, const char *text, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb) -{ - Elm_Grid *grid; - Elm_Box *box; - Elm_Layout *layout; - Elm_Scroller *scroller; - Elm_Button *btn; - - /* Scroller */ - scroller = elm_scroller_add(parent); - elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE); - elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); - - /* Grid */ - grid = elm_grid_add(scroller); - evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(grid); - - /* NoContent Layout */ - layout = elm_layout_add(grid); - elm_layout_theme_set(layout, "layout", "nocontents", "default"); - elm_object_part_text_set(layout, "elm.text", text); - evas_object_show(layout); - elm_grid_pack(grid, layout, 0, 0, 100, 100); - - /* Box */ - box = elm_box_add(grid); - elm_box_horizontal_set(box, EINA_TRUE); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_padding_set(box, ELM_SCALE_SIZE(50), 0); - evas_object_show(box); - elm_grid_pack(grid, box, 0, 0, 100, 100); - - /* Previous Page Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Prev"); - evas_object_smart_callback_add(btn, "clicked", prev_btn_clicked_cb, NULL); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - /* Next Page Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Next"); - evas_object_smart_callback_add(btn, "clicked", next_btn_clicked_cb, NULL); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - elm_object_content_set(scroller, grid); - - return scroller; -} - -Elm_Toolbar* -create_toolbar(Evas_Object *parent, const char *style) -{ - Elm_Toolbar *toolbar; - - toolbar = elm_toolbar_add(parent); - - //FIXME: :( UI_View can set this style instead. - elm_object_style_set(toolbar, style); - - //FIXME: If not call below API, toolbar items create with min size. - // It looks toolbar bug. - elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); - - elm_toolbar_item_append(toolbar, NULL, "Tab1", NULL, NULL); - elm_toolbar_item_append(toolbar, NULL, "Tab2", NULL, NULL); - elm_toolbar_item_append(toolbar, NULL, "Tab3", NULL, NULL); - elm_toolbar_item_append(toolbar, NULL, "Tab4", NULL, NULL); - - return toolbar; -} - -//================================================================================= -//================================== View 16 ====================================== -//================================================================================= - -static void -view16_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view16_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_DEACTIVATE(); -} - -static void -view16_title_show_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - ui_view *view = data; - ui_standard_view_title_visible_set(view, true, false); -} - -static void -view16_title_hide_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - ui_view *view = data; - ui_standard_view_title_visible_set(view, false, false); -} - -static void -view16_title_show_anim_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - ui_view *view = data; - ui_standard_view_title_visible_set(view, true, true); -} - -static void -view16_title_hide_anim_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - ui_view *view = data; - ui_standard_view_title_visible_set(view, false, true); -} - -static void -view16_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_title_handle_content(this->get_base(), - view16_prev_btn_clicked_cb, view16_next_btn_clicked_cb, - view16_title_show_btn_clicked_cb, view16_title_hide_btn_clicked_cb, - view16_title_show_anim_btn_clicked_cb, view16_title_hide_anim_btn_clicked_cb, view); - - ui_standard_view_content_set(view, content, "Page16", NULL, NULL); -} - -static void -create_page16() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view16_load_cb; - - ui_view *view = ui_standard_view_create("page16"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================= -//================================== View 15 ====================================== -//================================================================================= - -static void -view15_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page16(); -} - -static void -view15_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_scrolling_content(base_layout); - - ui_standard_view_content_set(view, content, "Page 15 Scroller In Viewmgr", NULL, NULL); - - //Title Right button - Elm_Button *right_btn = elm_button_add(this->get_base()); - elm_object_text_set(right_btn, "Next"); - evas_object_smart_callback_add(right_btn, "clicked", view15_btn_clicked_cb, NULL); - - ui_standard_view_title_right_btn_set(view, right_btn); -} - -static void -create_page15() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view15_load_cb; - - ui_view *view = ui_standard_view_create("page15"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================= -//================================== View 14 ====================================== -//================================================================================= - -static void -view14_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view14_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page15(); -} - -static void -view14_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
None Transition", - view14_prev_btn_clicked_cb, view14_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page14", NULL, NULL); -} - -static void -create_page14() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view14_load_cb; - - ui_view *view = ui_standard_view_create("page14"); - ui_view_transition_style_set(view, "none"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================= -//================================== View 13 ====================================== -//================================================================================= - -static void -view13_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view13_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page14(); -} - -static void -view13_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Fade Transition", - view13_prev_btn_clicked_cb, view13_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page13", NULL, NULL); -} - -static void -create_page13() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view13_load_cb; - - ui_view *view = ui_standard_view_create("page13"); - ui_view_transition_style_set(view, "fade"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================= -//================================== View 12 ====================================== -//================================================================================= - -static void -view12_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view12_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page13(); -} - -static void -popup_block_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - elm_poopup_dismiss(obj); -} - -static void -popup_timeout_cb(void *data, Evas_Object *obj, void *event_info) -{ - elm_poopup_dismiss(obj); -} -static void -popup_dismissed_cb(void *data, Evas_Object *obj, void *event_info) -{ - //FIXME: remove dismissed callback because this callback is called twice. - //It seems this is an efl or popup error, not this ui_popup nor example. - evas_object_smart_callback_del(obj, "dismissed", popup_dismissed_cb); - ui_popup *popup = data; - - //Is It right? - ui_popup_del(popup); -} - -static void -view12_btn_clicked(void *data, Evas_Object *obj, void *event_info) -{ - ui_view *view = data; - - //Create popup. - //FIXME: is overlay a proper name? - ui_popup *popup = ui_popup_create(view); - - Elm_Popup *obj = elm_popup_add(ui_view_base_get(view)); - elm_object_text_set(obj, "This popup has only text which is set via desc set function, (This popup gets hidden when user clicks outside) here timeout of 3 sec is set."); - elm_popup_timeout_set(obj, 3.0); - evas_object_smart_callback_add(obj, "dismissed", popup_dismissed_cb, popup); - evas_object_smart_callback_add(obj, "block,clicked", popup_block_clicked_cb. NULL); - evas_object_smart_callback_add(obj, "timeout", popup_timeout_cb, NULL); - - ui_popup_content_set(popup, obj); - ui_popup_activate(popup); -} - -static void -view12_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Popup", - view12_prev_btn_clicked_cb, view12_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page12", NULL, NULL); - - //Title Right button - Elm_Button *right_btn = elm_button_add(base_layout); - elm_object_text_set(right_btn, "popup"); - evas_object_smart_callback_add(right_btn, "clicked", view12_btn_clicked, view); - - ui_standard_view_title_right_btn_set(view, right_btn); -} - -static void -create_page12() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - lifecycle_callback.load = view12_load_cb; - - ui_view *view = ui_standard_view_create("page12"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================= -//================================== View 11 ====================================== -//================================================================================= - - -static void -view11_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view11_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page12(); -} - -static void -view11_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Menu Popup", - view11_prev_btn_clicked_cb, view11_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page11", NULL, NULL); -} - -static void ctxpopup_item_select_cb(void *data, Evas_Object *obj, void *event_info) -{ - Elm_Object_Item *it = event_info; - elm_ctxpopup_dismiss(obj); - LOGE("Item (%s) is selected", elm_object_item_text_get(it)); -} - -static void -view11_menu_cb(ui_menu *menu, void *data) -{ - Elm_Ctxpopup *ctxpopup = elm_ctxpopup_add(menu->get_base()); - elm_ctxpopup_item_append(ctxpopup, "Phone calls", NULL, ctxpopup_item_select_cb, this); - elm_ctxpopup_item_append(ctxpopup, "Favorites", NULL, ctxpopup_item_select_cb, this); - elm_ctxpopup_item_append(ctxpopup, "Search", NULL, ctxpopup_item_select_cb, this); - elm_ctxpopup_item_append(ctxpopup, "Dialer", NULL, ctxpopup_item_select_cb, this); - elm_ctxpopup_item_append(ctxpopup, "Add contact", NULL, ctxpopup_item_select_cb, this); - elm_ctxpopup_item_append(ctxpopup, "Phone calls", NULL, ctxpopup_item_select_cb, this); - elm_ctxpopup_item_append(ctxpopup, "Favorites", NULL, ctxpopup_item_select_cb, this); - elm_ctxpopup_item_append(ctxpopup, "Search", NULL, ctxpopup_item_select_cb, this); - elm_ctxpopup_item_append(ctxpopup, "Dialer", NULL, ctxpopup_item_select_cb, this); - - ui_menu_content_set(menu, ctxpopup); -} - -static void -create_page11() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view11_load_cb; - event_callback.menu = view11_menu_cb; - - ui_view *view = ui_standard_view_create("page11"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - int ret = ui_view_event_callbacks_set(view, &event_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================= -//================================== View 10 ====================================== -//================================================================================= - -static void -view10_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view10_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page11(); -} - -static void -view10_rotate_cb(ui_view *view, int degree, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - if (degree == 0 || degree == 180) - { - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Rotation", - view10_prev_btn_clicked_cb, view10_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page10", NULL, NULL); - ui_view_indicator_set(view, UI_VIEW_INDICATOR_DEFAULT); - } - else - { - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Rotation", - view10_prev_btn_clicked_cb, view10_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page10", NULL. NULL); - ui_view_indicator_set(view, UI_VIEW_INDICATOR_OPTIMAL); - } -} - -static void -view10_load_cb(ui_view *view, void *data) -{ - view10_rotate_cb(view, data); -} - -static void -create_page10() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - ui_view_event_callback_s event_callback = {0, }; - - lifecycle_callback.load = view10_load_cb; - event_callback.rotate = view10_rotate_cb; - - ui_view *view = ui_standard_view_create("page10"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - int ret = ui_view_event_callbacks_set(view, &event_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 9 ====================================== -//================================================================================ - -static void -view9_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view9_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page10(); -} - -static void -view9_portrait_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Portrait/Landscape", - view9_prev_btn_clicked_cb, view9_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page9", NULL, NULL); - ui_view_indicator_set(view, UI_VIEW_INDICATOR_DEFAULT); -} - -static void -view9_landscape_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Portrait/Landscape", - view9_prev_btn_clicked_cb, view9_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page9", NULL, NULL); - ui_view_indicator_set(view, UI_VIEW_INDICATOR_OPTIMAL); -} - -static void -view9_load_cb(ui_view *view, void *data) -{ - if (ui_view_degree_get(view) == 90 || ui_view_degree_get(view) == 270) - view9_landscape_cb(view, data); - else - view9_portrait_cb(view, data); -} - -static void -create_page9() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - ui_view_event_callback_s event_callback = {0, }; - - lifecycle_callback.load = view9_load_cb; - - event_callback.portrait = view9_portrait_cb; - event_callback.landscape = view9_landscape_cb; - - ui_view *view = ui_standard_view_create("page9"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - int ret = ui_view_event_callbacks_set(view, &event_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 8 ====================================== -//================================================================================ - -static void -view8_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view8_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page9(); -} - -static void -create_page8() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - ui_view *view = ui_standard_view_create("page7"); - - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Content Preload", - view8_prev_btn_clicked_cb, view8_next_btn_clicked_cb); - - ui_view_removable_content(view, false); - ui_standard_view_content_set(view, content, "Page7", NULL, NULL); - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 7 ====================================== -//================================================================================ - -static void -view7_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view7_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page8(); -} - -static void -view7_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Navigationbarr", - view7_prev_btn_clicked_cb, view7_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page7", NULL, NULL); - Elm_Toolbar *toolbar = create_toolbar(base_layout, "navigarionbar"); - ui_standard_view_toolbar_set(view, toolbar); -} - -static void -create_page7() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view7_load_cb; - - ui_view *view = ui_standard_view_create("page7"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 6 ====================================== -//================================================================================ - -static void -view6_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view6_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page7(); -} - -static void -view6_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Toolbar", - view6_prev_btn_clicked_cb, view6_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page6", NULL, NULL); - Elm_Toolbar *toolbar = create_toolbar(base_layout, "toolbar_with_title"); - ui_standard_view_toolbar_set(view, toolbar); -} - -static void -create_page6() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - lifecycle_callback.load = view6_load_cb; - - ui_view *view = ui_standard_view_create("page6"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 5 ====================================== -//================================================================================ - -static void -view5_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view5_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page6(); -} - -static void -view5_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Full View", - view5_prev_btn_clicked_cb, view5_next_btn_clicked_cb); - - ui_view_content_set(view, content); - ui_view_indicator_set(view, UI_VIEW_INDICATOR_HIDE); -} - -static void -create_page5() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view5_load_cb; - - ui_view *view = ui_view_create("page5"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 4 ====================================== -//================================================================================ - -static void -view4_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view4_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page5(); -} - -static void -view4_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Title Badge", - view4_prev_btn_clicked_cb, view4_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page4 We put a long title here intentionally", NULL, NULL); - ui_standard_view_title_badge_set(view, "999+"); -} - -static void -create_page4() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - lifecycle_callback.load = view4_load_cb; - - ui_view *view = ui_standard_view_create("page4"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 3 ====================================== -//================================================================================ - -static void -view3_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view3_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page4(); -} - -static void -view3_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Subtitle", - view3_prev_btn_clicked_cb, view3_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page3", "Subtitle", NULL, NULL); -} - -static void -create_page3() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view3_load_cb; - - ui_view *view = ui_standard_view_create("page3"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 2 ====================================== -//================================================================================ - -static void -view2_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view2_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page3(); -} - -static void -view2_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Title Buttons", - view2_prev_btn_clicked_cb, view2_next_btn_clicked_cb); - - //Title left button - Elm_Button *left_title_btn = elm_button_add(this->get_base()); - elm_object_text_set(left_title_btn, "Cancel"); - - //Title right button - Elm_Button *right_title_btn = elm_button_add(this->get_base()); - elm_object_text_set(right_title_btn, "Done"); - - ui_standard_view_content_set(view, content, "Page2", NULL, left_title_btn, right_title_btn); -} - -static void -create_page2() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view2_load_cb; - - ui_view *view = ui_standard_view_create("page2"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 1 ====================================== -//================================================================================ - -static void -view1_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_DEACTIVATE(); -} - -static void -view1_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page2(); -} - -static void -view1_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Page 1", - view1_prev_btn_clicked_cb, view1_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page1", NULL, NULL, NULL); -} - -static void -create_page1() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view1_load_cb; - - ui_view *view = ui_standard_view_create("page1"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -static bool -app_create(void *data) -{ - create_page1(); - - return true; -} - -int -main(int argc, char *argv[]) -{ - appdata_s ad = {0,}; - int ret; - - ui_app_lifecycle_callback_s event_callback = {0,}; - - event_callback.create = app_create; - event_callback.terminate = app_terminate; - event_callback.pause = app_pause; - event_callback.resume = app_resume; - event_callback.app_control = app_control; - - ret = ui_app_init(PACKAGE, LOCALE_DIR); - if (ret != 0) - { - //TODO - return ret; - } - - app_event_handler_h handlers[5] = {NULL, }; - - ui_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, ui_app_low_battery, &ad); - ui_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, ui_app_low_memory, &ad); - ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, ui_app_orient_changed, &ad); - ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, ui_app_lang_changed, &ad); - ui_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, ui_app_region_changed, &ad) - - - return ui_app_run(argc, argv, &event_callback, &ad); -} diff --git a/src/examples/efl/c/main.cpp b/src/examples/efl/c/main.cpp index e4e17d0..5962062 100644 --- a/src/examples/efl/c/main.cpp +++ b/src/examples/efl/c/main.cpp @@ -1,1203 +1,5 @@ -//This is to check CAPIs. #include "main.h" -Evas_Object* -create_landscape_content(Evas_Object *parent, const char *text, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb) -{ - char buf[PATH_MAX]; - Elm_Grid *grid; - Elm_Box *box; - Elm_Layout *layout; - Elm_Scroller *scroller; - Elm_Button *btn; - Elm_Image *image; - - /* Scroller */ - scroller = elm_scroller_add(parent); - elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE); - elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); - - /* Grid */ - grid = elm_grid_add(scroller); - evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(grid); - - /* NoContent Layout */ - layout = elm_layout_add(grid); - elm_layout_theme_set(layout, "layout", "nocontents", "default"); - elm_object_part_text_set(layout, "elm.text", text); - evas_object_show(layout); - elm_grid_pack(grid, layout, 0, 0, 50, 100); - - /* Image */ - image = elm_image_add(grid); - snprintf(buf, sizeof(buf), "%s/data/images/tizen.png", BINDIR); - elm_image_file_set(image, buf, NULL); - evas_object_show(image); - elm_grid_pack(grid, image, 50, 0, 50, 85); - - /* Box */ - box = elm_box_add(grid); - elm_box_horizontal_set(box, EINA_TRUE); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_padding_set(box, ELM_SCALE_SIZE(50), 0); - evas_object_show(box); - elm_grid_pack(grid, box, 0, 0, 100, 100); - - /* Previous Page Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Prev"); - evas_object_smart_callback_add(btn, "clicked", prev_btn_clicked_cb, NULL); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - /* Next Page Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Next"); - evas_object_smart_callback_add(btn, "clicked", next_btn_clicked_cb, NULL); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - elm_object_content_set(scroller, grid); - - return scroller; -} - - -Evas_Object* -create_title_handle_content(Evas_Object *parent, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb, - Evas_Smart_Cb title_show_btn_clicked_cb, Evas_Smart_Cb title_hide_btn_clicked_cb, - Evas_Smart_Cb title_show_anim_btn_clicked_cb, Evas_Smart_Cb title_hide_anim_btn_clicked_cb, ui_view *view) -{ - Elm_Grid *grid; - Elm_Box *box; - Elm_Layout *layout; - Elm_Button *btn; - - /* Grid */ - grid = elm_grid_add(parent); - evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(grid); - - /* NoContent Layout */ - layout = elm_layout_add(grid); - elm_layout_theme_set(layout, "layout", "nocontents", "default"); - elm_object_part_text_set(layout, "elm.text", NULL); - evas_object_show(layout); - elm_grid_pack(grid, layout, 0, 0, 100, 100); - - /* Box */ - box = elm_box_add(grid); - //elm_box_horizontal_set(box, EINA_TRUE); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); - //elm_box_padding_set(box, ELM_SCALE_SIZE(50), 0); - evas_object_show(box); - elm_grid_pack(grid, box, 25, 15, 50, 50); - - /* Title Show Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Title Show"); - evas_object_smart_callback_add(btn, "clicked", title_show_btn_clicked_cb, view); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - /* Title Hide Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Title Hide"); - evas_object_smart_callback_add(btn, "clicked", title_hide_btn_clicked_cb, view); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - /* Title Show Anim Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Title Show Anim"); - evas_object_smart_callback_add(btn, "clicked", title_show_anim_btn_clicked_cb, view); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - /* Title Hide Anim Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Title Hide Anim"); - evas_object_smart_callback_add(btn, "clicked", title_hide_anim_btn_clicked_cb, view); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - /* Box */ - box = elm_box_add(grid); - elm_box_horizontal_set(box, EINA_TRUE); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 1.0); - elm_box_padding_set(box, ELM_SCALE_SIZE(50), 0); - evas_object_show(box); - elm_grid_pack(grid, box, 0, 0, 100, 100); - - /* Previous Page Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Prev"); - evas_object_smart_callback_add(btn, "clicked", prev_btn_clicked_cb, NULL); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - /* Next Page Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Next"); - evas_object_smart_callback_add(btn, "clicked", next_btn_clicked_cb, NULL); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - return grid; -} - -Evas_Object* -create_content(Evas_Object *parent, const char *text, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb) -{ - Elm_Grid *grid; - Elm_Box *box; - Elm_Layout *layout; - Elm_Scroller *scroller; - Elm_Button *btn; - - /* Scroller */ - scroller = elm_scroller_add(parent); - elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE); - elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); - - /* Grid */ - grid = elm_grid_add(scroller); - evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(grid); - - /* NoContent Layout */ - layout = elm_layout_add(grid); - elm_layout_theme_set(layout, "layout", "nocontents", "default"); - elm_object_part_text_set(layout, "elm.text", text); - evas_object_show(layout); - elm_grid_pack(grid, layout, 0, 0, 100, 100); - - /* Box */ - box = elm_box_add(grid); - elm_box_horizontal_set(box, EINA_TRUE); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_padding_set(box, ELM_SCALE_SIZE(50), 0); - evas_object_show(box); - elm_grid_pack(grid, box, 0, 0, 100, 100); - - /* Previous Page Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Prev"); - evas_object_smart_callback_add(btn, "clicked", prev_btn_clicked_cb, NULL); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - /* Next Page Button */ - btn = elm_button_add(grid); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 1.0); - elm_object_text_set(btn, "Next"); - evas_object_smart_callback_add(btn, "clicked", next_btn_clicked_cb, NULL); - evas_object_show(btn); - elm_box_pack_end(box, btn); - - elm_object_content_set(scroller, grid); - - return scroller; -} - -Evas_Object* -create_scrolling_content(Evas_Object *parent) -{ - char buf[PATH_MAX]; - Elm_Image *image; - - /* Image */ - image = elm_image_add(parent); - snprintf(buf, sizeof(buf), "%s/data/images/bg.png", BINDIR); - elm_image_file_set(image, buf, NULL); - elm_image_resizable_set(image, EINA_FALSE, EINA_FALSE); - evas_object_show(image); - - return image; -} - -Elm_Toolbar* -create_toolbar(Evas_Object *parent, const char *style) -{ - Elm_Toolbar *toolbar; - - toolbar = elm_toolbar_add(parent); - - //FIXME: :( UI_View can set this style instead. - elm_object_style_set(toolbar, style); - - //FIXME: If not call below API, toolbar items create with min size. - // It looks toolbar bug. - elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); - - elm_toolbar_item_append(toolbar, NULL, "Tab1", NULL, NULL); - elm_toolbar_item_append(toolbar, NULL, "Tab2", NULL, NULL); - elm_toolbar_item_append(toolbar, NULL, "Tab3", NULL, NULL); - elm_toolbar_item_append(toolbar, NULL, "Tab4", NULL, NULL); - - return toolbar; -} - -//================================================================================= -//================================== View 16 ====================================== -//================================================================================= - -static void -view16_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view16_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_DEACTIVATE(); -} - -static void -view16_title_show_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - ui_view *view = static_cast(data); - ui_standard_view_title_visible_set(view, true, false); -} - -static void -view16_title_hide_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - ui_view *view = static_cast(data); - ui_standard_view_title_visible_set(view, false, false); -} - -static void -view16_title_show_anim_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - ui_view *view = static_cast(data); - ui_standard_view_title_visible_set(view, true, true); -} - -static void -view16_title_hide_anim_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - ui_view *view = static_cast(data); - ui_standard_view_title_visible_set(view, false, true); -} - -static bool -view16_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_title_handle_content(base_layout, - view16_prev_btn_clicked_cb, view16_next_btn_clicked_cb, - view16_title_show_btn_clicked_cb, view16_title_hide_btn_clicked_cb, - view16_title_show_anim_btn_clicked_cb, view16_title_hide_anim_btn_clicked_cb, view); - - ui_standard_view_content_set(view, content, "Page16", NULL, NULL, NULL); - - return true; -} - -static void -create_page16() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view16_load_cb; - - ui_view *view = ui_standard_view_create("page16"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================= -//================================== View 15 ====================================== -//================================================================================= - -static void -view15_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page16(); -} - -static bool -view15_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_scrolling_content(base_layout); - - ui_standard_view_content_set(view, content, "Page 15 Scroller In Viewmgr", NULL, NULL, NULL); - - //Title Right button - Elm_Button *right_btn = elm_button_add(base_layout); - elm_object_text_set(right_btn, "Next"); - evas_object_smart_callback_add(right_btn, "clicked", view15_btn_clicked_cb, NULL); - - ui_standard_view_title_right_btn_set(view, right_btn); - - return true; -} - -static void -create_page15() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view15_load_cb; - - ui_view *view = ui_standard_view_create("page15"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================= -//================================== View 14 ====================================== -//================================================================================= - -static void -view14_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view14_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page15(); -} - -static bool -view14_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
None Transition", - view14_prev_btn_clicked_cb, view14_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page14", NULL, NULL, NULL); - - return true; -} - -static void -create_page14() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view14_load_cb; - - ui_view *view = ui_standard_view_create("page14"); - ui_view_transition_style_set(view, "none"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================= -//================================== View 13 ====================================== -//================================================================================= - -static void -view13_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view13_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page14(); -} - -static bool -view13_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Fade Transition", - view13_prev_btn_clicked_cb, view13_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page13", NULL, NULL, NULL); - - return true; -} - -static void -create_page13() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view13_load_cb; - - ui_view *view = ui_standard_view_create("page13"); - ui_view_transition_style_set(view, "fade"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================= -//================================== View 12 ====================================== -//================================================================================= - -static void -view12_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view12_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page13(); -} - -static void -popup_block_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - elm_popup_dismiss(obj); -} - -static void -popup_timeout_cb(void *data, Evas_Object *obj, void *event_info) -{ - elm_popup_dismiss(obj); -} - -static void -popup_dismissed_cb(void *data, Evas_Object *obj, void *event_info) -{ - //FIXME: remove dismissed callback because this callback is called twice. - //It seems this is an efl or popup error, not this ui_popup nor example. - evas_object_smart_callback_del(obj, "dismissed", popup_dismissed_cb); - ui_popup *popup = static_cast(data); - - //Is It right? - ui_popup_del(popup); -} - -static void -view12_btn_clicked(void *data, Evas_Object *obj, void *event_info) -{ - ui_view *view = static_cast(data); - - //Create popup. - //FIXME: is overlay a proper name? - ui_popup *popup = ui_popup_create(view); - - Elm_Popup *elm_popup = elm_popup_add(ui_view_base_get(view)); - elm_object_text_set(elm_popup, "This popup has only text which is set via desc set function, (This popup gets hidden when user clicks outside) here timeout of 3 sec is set."); - elm_popup_timeout_set(elm_popup, 3.0); - evas_object_smart_callback_add(elm_popup, "dismissed", popup_dismissed_cb, popup); - evas_object_smart_callback_add(elm_popup, "block,clicked", popup_block_clicked_cb, NULL); - evas_object_smart_callback_add(elm_popup, "timeout", popup_timeout_cb, NULL); - - ui_popup_content_set(popup, elm_popup); - ui_popup_activate(popup); -} - -static bool -view12_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Popup", - view12_prev_btn_clicked_cb, view12_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page12", NULL, NULL, NULL); - - //Title Right button - Elm_Button *right_btn = elm_button_add(base_layout); - elm_object_text_set(right_btn, "popup"); - evas_object_smart_callback_add(right_btn, "clicked", view12_btn_clicked, view); - - ui_standard_view_title_right_btn_set(view, right_btn); - - return true; -} - -static void -create_page12() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - lifecycle_callback.load = view12_load_cb; - - ui_view *view = ui_standard_view_create("page12"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================= -//================================== View 11 ====================================== -//================================================================================= - -static void -view11_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view11_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page12(); -} - -static bool -view11_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Menu Popup", - view11_prev_btn_clicked_cb, view11_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page11", NULL, NULL, NULL); - - return true; -} - -static void ctxpopup_item_select_cb(void *data, Evas_Object *obj, void *event_info) -{ - Elm_Object_Item *it = static_cast(event_info); - elm_ctxpopup_dismiss(obj); - LOGE("Item (%s) is selected", elm_object_item_text_get(it)); -} - -static bool -view11_menu_cb(ui_menu *menu, void *data) -{ - Elm_Ctxpopup *ctxpopup = elm_ctxpopup_add(menu->get_base()); - elm_ctxpopup_item_append(ctxpopup, "Phone calls", NULL, ctxpopup_item_select_cb, NULL); - elm_ctxpopup_item_append(ctxpopup, "Favorites", NULL, ctxpopup_item_select_cb, NULL); - elm_ctxpopup_item_append(ctxpopup, "Search", NULL, ctxpopup_item_select_cb, NULL); - elm_ctxpopup_item_append(ctxpopup, "Dialer", NULL, ctxpopup_item_select_cb, NULL); - elm_ctxpopup_item_append(ctxpopup, "Add contact", NULL, ctxpopup_item_select_cb, NULL); - elm_ctxpopup_item_append(ctxpopup, "Phone calls", NULL, ctxpopup_item_select_cb, NULL); - elm_ctxpopup_item_append(ctxpopup, "Favorites", NULL, ctxpopup_item_select_cb, NULL); - elm_ctxpopup_item_append(ctxpopup, "Search", NULL, ctxpopup_item_select_cb, NULL); - elm_ctxpopup_item_append(ctxpopup, "Dialer", NULL, ctxpopup_item_select_cb, NULL); - - ui_menu_content_set(menu, ctxpopup); - - return true; -} - - - -static void -create_page11() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - ui_view_event_callback_s event_callback = {0, }; - - lifecycle_callback.load = view11_load_cb; - event_callback.menu = view11_menu_cb; - - ui_view *view = ui_standard_view_create("page11"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - ret = ui_view_event_callbacks_set(view, &event_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================= -//================================== View 10 ====================================== -//================================================================================= - -static void -view10_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view10_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page11(); -} - -static bool -view10_rotate_cb(ui_view *view, int degree, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - if (degree == 0 || degree == 180) - { - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Rotation", - view10_prev_btn_clicked_cb, view10_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page10", NULL, NULL, NULL); - ui_view_indicator_set(view, UI_VIEW_INDICATOR_DEFAULT); - } - else - { - Evas_Object *content = create_landscape_content(base_layout, "ViewMgr Demo
Rotation", - view10_prev_btn_clicked_cb, view10_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page10", NULL, NULL, NULL); - ui_view_indicator_set(view, UI_VIEW_INDICATOR_OPTIMAL); - } - - return true; -} - -static bool -view10_load_cb(ui_view *view, void *data) -{ - view10_rotate_cb(view, ui_view_degree_get(view), data); - - return true; -} - -static void -create_page10() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - ui_view_event_callback_s event_callback = {0, }; - - lifecycle_callback.load = view10_load_cb; - event_callback.rotate = view10_rotate_cb; - - ui_view *view = ui_standard_view_create("page10"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - ret = ui_view_event_callbacks_set(view, &event_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 9 ====================================== -//================================================================================ - -static void -view9_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view9_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page10(); -} - -static bool -view9_portrait_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Portrait/Landscape", - view9_prev_btn_clicked_cb, view9_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page9", NULL, NULL, NULL); - ui_view_indicator_set(view, UI_VIEW_INDICATOR_DEFAULT); - - return true; -} - -static bool -view9_landscape_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_landscape_content(base_layout, "ViewMgr Demo
Portrait/Landscape", - view9_prev_btn_clicked_cb, view9_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page9", NULL, NULL, NULL); - ui_view_indicator_set(view, UI_VIEW_INDICATOR_OPTIMAL); - - return true; -} - -static bool -view9_load_cb(ui_view *view, void *data) -{ - if (ui_view_degree_get(view) == 90 || ui_view_degree_get(view) == 270) - view9_landscape_cb(view, data); - else - view9_portrait_cb(view, data); - - return true; -} - -static void -create_page9() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - ui_view_event_callback_s event_callback = {0, }; - - lifecycle_callback.load = view9_load_cb; - - event_callback.portrait = view9_portrait_cb; - event_callback.landscape = view9_landscape_cb; - - ui_view *view = ui_standard_view_create("page9"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - ret = ui_view_event_callbacks_set(view, &event_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 8 ====================================== -//================================================================================ - -static void -view8_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view8_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page9(); -} - -static void -create_page8() -{ - ui_view *view = ui_standard_view_create("page8"); - - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Content Preload", - view8_prev_btn_clicked_cb, view8_next_btn_clicked_cb); - - ui_view_removable_content_set(view, false); - ui_standard_view_content_set(view, content, "Page8", NULL, NULL, NULL); - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 7 ====================================== -//================================================================================ - -static void -view7_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view7_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page8(); -} - -static bool -view7_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Navigationbarr", - view7_prev_btn_clicked_cb, view7_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page7", NULL, NULL, NULL); - Elm_Toolbar *toolbar = create_toolbar(base_layout, "navigationbar"); - ui_standard_view_toolbar_set(view, toolbar); - - return true; -} - -static void -create_page7() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view7_load_cb; - - ui_view *view = ui_standard_view_create("page7"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 6 ====================================== -//================================================================================ - -static void -view6_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view6_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page7(); -} - -static bool -view6_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Toolbar", - view6_prev_btn_clicked_cb, view6_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page6", NULL, NULL, NULL); - Elm_Toolbar *toolbar = create_toolbar(base_layout, "toolbar_with_title"); - ui_standard_view_toolbar_set(view, toolbar); - - return true; -} - -static void -create_page6() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - lifecycle_callback.load = view6_load_cb; - - ui_view *view = ui_standard_view_create("page6"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 5 ====================================== -//================================================================================ - -static void -view5_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view5_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page6(); -} - -static bool -view5_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Full View", - view5_prev_btn_clicked_cb, view5_next_btn_clicked_cb); - - ui_view_content_set(view, content); - ui_view_indicator_set(view, UI_VIEW_INDICATOR_HIDE); - - return true; -} - -static void -create_page5() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view5_load_cb; - - ui_view *view = ui_view_create("page5"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (ret != 0) - { - //TODO - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 4 ====================================== -//================================================================================ - -static void -view4_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view4_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page5(); -} - -static bool -view4_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Title Badge", - view4_prev_btn_clicked_cb, view4_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page4 We put a long title here intentionally", NULL, NULL, NULL); - ui_standard_view_title_badge_set(view, "999+"); - - return true; -} - -static void -create_page4() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - lifecycle_callback.load = view4_load_cb; - - ui_view *view = ui_standard_view_create("page4"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (!ret) - { - dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret); - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 3 ====================================== -//================================================================================ - -static void -view3_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view3_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page4(); -} - -static bool -view3_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Subtitle", - view3_prev_btn_clicked_cb, view3_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page3", "Subtitle", NULL, NULL); - - return true; -} - -static void -create_page3() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view3_load_cb; - - ui_view *view = ui_standard_view_create("page3"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (!ret) - { - dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret); - } - - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 2 ====================================== -//================================================================================ - -static void -view2_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_VIEW_POP(); -} - -static void -view2_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page3(); -} - -static bool -view2_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Title Buttons", - view2_prev_btn_clicked_cb, view2_next_btn_clicked_cb); - - //Title left button - Elm_Button *left_title_btn = elm_button_add(base_layout); - elm_object_text_set(left_title_btn, "Cancel"); - - //Title right button - Elm_Button *right_title_btn = elm_button_add(base_layout); - elm_object_text_set(right_title_btn, "Done"); - - ui_standard_view_content_set(view, content, "Page2", NULL, left_title_btn, right_title_btn); - - return true; -} - -static void -create_page2() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view2_load_cb; - - ui_view *view = ui_standard_view_create("page2"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (!ret) - { - dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret); - } - - UI_VIEWMGR_VIEW_PUSH(view); -} - -//================================================================================ -//================================== View 1 ====================================== -//================================================================================ - -static void -view1_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - UI_VIEWMGR_DEACTIVATE(); -} - -static void -view1_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - create_page2(); -} - -static bool -view1_load_cb(ui_view *view, void *data) -{ - Evas_Object *base_layout = ui_view_base_get(view); - - Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Basic View", - view1_prev_btn_clicked_cb, view1_next_btn_clicked_cb); - - ui_standard_view_content_set(view, content, "Page1 C example", NULL, NULL, NULL); - - return true; -} - -static void -create_page1() -{ - ui_view_lifecycle_callback_s lifecycle_callback = {0, }; - - lifecycle_callback.load = view1_load_cb; - - ui_view *view = ui_standard_view_create("page1"); - - int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); - if (!ret) - { - dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret); - } - - UI_VIEWMGR_VIEW_PUSH(view); - -} - static bool app_create(void *data) { diff --git a/src/examples/efl/c/main.h b/src/examples/efl/c/main.h index 8510c3d..5406440 100644 --- a/src/examples/efl/c/main.h +++ b/src/examples/efl/c/main.h @@ -14,9 +14,6 @@ * limitations under the License. * */ -#include -#include -#include #include #include @@ -41,3 +38,29 @@ typedef struct appdata { Evas_Object *nf; Evas_Object *tabbar; } appdata_s; + + +Evas_Object* create_content(Evas_Object *parent, const char *text, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb); +Evas_Object* create_landscape_content(Evas_Object *parent, const char *text, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb); +Evas_Object* create_title_handle_content(Evas_Object *parent, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb, + Evas_Smart_Cb title_show_btn_clicked_cb, Evas_Smart_Cb title_hide_btn_clicked_cb, + Evas_Smart_Cb title_show_anim_btn_clicked_cb, Evas_Smart_Cb title_hide_anim_btn_clicked_cb, ui_view *view); +Evas_Object* create_scrolling_content(Evas_Object *parent); +Elm_Toolbar* create_toolbar(Evas_Object *parent, const char *style); + +void create_page1(); +void create_page2(); +void create_page3(); +void create_page4(); +void create_page5(); +void create_page6(); +void create_page7(); +void create_page8(); +void create_page9(); +void create_page10(); +void create_page11(); +void create_page12(); +void create_page13(); +void create_page14(); +void create_page15(); +void create_page16(); diff --git a/src/examples/efl/c/page1.cpp b/src/examples/efl/c/page1.cpp new file mode 100644 index 0000000..f10f6c6 --- /dev/null +++ b/src/examples/efl/c/page1.cpp @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view1_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_DEACTIVATE(); +} + +static void +view1_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page2(); +} + +static bool +view1_load_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Basic View", + view1_prev_btn_clicked_cb, view1_next_btn_clicked_cb); + + ui_standard_view_content_set(view, content, "Page1 C example", NULL, NULL, NULL); + + return true; +} + +void +create_page1() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + + lifecycle_callback.load = view1_load_cb; + + ui_view *view = ui_standard_view_create("page1"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (!ret) + { + dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret); + } + + UI_VIEWMGR_VIEW_PUSH(view); +} diff --git a/src/examples/efl/c/page10.cpp b/src/examples/efl/c/page10.cpp new file mode 100644 index 0000000..a3dcfcc --- /dev/null +++ b/src/examples/efl/c/page10.cpp @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view10_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_VIEW_POP(); +} + +static void +view10_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page11(); +} + +static bool +view10_rotate_cb(ui_view *view, int degree, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + if (degree == 0 || degree == 180) + { + Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Rotation", + view10_prev_btn_clicked_cb, view10_next_btn_clicked_cb); + + ui_standard_view_content_set(view, content, "Page10", NULL, NULL, NULL); + ui_view_indicator_set(view, UI_VIEW_INDICATOR_DEFAULT); + } + else + { + Evas_Object *content = create_landscape_content(base_layout, "ViewMgr Demo
Rotation", + view10_prev_btn_clicked_cb, view10_next_btn_clicked_cb); + + ui_standard_view_content_set(view, content, "Page10", NULL, NULL, NULL); + ui_view_indicator_set(view, UI_VIEW_INDICATOR_OPTIMAL); + } + + return true; +} + +static bool +view10_load_cb(ui_view *view, void *data) +{ + view10_rotate_cb(view, ui_view_degree_get(view), data); + + return true; +} + +void +create_page10() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + ui_view_event_callback_s event_callback = {0, }; + + lifecycle_callback.load = view10_load_cb; + event_callback.rotate = view10_rotate_cb; + + ui_view *view = ui_standard_view_create("page10"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (ret != 0) + { + //TODO + } + + ret = ui_view_event_callbacks_set(view, &event_callback, NULL); + if (ret != 0) + { + //TODO + } + + UI_VIEWMGR_VIEW_PUSH(view); +} diff --git a/src/examples/efl/c/page11.cpp b/src/examples/efl/c/page11.cpp new file mode 100644 index 0000000..e69fbdf --- /dev/null +++ b/src/examples/efl/c/page11.cpp @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view11_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_VIEW_POP(); +} + +static void +view11_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page12(); +} + +static bool +view11_load_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Menu Popup", + view11_prev_btn_clicked_cb, view11_next_btn_clicked_cb); + + ui_standard_view_content_set(view, content, "Page11", NULL, NULL, NULL); + + return true; +} + +static void ctxpopup_item_select_cb(void *data, Evas_Object *obj, void *event_info) +{ + Elm_Object_Item *it = static_cast(event_info); + elm_ctxpopup_dismiss(obj); + LOGE("Item (%s) is selected", elm_object_item_text_get(it)); +} + +static bool +view11_menu_cb(ui_menu *menu, void *data) +{ + Elm_Ctxpopup *ctxpopup = elm_ctxpopup_add(menu->get_base()); + elm_ctxpopup_item_append(ctxpopup, "Phone calls", NULL, ctxpopup_item_select_cb, NULL); + elm_ctxpopup_item_append(ctxpopup, "Favorites", NULL, ctxpopup_item_select_cb, NULL); + elm_ctxpopup_item_append(ctxpopup, "Search", NULL, ctxpopup_item_select_cb, NULL); + elm_ctxpopup_item_append(ctxpopup, "Dialer", NULL, ctxpopup_item_select_cb, NULL); + elm_ctxpopup_item_append(ctxpopup, "Add contact", NULL, ctxpopup_item_select_cb, NULL); + elm_ctxpopup_item_append(ctxpopup, "Phone calls", NULL, ctxpopup_item_select_cb, NULL); + elm_ctxpopup_item_append(ctxpopup, "Favorites", NULL, ctxpopup_item_select_cb, NULL); + elm_ctxpopup_item_append(ctxpopup, "Search", NULL, ctxpopup_item_select_cb, NULL); + elm_ctxpopup_item_append(ctxpopup, "Dialer", NULL, ctxpopup_item_select_cb, NULL); + + ui_menu_content_set(menu, ctxpopup); + + return true; +} + +void +create_page11() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + ui_view_event_callback_s event_callback = {0, }; + + lifecycle_callback.load = view11_load_cb; + event_callback.menu = view11_menu_cb; + + ui_view *view = ui_standard_view_create("page11"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (ret != 0) + { + //TODO + } + + ret = ui_view_event_callbacks_set(view, &event_callback, NULL); + if (ret != 0) + { + //TODO + } + + UI_VIEWMGR_VIEW_PUSH(view); +} diff --git a/src/examples/efl/c/page12.cpp b/src/examples/efl/c/page12.cpp new file mode 100644 index 0000000..a69afd6 --- /dev/null +++ b/src/examples/efl/c/page12.cpp @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view12_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_VIEW_POP(); +} + +static void +view12_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page13(); +} + +static void +popup_block_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + elm_popup_dismiss(obj); +} + +static void +popup_timeout_cb(void *data, Evas_Object *obj, void *event_info) +{ + elm_popup_dismiss(obj); +} + +static void +popup_dismissed_cb(void *data, Evas_Object *obj, void *event_info) +{ + //FIXME: remove dismissed callback because this callback is called twice. + //It seems this is an efl or popup error, not this ui_popup nor example. + evas_object_smart_callback_del(obj, "dismissed", popup_dismissed_cb); + ui_popup *popup = static_cast(data); + + //Is It right? + ui_popup_del(popup); +} + +static void +view12_btn_clicked(void *data, Evas_Object *obj, void *event_info) +{ + ui_view *view = static_cast(data); + + //Create popup. + //FIXME: is overlay a proper name? + ui_popup *popup = ui_popup_create(view); + + Elm_Popup *elm_popup = elm_popup_add(ui_view_base_get(view)); + elm_object_text_set(elm_popup, "This popup has only text which is set via desc set function, (This popup gets hidden when user clicks outside) here timeout of 3 sec is set."); + elm_popup_timeout_set(elm_popup, 3.0); + evas_object_smart_callback_add(elm_popup, "dismissed", popup_dismissed_cb, popup); + evas_object_smart_callback_add(elm_popup, "block,clicked", popup_block_clicked_cb, NULL); + evas_object_smart_callback_add(elm_popup, "timeout", popup_timeout_cb, NULL); + + ui_popup_content_set(popup, elm_popup); + ui_popup_activate(popup); +} + +static bool +view12_load_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Popup", + view12_prev_btn_clicked_cb, view12_next_btn_clicked_cb); + + ui_standard_view_content_set(view, content, "Page12", NULL, NULL, NULL); + + //Title Right button + Elm_Button *right_btn = elm_button_add(base_layout); + elm_object_text_set(right_btn, "popup"); + evas_object_smart_callback_add(right_btn, "clicked", view12_btn_clicked, view); + + ui_standard_view_title_right_btn_set(view, right_btn); + + return true; +} + +void +create_page12() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + lifecycle_callback.load = view12_load_cb; + + ui_view *view = ui_standard_view_create("page12"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (ret != 0) + { + //TODO + } + + UI_VIEWMGR_VIEW_PUSH(view); +} diff --git a/src/examples/efl/c/page13.cpp b/src/examples/efl/c/page13.cpp new file mode 100644 index 0000000..4c1e46d --- /dev/null +++ b/src/examples/efl/c/page13.cpp @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view13_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_VIEW_POP(); +} + +static void +view13_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page14(); +} + +static bool +view13_load_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Fade Transition", + view13_prev_btn_clicked_cb, view13_next_btn_clicked_cb); + + ui_standard_view_content_set(view, content, "Page13", NULL, NULL, NULL); + + return true; +} + +void +create_page13() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + + lifecycle_callback.load = view13_load_cb; + + ui_view *view = ui_standard_view_create("page13"); + ui_view_transition_style_set(view, "fade"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (ret != 0) + { + //TODO + } + + UI_VIEWMGR_VIEW_PUSH(view); +} diff --git a/src/examples/efl/c/page14.cpp b/src/examples/efl/c/page14.cpp new file mode 100644 index 0000000..cfce6d5 --- /dev/null +++ b/src/examples/efl/c/page14.cpp @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view14_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_VIEW_POP(); +} + +static void +view14_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page15(); +} + +static bool +view14_load_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_content(base_layout, "ViewMgr Demo
None Transition", + view14_prev_btn_clicked_cb, view14_next_btn_clicked_cb); + + ui_standard_view_content_set(view, content, "Page14", NULL, NULL, NULL); + + return true; +} + +void +create_page14() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + + lifecycle_callback.load = view14_load_cb; + + ui_view *view = ui_standard_view_create("page14"); + ui_view_transition_style_set(view, "none"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (ret != 0) + { + //TODO + } + + UI_VIEWMGR_VIEW_PUSH(view); +} diff --git a/src/examples/efl/c/page15.cpp b/src/examples/efl/c/page15.cpp new file mode 100644 index 0000000..1961695 --- /dev/null +++ b/src/examples/efl/c/page15.cpp @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view15_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page16(); +} + +static bool +view15_load_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_scrolling_content(base_layout); + + ui_standard_view_content_set(view, content, "Page 15 Scroller In Viewmgr", NULL, NULL, NULL); + + //Title Right button + Elm_Button *right_btn = elm_button_add(base_layout); + elm_object_text_set(right_btn, "Next"); + evas_object_smart_callback_add(right_btn, "clicked", view15_btn_clicked_cb, NULL); + + ui_standard_view_title_right_btn_set(view, right_btn); + + return true; +} + +void +create_page15() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + + lifecycle_callback.load = view15_load_cb; + + ui_view *view = ui_standard_view_create("page15"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (ret != 0) + { + //TODO + } + + UI_VIEWMGR_VIEW_PUSH(view); +} + diff --git a/src/examples/efl/c/page16.cpp b/src/examples/efl/c/page16.cpp new file mode 100644 index 0000000..ee94220 --- /dev/null +++ b/src/examples/efl/c/page16.cpp @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view16_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_VIEW_POP(); +} + +static void +view16_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_DEACTIVATE(); +} + +static void +view16_title_show_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + ui_view *view = static_cast(data); + ui_standard_view_title_visible_set(view, true, false); +} + +static void +view16_title_hide_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + ui_view *view = static_cast(data); + ui_standard_view_title_visible_set(view, false, false); +} + +static void +view16_title_show_anim_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + ui_view *view = static_cast(data); + ui_standard_view_title_visible_set(view, true, true); +} + +static void +view16_title_hide_anim_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + ui_view *view = static_cast(data); + ui_standard_view_title_visible_set(view, false, true); +} + +static bool +view16_load_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_title_handle_content(base_layout, + view16_prev_btn_clicked_cb, view16_next_btn_clicked_cb, + view16_title_show_btn_clicked_cb, view16_title_hide_btn_clicked_cb, + view16_title_show_anim_btn_clicked_cb, view16_title_hide_anim_btn_clicked_cb, view); + + ui_standard_view_content_set(view, content, "Page16", NULL, NULL, NULL); + + return true; +} + +void +create_page16() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + + lifecycle_callback.load = view16_load_cb; + + ui_view *view = ui_standard_view_create("page16"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (ret != 0) + { + //TODO + } + + UI_VIEWMGR_VIEW_PUSH(view); +} diff --git a/src/examples/efl/c/page2.cpp b/src/examples/efl/c/page2.cpp new file mode 100644 index 0000000..be9b03a --- /dev/null +++ b/src/examples/efl/c/page2.cpp @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view2_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_VIEW_POP(); +} + +static void +view2_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page3(); +} + +static bool +view2_load_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Title Buttons", + view2_prev_btn_clicked_cb, view2_next_btn_clicked_cb); + + //Title left button + Elm_Button *left_title_btn = elm_button_add(base_layout); + elm_object_text_set(left_title_btn, "Cancel"); + + //Title right button + Elm_Button *right_title_btn = elm_button_add(base_layout); + elm_object_text_set(right_title_btn, "Done"); + + ui_standard_view_content_set(view, content, "Page2", NULL, left_title_btn, right_title_btn); + + return true; +} + +void +create_page2() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + + lifecycle_callback.load = view2_load_cb; + + ui_view *view = ui_standard_view_create("page2"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (!ret) + { + dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret); + } + + UI_VIEWMGR_VIEW_PUSH(view); +} diff --git a/src/examples/efl/c/page3.cpp b/src/examples/efl/c/page3.cpp new file mode 100644 index 0000000..d62a84a --- /dev/null +++ b/src/examples/efl/c/page3.cpp @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view3_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_VIEW_POP(); +} + +static void +view3_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page4(); +} + +static bool +view3_load_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Subtitle", + view3_prev_btn_clicked_cb, view3_next_btn_clicked_cb); + + ui_standard_view_content_set(view, content, "Page3", "Subtitle", NULL, NULL); + + return true; +} + +void +create_page3() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + + lifecycle_callback.load = view3_load_cb; + + ui_view *view = ui_standard_view_create("page3"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (!ret) + { + dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret); + } + + + UI_VIEWMGR_VIEW_PUSH(view); +} diff --git a/src/examples/efl/c/page4.cpp b/src/examples/efl/c/page4.cpp new file mode 100644 index 0000000..918b012 --- /dev/null +++ b/src/examples/efl/c/page4.cpp @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view4_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_VIEW_POP(); +} + +static void +view4_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page5(); +} + +static bool +view4_load_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Title Badge", + view4_prev_btn_clicked_cb, view4_next_btn_clicked_cb); + + ui_standard_view_content_set(view, content, "Page4 We put a long title here intentionally", NULL, NULL, NULL); + ui_standard_view_title_badge_set(view, "999+"); + + return true; +} + +void +create_page4() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + lifecycle_callback.load = view4_load_cb; + + ui_view *view = ui_standard_view_create("page4"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (!ret) + { + dlog_print(DLOG_ERROR, LOG_TAG, "ui_view_lifecycle_callback_set is failed. err = %d", ret); + } + + UI_VIEWMGR_VIEW_PUSH(view); +} diff --git a/src/examples/efl/c/page5.cpp b/src/examples/efl/c/page5.cpp new file mode 100644 index 0000000..056ae93 --- /dev/null +++ b/src/examples/efl/c/page5.cpp @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view5_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_VIEW_POP(); +} + +static void +view5_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page6(); +} + +static bool +view5_load_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Full View", + view5_prev_btn_clicked_cb, view5_next_btn_clicked_cb); + + ui_view_content_set(view, content); + ui_view_indicator_set(view, UI_VIEW_INDICATOR_HIDE); + + return true; +} + +void +create_page5() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + + lifecycle_callback.load = view5_load_cb; + + ui_view *view = ui_view_create("page5"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (ret != 0) + { + //TODO + } + + UI_VIEWMGR_VIEW_PUSH(view); +} diff --git a/src/examples/efl/c/page6.cpp b/src/examples/efl/c/page6.cpp new file mode 100644 index 0000000..2c2dae1 --- /dev/null +++ b/src/examples/efl/c/page6.cpp @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view6_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_VIEW_POP(); +} + +static void +view6_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page7(); +} + +static bool +view6_load_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Toolbar", + view6_prev_btn_clicked_cb, view6_next_btn_clicked_cb); + + ui_standard_view_content_set(view, content, "Page6", NULL, NULL, NULL); + Elm_Toolbar *toolbar = create_toolbar(base_layout, "toolbar_with_title"); + ui_standard_view_toolbar_set(view, toolbar); + + return true; +} + +void +create_page6() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + lifecycle_callback.load = view6_load_cb; + + ui_view *view = ui_standard_view_create("page6"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (ret != 0) + { + //TODO + } + + UI_VIEWMGR_VIEW_PUSH(view); +} diff --git a/src/examples/efl/c/page7.cpp b/src/examples/efl/c/page7.cpp new file mode 100644 index 0000000..42e30f3 --- /dev/null +++ b/src/examples/efl/c/page7.cpp @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view7_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_VIEW_POP(); +} + +static void +view7_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page8(); +} + +static bool +view7_load_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Navigationbarr", + view7_prev_btn_clicked_cb, view7_next_btn_clicked_cb); + + ui_standard_view_content_set(view, content, "Page7", NULL, NULL, NULL); + Elm_Toolbar *toolbar = create_toolbar(base_layout, "navigationbar"); + ui_standard_view_toolbar_set(view, toolbar); + + return true; +} + +void +create_page7() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + + lifecycle_callback.load = view7_load_cb; + + ui_view *view = ui_standard_view_create("page7"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (ret != 0) + { + //TODO + } + + UI_VIEWMGR_VIEW_PUSH(view); +} diff --git a/src/examples/efl/c/page8.cpp b/src/examples/efl/c/page8.cpp new file mode 100644 index 0000000..4e9de42 --- /dev/null +++ b/src/examples/efl/c/page8.cpp @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view8_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_VIEW_POP(); +} + +static void +view8_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page9(); +} + +void +create_page8() +{ + ui_view *view = ui_standard_view_create("page8"); + + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Content Preload", + view8_prev_btn_clicked_cb, view8_next_btn_clicked_cb); + + ui_view_removable_content_set(view, false); + ui_standard_view_content_set(view, content, "Page8", NULL, NULL, NULL); + + UI_VIEWMGR_VIEW_PUSH(view); +} diff --git a/src/examples/efl/c/page9.cpp b/src/examples/efl/c/page9.cpp new file mode 100644 index 0000000..2af3c77 --- /dev/null +++ b/src/examples/efl/c/page9.cpp @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#include "main.h" + +static void +view9_prev_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + UI_VIEWMGR_VIEW_POP(); +} + +static void +view9_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + create_page10(); +} + +static bool +view9_portrait_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_content(base_layout, "ViewMgr Demo
Portrait/Landscape", + view9_prev_btn_clicked_cb, view9_next_btn_clicked_cb); + + ui_standard_view_content_set(view, content, "Page9", NULL, NULL, NULL); + ui_view_indicator_set(view, UI_VIEW_INDICATOR_DEFAULT); + + return true; +} + +static bool +view9_landscape_cb(ui_view *view, void *data) +{ + Evas_Object *base_layout = ui_view_base_get(view); + + Evas_Object *content = create_landscape_content(base_layout, "ViewMgr Demo
Portrait/Landscape", + view9_prev_btn_clicked_cb, view9_next_btn_clicked_cb); + + ui_standard_view_content_set(view, content, "Page9", NULL, NULL, NULL); + ui_view_indicator_set(view, UI_VIEW_INDICATOR_OPTIMAL); + + return true; +} + +static bool +view9_load_cb(ui_view *view, void *data) +{ + if (ui_view_degree_get(view) == 90 || ui_view_degree_get(view) == 270) + view9_landscape_cb(view, data); + else + view9_portrait_cb(view, data); + + return true; +} + +void +create_page9() +{ + ui_view_lifecycle_callback_s lifecycle_callback = {0, }; + ui_view_event_callback_s event_callback = {0, }; + + lifecycle_callback.load = view9_load_cb; + + event_callback.portrait = view9_portrait_cb; + event_callback.landscape = view9_landscape_cb; + + ui_view *view = ui_standard_view_create("page9"); + + int ret = ui_view_lifecycle_callbacks_set(view, &lifecycle_callback, NULL); + if (ret != 0) + { + //TODO + } + + ret = ui_view_event_callbacks_set(view, &event_callback, NULL); + if (ret != 0) + { + //TODO + } + + UI_VIEWMGR_VIEW_PUSH(view); +}