From 1ec4491c81f7aa5e24c5bbfee13ae8d9926028fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20B=C3=A9nier?= Date: Wed, 1 Jul 2015 16:45:24 +0200 Subject: [PATCH] Wiki pages menu_tutorial created: tuto + images + code c,h,edc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Clément Bénier Signed-off-by: Pierre Le Magourou Signed-off-by: Cedric BAIL --- media/code_c/tutorial/menu/menu.c | 273 ++++++++++++++++++ media/code_c/tutorial/menu/menu.edc | 102 +++++++ media/code_c/tutorial/menu/structure_menu.h | 51 ++++ media/menu.png | Bin 0 -> 93092 bytes media/menu_skeleton.png | Bin 0 -> 21273 bytes media/view_main.png | Bin 0 -> 3832 bytes pages/docs.txt | 1 + pages/tutorial/menu/basic_ui.txt | 296 ++++++++++++++++++++ pages/tutorial/menu/hidden_menu.txt | 94 +++++++ pages/tutorial/menu/structure.txt | 74 +++++ pages/tutorial/menu/theme.txt | 170 +++++++++++ pages/tutorial/menu_tutorial.txt | 20 ++ 12 files changed, 1081 insertions(+) create mode 100644 media/code_c/tutorial/menu/menu.c create mode 100644 media/code_c/tutorial/menu/menu.edc create mode 100644 media/code_c/tutorial/menu/structure_menu.h create mode 100644 media/menu.png create mode 100644 media/menu_skeleton.png create mode 100644 media/view_main.png create mode 100644 pages/tutorial/menu/basic_ui.txt create mode 100644 pages/tutorial/menu/hidden_menu.txt create mode 100644 pages/tutorial/menu/structure.txt create mode 100644 pages/tutorial/menu/theme.txt create mode 100644 pages/tutorial/menu_tutorial.txt diff --git a/media/code_c/tutorial/menu/menu.c b/media/code_c/tutorial/menu/menu.c new file mode 100644 index 000000000..247190fa4 --- /dev/null +++ b/media/code_c/tutorial/menu/menu.c @@ -0,0 +1,273 @@ +#include +#include "structure_menu.h" + +#define MAINVIEW "view/main" +#define MAINMENU "menu/main" +#define SIDEMENU "menu/side" +#define ICON_DIR "" + +//to handle the key down events +static Eina_Bool +keydown_cb(void *data , int type , void *event) +{ + Menu *me = data; + Ecore_Event_Key *ev = event; + if (!strcmp(ev->keyname, "XF86Send")) + { + if (me->sdmenu_up == EINA_TRUE) + { + // If the menu is visible send a "hide,sidemenu" signal + elm_object_signal_emit(me->layout, "hide,sidemenu", "MenuButton"); + // Store the new menu status (hidden). + me->sdmenu_up = EINA_FALSE; + } + else + { + // If the menu is visible send a "hide,sidemenu" signal + elm_object_signal_emit(me->layout, "show,sidemenu", "MenuButton"); + // Store the new menu status (hidden). + me->sdmenu_up = EINA_TRUE; + } + } + return ECORE_CALLBACK_PASS_ON; +} + +//create the views +static void +_build_main_view(Menu *me) +{ + Mainview *view = me->main_view; + char buf[PATH_MAX]; + + //Main box + view->box = elm_box_add(me->nf); + elm_box_horizontal_set(view->box, EINA_FALSE); + elm_box_homogeneous_set(view->box, EINA_TRUE); + + view->img = elm_image_add(view->box); + evas_object_size_hint_weight_set(view->img, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_align_set(view->img, 0.5, 0.5); + evas_object_size_hint_min_set(view->img, 25, 25); + snprintf(buf, sizeof(buf), "%s/%s", ICON_DIR, "icon.png"); + if (!elm_image_file_set(view->img, buf, NULL)) + elm_object_text_set(view->lb_day, "Problem loading image"); + elm_box_pack_start(view->box, view->img); + evas_object_show(view->img); + + view->lb_day = elm_label_add(view->box); + elm_object_text_set(view->lb_day, "Main view"); + evas_object_size_hint_weight_set(view->lb_day, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_box_pack_end(view->box, view->lb_day); + evas_object_show(view->lb_day); +} + +static void +_build_calendar_view(Menu *me) +{ + Calview *view = me->cal_view; + + view->box = elm_box_add(me->nf); + elm_box_horizontal_set(view->box, EINA_FALSE); + elm_box_homogeneous_set(view->box, EINA_TRUE); + + view->calendar = elm_calendar_add(me->nf); + evas_object_size_hint_weight_set(view->calendar, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_align_set(view->calendar, 0.5, 0.5); + elm_box_pack_end(view->box, view->calendar); + evas_object_show(view->calendar); + + view->lb_cal = elm_label_add(view->box); + elm_object_text_set(view->lb_cal, "The calendar view"); + evas_object_size_hint_weight_set(view->lb_cal, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_box_pack_end(view->box, view->lb_cal); + evas_object_show(view->lb_cal); +} // End of_build_calendar_view + +static void +_build_date_view(Menu *me) +{ + Dateview *view = me->date_view; + + view->box = elm_box_add(me->nf); + elm_box_horizontal_set(view->box, EINA_FALSE); + elm_box_homogeneous_set(view->box, EINA_TRUE); + + view->datetime = elm_datetime_add(me->nf); + evas_object_size_hint_weight_set(view->datetime, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(view->datetime, EVAS_HINT_FILL, 0.5); + elm_box_pack_end(view->box, view->datetime); + evas_object_show(view->datetime); + + view->lb_date = elm_label_add(view->box); + elm_object_text_set(view->lb_date, "The calendar view"); + evas_object_size_hint_weight_set(view->lb_date, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_box_pack_end(view->box, view->lb_date); + evas_object_show(view->lb_date); +} // End of_build_calendar_view + +static void +_build_settings_view(Menu *me) +{ + Setview *view = me->settings_view; + + view->box = elm_box_add(me->nf); + elm_box_horizontal_set(view->box, EINA_FALSE); + elm_box_homogeneous_set(view->box, EINA_TRUE); + + view->lb = elm_label_add(view->box); + elm_object_text_set(view->lb, "The settings view"); + evas_object_size_hint_weight_set(view->lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_box_pack_end(view->box, view->lb); + evas_object_show(view->lb); +} // End of_build_calendar_view + +static void +_menu_item_selected_cb(void *data, Evas_Object *obj, void *event_info) +{ + Elm_Object_Item *it = (Elm_Object_Item*) event_info; + Menu * me = (Menu *)data; + Evas_Object *view; + + // Get the menu item text + const char *str = elm_object_item_text_get(it); + + // Comparing with the possible view names + if (!strcmp(str, "Calendar")) + { + // Build the "Calendar View" + _build_calendar_view(me); + // Set the view from the application data + view = me->cal_view->box; + } + else if (!strcmp(str, "Date")) + { + // Build the "Date View" + _build_date_view(data); + // Set the view from the application data + view = me->date_view->box; + } + else if (!strcmp(str, "Home")) + { + // Build the "Home or main View" + _build_main_view(me); + // Set the view from the application data + view = me->main_view->box; + } + else if (!strcmp(str, "Settings")) + { + // Build the "Settings" view + _build_settings_view(data); + // Set the view from the application data + view = me->settings_view->box; + } + else if (!strcmp(str, "Clock")) + { + // Build the "Date View" + _build_date_view(me); + // Set the view from the application data + view = me->date_view->box; + } + else return; + + // Show the view in the naviframe + elm_layout_content_set(me->layout, MAINVIEW, view); +} + +//main menu +static void +_build_main_menu(Menu *me, Evas_Object *win) +{ + //Memory allocation for the main menu function. + Tbarmenu *menu = calloc(1, sizeof(Tbarmenu)); + //Putting the "main" menu in the application data. + me->menu = menu; + + // Creation of the "Menu" toolbar + menu->tb = elm_toolbar_add(win); + + // Setting the "Menu" Toolbar properties + elm_toolbar_shrink_mode_set(menu->tb, ELM_TOOLBAR_SHRINK_NONE); + elm_toolbar_transverse_expanded_set(menu->tb, EINA_TRUE); + elm_toolbar_homogeneous_set(menu->tb, EINA_FALSE); + + // Adding menu items to the "Menu" toolbar + elm_toolbar_item_append(menu->tb, ICON_DIR"home.svg", "Home", _menu_item_selected_cb, me); + elm_toolbar_item_append(menu->tb, ICON_DIR"calendar.svg", "Calendar", _menu_item_selected_cb, me); + elm_toolbar_item_append(menu->tb, ICON_DIR"clock.svg", "Date", _menu_item_selected_cb, me); + elm_toolbar_item_append(menu->tb, ICON_DIR"settings.svg", "Settings", _menu_item_selected_cb, me); + + // Showing the widget + evas_object_show(menu->tb); + + // Adding the widget to the "menu/main" SWALLOW container defined in the .edc theme file. + elm_layout_content_set(me->layout, "menu/main", menu->tb); + + // Set the default view + elm_toolbar_item_selected_set(elm_toolbar_first_item_get(menu->tb), EINA_TRUE); +} + +//side menu not visible at default +static void _build_side_menu(Menu *me, Evas_Object *win) +{ + Tbarmenu *sidemenu = calloc(1, sizeof(Tbarmenu)); + me->sidemenu = sidemenu; + + sidemenu->tb = elm_toolbar_add(win); + + elm_toolbar_shrink_mode_set(sidemenu->tb, ELM_TOOLBAR_SHRINK_EXPAND); + elm_toolbar_transverse_expanded_set(sidemenu->tb, EINA_TRUE); + + elm_toolbar_item_append(sidemenu->tb, ICON_DIR"/home.svg", "Home", _menu_item_selected_cb, me); + elm_toolbar_item_append(sidemenu->tb, ICON_DIR"/account.svg", "Account", NULL, NULL); + elm_toolbar_item_append(sidemenu->tb, ICON_DIR"/contact.svg", "Friends", NULL, NULL); + elm_toolbar_item_append(sidemenu->tb, ICON_DIR"/clock.svg", "Clock", _menu_item_selected_cb, me); + elm_toolbar_homogeneous_set(sidemenu->tb, EINA_FALSE); + evas_object_show(sidemenu->tb); + elm_object_part_content_set(me->layout, "menu/side", sidemenu->tb); + elm_toolbar_horizontal_set(sidemenu->tb, EINA_FALSE); + elm_toolbar_item_selected_set(elm_toolbar_first_item_get(sidemenu->tb), EINA_TRUE); +} + +EAPI_MAIN int +elm_main(int argc, char **argv) +{ + Evas_Object *win; + char buf[PATH_MAX]; + win = elm_win_util_standard_add("Menu", "Menu Tutorial"); + elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); + elm_win_autodel_set(win, EINA_TRUE); + + // Memory allocation + Menu *me = calloc(1, sizeof(Menu)); + me->main_view = calloc(1, sizeof(Mainview)); // Allocating memory for the main view + me->cal_view = calloc(1, sizeof(Calview)); // Allocating memory for the calendar view + me->date_view = calloc(1, sizeof(Dateview)); // allocating memory for the date view + me->settings_view = calloc(1, sizeof(Setview)); // allocating memory for the date view + me->sdmenu_up = EINA_FALSE; + + me->layout = elm_layout_add(win); + evas_object_resize(me->layout, 400, 400); + + elm_layout_file_set(me->layout, "menu.edj", "my_layout"); + + me->nf = elm_naviframe_add(win); + _build_main_menu(me, win); + _build_side_menu(me, win); + + evas_object_show(me->layout); + ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, keydown_cb, me); + evas_object_smart_callback_add(win, "delete,request", _free_menu_cb, me); + //win 400x400 px + evas_object_resize(win, 400, 400); + evas_object_show(win); + elm_run(); + free(me->menu); + free(me->sidemenu); + free(me->main_view); + free(me->cal_view); + free(me->settings_view); + free(me); + elm_shutdown(); + return 0; +} +ELM_MAIN() diff --git a/media/code_c/tutorial/menu/menu.edc b/media/code_c/tutorial/menu/menu.edc new file mode 100644 index 000000000..687dad023 --- /dev/null +++ b/media/code_c/tutorial/menu/menu.edc @@ -0,0 +1,102 @@ +collections { + group { + name: "my_layout"; + parts { + part + { + name: "menu/main"; + type: SWALLOW; + description + { + state: "default" 0.0; + rel1.relative: 1.0 0.0; + rel2.relative: 1.0 1.0; + } + description + { + state: "up" 0.0; + rel1.relative: 0.0 0.01; + rel2.relative: 1.0 0.18; + + } + } //End menu/main + part + { + name: "view/main"; + type: SWALLOW; + description + { + state: "default" 0.0; + rel1.relative: 1.0 1.0; + rel2.relative: 1.0 1.0; + } + description + { + state: "up" 0.0; + rel1.relative: 0.0 1.01; + rel1.to: "menu/main"; + rel2.relative: 1.0 1.0; + color: 0 255 0 255; + } + } // END view/main + part + { + name: "menu/side"; + type: SWALLOW; + description + { + state: "default" 0.0; + rel1.relative: -0.3 0.0; + rel2.relative: -0.3 1.0; + color: 255 0 0 255; + } + description + { + state: "up" 0.0; + rel1.relative: 0.0 0.2; + rel2.relative: 0.10 1.0; + color: 255 0 0 255; + } + } //END menu/side + } + programs { + program + { + name: "animation,menu_main"; + source: ""; + signal: "load"; + action: STATE_SET "up" 1.0; + target: "menu/main"; + transition: LINEAR 0.5; + } // END animation,menu_main + program + { + name: "animation,view_main"; + source: ""; + signal: "load"; + action: STATE_SET "up" 1.0; + target: "view/main"; + transition: LINEAR 0.2; + } //END animation,view_main² + program + { + name: "animation,menu_side,hide"; + source: "MenuButton"; + signal: "hide,sidemenu"; + action: STATE_SET "default" 1.0; + target: "menu/side"; + transition: LINEAR 0.2; + } //END animation,menu_side,hide + + program + { + name: "animation,menu_side"; + source: "MenuButton"; + signal: "show,sidemenu"; + action: STATE_SET "up" 1.0; + target: "menu/side"; + transition: LINEAR 0.2; + } //END animation,menu_side + } + } +} diff --git a/media/code_c/tutorial/menu/structure_menu.h b/media/code_c/tutorial/menu/structure_menu.h new file mode 100644 index 000000000..f5fe649e0 --- /dev/null +++ b/media/code_c/tutorial/menu/structure_menu.h @@ -0,0 +1,51 @@ +#ifndef __STRUCTURE_MENU_ +#define __STRUCTURE_MENU_ + +typedef struct _Mainview +{ + Evas_Object *box; //The main container of the view + Evas_Object *img; //An image + Evas_Object *lb_day; //A label +} Mainview; + +typedef struct _Dateview +{ + Evas_Object *box; //The main container of the view + Evas_Object *datetime; //A datetime widget + Evas_Object *lb_date; //A label +} Dateview; + +typedef struct _Calview +{ + Evas_Object *box; //The main container of the view + Evas_Object *calendar; //A calendar widget + Evas_Object *lb_cal; //A label widget +} Calview; + +typedef struct _Setview +{ + Evas_Object *box; //The main container of the view + Evas_Object *lb; //A label widget +} Setview; + +typedef struct _Tbarmenu +{ + Evas_Object *tb; //The toolbar + Elm_Object_Item *submenu; //The submenu item +} Tbarmenu; + +typedef struct _Menu +{ + Evas_Object* layout; // The "edje" layout + Evas_Object *nf; // The Naviframe to handle the views + Tbarmenu *menu; // The main menu + Tbarmenu *sidemenu; // The side menu + Mainview *main_view; // The main view + Calview *cal_view; // The calendar view + Dateview *date_view; // The date and time view + Setview *settings_view; //The settin view + + Eina_Bool sdmenu_up; // A bool variable to keep the side menu status +} Menu; + +#endif diff --git a/media/menu.png b/media/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..e309554c6db7597f2571f96651e888967becd53c GIT binary patch literal 93092 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 literal 0 HcmV?d00001 diff --git a/media/view_main.png b/media/view_main.png new file mode 100644 index 0000000000000000000000000000000000000000..510e3fa459aec5d3e26748a3d3a80c1f19ae8ac2 GIT binary patch literal 3832 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 literal 0 HcmV?d00001 diff --git a/pages/docs.txt b/pages/docs.txt index 0aaa6e7c7..9126b2e55 100644 --- a/pages/docs.txt +++ b/pages/docs.txt @@ -45,6 +45,7 @@ Go check the current available version of EFL on each distro/platform: * [[tutorial/genlist_tutorial|Genlist Tutorial]] * [[tutorial/panes_tutorial|Panes Tutorial]] * [[tutorial/form_tutorial|Form Tutorial]] + * [[tutorial/menu_tutorial|Menu Tutorial]] * [[tutorial/naviframe_tutorial|Naviframe Tutorial]] * [[tutorial/popup_tutorial|Popup Tutorial]] diff --git a/pages/tutorial/menu/basic_ui.txt b/pages/tutorial/menu/basic_ui.txt new file mode 100644 index 000000000..0a35e08f7 --- /dev/null +++ b/pages/tutorial/menu/basic_ui.txt @@ -0,0 +1,296 @@ +~~Title: Basic UI Menu~~ +//**__previous__: **//[[/tutorial/menu/theme|Defining the Application Theme]] +==== Creating the Basic UI ==== + +The view container ''view/main'' is structured like this: + +{{ :view_main.png?direct |View main}} + +The naviframe contains and manages the boxes. For more information, see the +[[/coming_soon|Container programming guide]]. This widget handle views. In +this example each view is contained in a box and the box is contained in the +naviframe. + +Create the naviframe in the ''elm_main'' function and allocate the memory to +handle the views and menus of the application. + + +// Memory allocation +Menu *me = calloc(1, sizeof(Menu)); +me->main_view = calloc(1, sizeof(Mainview)); // Allocating memory for the main view +me->cal_view = calloc(1, sizeof(Calview)); // Allocating memory for the calendar view +me->date_view = calloc(1, sizeof(Dateview)); // allocating memory for the date view +me->settings_view = calloc(1, sizeof(Setview); //Allocating memory for the settings view +me->sdmenu_up = EINA_FALSE; + + +Use ''_free_menu_cb'' callback function to free the memory: + + +evas_object_smart_callback_add(win, "delete,request", _free_menu_cb, me); + + + +static void +_free_menu_cb(void *data, Evas_Object *obj, void *event_info) +{ + Menu *me = (Menu *)data; + + free(me->menu); + free(me->sidemenu); + free(me->main_view); + free(me->cal_view); + free(me->settings_view); + free(me); + evas_object_del(obj); + elm_exit(); +} + + +Create the naviframe: + +Create the main menu after most of the containers are created. First create a +new ''_build_main_menu'' function, it takes an ''Menu'' and the ''win'' as a parameter. This +function is called by ''elm_main''. + + + +static void +_build_main_menu(Menu *me, Evas_Object *win) +{ + //Memory allocation for the main menu function. + Tbarmenu *menu = calloc(1, sizeof(Tbarmenu)); + //Putting the "main" menu in the application data. + me->menu = menu; + + // Creation of the "Menu" toolbar + menu->tb = elm_toolbar_add(win); + + // Setting the "Menu" Toolbar properties + elm_toolbar_shrink_mode_set(menu->tb, ELM_TOOLBAR_SHRINK_NONE); + elm_toolbar_transverse_expanded_set(menu->tb, EINA_TRUE); + elm_toolbar_homogeneous_set(menu->tb, EINA_FALSE); + + // Adding menu items to the "Menu" toolbar + elm_toolbar_item_append(menu->tb, ICON_DIR"home.svg", "Home", _menu_item_selected_cb, me); + elm_toolbar_item_append(menu->tb, ICON_DIR"calendar.svg", "Calendar", _menu_item_selected_cb, me); + elm_toolbar_item_append(menu->tb, ICON_DIR"clock.svg", "Date", _menu_item_selected_cb, me); + elm_toolbar_item_append(menu->tb, ICON_DIR"settings.svg", "Settings", _menu_item_selected_cb, me); + + // Showing the widget + evas_object_show(menu->tb); + + // Adding the widget to the "menu/main" SWALLOW container defined in the .edc theme file. + //elm_object_part_content_set(me->layout, "menu/main", menu->tb); + elm_layout_content_set(me->layout, "menu/main", menu->tb); + + // Set the default view + elm_toolbar_item_selected_set(elm_toolbar_first_item_get(menu->tb), EINA_TRUE); +} + + +Create a toolbar with ''elm_toolbar_add''. This toolbar is a child of the main +window so set ''win'' as parameter. + +Setup the behavior of the toolbar, the display mode is set by using +''elm_toolbar_shrink_mode_set''. The toolbar does not scroll under +''#ELM_TOOLBAR_SHRINK_NONE'' mode, but it enforces a minimum size, so that all +the items fit inside it. It does not scroll or show the items that do not fit +under ''#ELM_TOOLBAR_SHRINK_HIDE'' mode. Finally, it scrolls under +''#ELM_TOOLBAR_SHRINK_SCROLL'' mode, and it creates a button to aggregate +items which did not fit with the ''#ELM_TOOLBAR_SHRINK_MENU'' mode. + +In this example, there is only a limited number of menu elements and thus +''ELM_TOOLBAR_SHRINK_NONE'' is used. + +Expand the transverse length of the item according the transverse length of +the toolbar, giving ''EINA_TRUE'' as second parameter of +''elm_toolbar_transverse_expanded_set''. + +Make the menu items have the same size by setting ''EINA_TRUE'' to +''elm_toolbar_homogeneous_set''. This activates the homogeneous mode of the +toolbar. + +Add menu items to the toolbar using ''elm_toolbar_item_append''. This function +takes 4 parameters: + * the target toolbar + * the icon path for the menu item + * the item label + * the function to camm when the item is clicked + * the data to assciate with the item for related callbacks + +For the icons, add some images in a directory and define a macro to contain +the path to the directory. + + +#define ICON_DIR "" + + +The item label is very important, it is used in the item callback function. + +In this example, only one callback is created to manage all the items but +there can be several callback functions. Pass the application data to the +callback. + +This callback is an ''Evas_Smart_Cb'', it must have this prototype: + + +_mycallback(void *data, Evas_Object *obj, void *event_info) + + +In this example, the aim of the callback is to create the view which the user +has requested. It is named ''_menu_item_selected_cb'', and in this function we +recover the calling object text to call the correct view creation function. + + +static void +_menu_item_selected_cb(void *data, Evas_Object *obj, void *event_info) +{ + Elm_Object_Item *it = (Elm_Object_Item*) event_info; + Menu * me = (Menu *)data; + Evas_Object *view; + + // Get the menu item text + const char *str = elm_object_item_text_get(it); + + // Comparing with the possible view names + if (!strcmp(str, "Calendar")) + { + // Build the "Calendar View" + _build_calendar_view(me); + // Set the view from the application data + view = me->cal_view->box; + } + else if (!strcmp(str, "Date")) + { + // Build the "Date View" + _build_date_view(data); + // Set the view from the application data + view = me->date_view->box; + } + else if (!strcmp(str, "Home")) + { + // Build the "Home or main View" + _build_main_view(me); + // Set the view from the application data + view = me->main_view->box; + } + else if (!strcmp(str, "Settings")) + { + // Build the "Settings" view + _build_settings_view(data); + // Set the view from the application data + view = data->settings_view->box; + } + else if (!strcmp(str, "Clock")) + { + // Build the "Date View" + _build_date_view(me); + // Set the view from the application data + view = me->date_view->box; + } + // Show the view in the naviframe + elm_object_content_set(me->nf, view); +} + + +The menu has views, Calendar, Date, Settings, and Home (main view). The view +names are stored in the menu item label, to get the label compare the returned +string with the view names. When the name matches, the view is built by +calling the correct function. Store the view in the application data and set +up a new content to the naviframe before exit. + +This way when the user clicks a menu item, the view changes. The naviframe +widget destroys its content on each call of ''elm_object_content_set''. That is +why the content must be built again on each item click. + +Create the functions which create the views. + + +static void +_build_main_view(Menu *me) +{ + Mainview *view = me->main_view; + char buf[PATH_MAX]; + + //Main box + view->box = elm_box_add(me->nf); + elm_box_horizontal_set(view->box, EINA_FALSE); + elm_box_homogeneous_set(view->box, EINA_TRUE); + + view->img = elm_image_add(view->box); + evas_object_size_hint_weight_set(view->img, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_align_set(view->img, 0.5, 0.5); + evas_object_size_hint_min_set(view->img, 25, 25); + snprintf(buf, sizeof(buf), "%s/%s", ICON_DIR, "icon.png"); + if (!elm_image_file_set(view->img, buf, NULL)) + elm_object_text_set(view->lb_day, "Problem loading image"); + elm_box_pack_start(view->box, view->img); + evas_object_show(view->img); + + view->lb_day = elm_label_add(view->box); + elm_object_text_set(view->lb_day, "Main view"); + evas_object_size_hint_weight_set(view->lb_day, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_box_pack_end(view->box, view->lb_day); + evas_object_show(view->lb_day); + + elm_layout_content_set(me->layout, MAINVIEW, view->box); +} + +static void +_build_calendar_view(Menu *me) +{ + Calview *view = me->cal_view; + + //Main box image = elm_image_add(win); + + view->box = elm_box_add(me->nf); + elm_box_horizontal_set(view->box, EINA_FALSE); + elm_box_homogeneous_set(view->box, EINA_TRUE); + + view->calendar = elm_calendar_add(me->nf); + evas_object_size_hint_weight_set(view->calendar, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_align_set(view->calendar, 0.5, 0.5); + elm_box_pack_end(view->box, view->calendar); + evas_object_show(view->calendar); + + view->lb_cal = elm_label_add(view->box); + elm_object_text_set(view->lb_cal, "The calendar view"); + evas_object_size_hint_weight_set(view->lb_cal, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_box_pack_end(view->box, view->lb_cal); + evas_object_show(view->lb_cal); + + elm_layout_content_set(me->layout, MAINVIEW, view->box); +} // End of_build_calendar_view + +static void +_build_date_view(Menu *me) +{ + Dateview *view = me->date_view; + + //Main box image = elm_image_add(win); + + view->box = elm_box_add(me->nf); + elm_box_horizontal_set(view->box, EINA_FALSE); + elm_box_homogeneous_set(view->box, EINA_TRUE); + + view->datetime = elm_datetime_add(me->nf); + //evas_object_size_hint_weight_set(view->datetime, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(view->datetime, EVAS_HINT_FILL, 0.5); + elm_box_pack_end(view->box, view->datetime); + evas_object_show(view->datetime); + + view->lb_date = elm_label_add(view->box); + elm_object_text_set(view->lb_date, "The calendar view"); + evas_object_size_hint_weight_set(view->lb_date, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_box_pack_end(view->box, view->lb_date); + evas_object_show(view->lb_date); + + elm_layout_content_set(me->layout, MAINVIEW, view->box); +} // End of_build_calendar_view + + + +Each function creates a view and stores it in the application data. +\\ +//**__next__: **//[[/tutorial/menu/hidden_menu|Creating the Hidden Menu]] diff --git a/pages/tutorial/menu/hidden_menu.txt b/pages/tutorial/menu/hidden_menu.txt new file mode 100644 index 000000000..7565ca4e6 --- /dev/null +++ b/pages/tutorial/menu/hidden_menu.txt @@ -0,0 +1,94 @@ +~~Title: Hidden Menu Tutorial~~ +//**__previous__: **//[[/tutorial/menu/basic_ui|Creating the Basic UI]] +==== Creating a Hidden Menu ==== + +Add a new function called ''_build_side_menu'' to create the side Menu toolbar and +add some items to it. This function takes the application data as parameter +and stores the built menu in the sidemenu attribute of the structure. + + +static void _build_side_menu(Menu *me, Evas_Object *win) +{ + Tbarmenu *sidemenu = calloc(1, sizeof(Tbarmenu)); + me->sidemenu = sidemenu; + + sidemenu->tb = elm_toolbar_add(win); + + elm_toolbar_shrink_mode_set(sidemenu->tb, ELM_TOOLBAR_SHRINK_EXPAND); + elm_toolbar_transverse_expanded_set(sidemenu->tb, EINA_TRUE); + + elm_toolbar_item_append(sidemenu->tb, ICON_DIR"/home.svg", "Home", _menu_item_selected_cb, me); + elm_toolbar_item_append(sidemenu->tb, ICON_DIR"/account.svg", "Account", NULL, NULL); + elm_toolbar_item_append(sidemenu->tb, ICON_DIR"/contact.svg", "Friends", NULL, NULL); + elm_toolbar_item_append(sidemenu->tb, ICON_DIR"/clock.svg", "Clock", _menu_item_selected_cb, me); + elm_toolbar_homogeneous_set(sidemenu->tb, EINA_FALSE); + evas_object_show(sidemenu->tb); + elm_object_part_content_set(me->layout, "menu/side", sidemenu->tb); + elm_toolbar_horizontal_set(sidemenu->tb, EINA_FALSE); + elm_toolbar_item_selected_set(elm_toolbar_first_item_get(sidemenu->tb), EINA_TRUE); +} + + +The side menu is created but hidden by default, to make it appear the user must +click Home button. + +By default the Basic EDC UI application creates a function ''keydown_cb'' to +handle the key down events. In ''elm_main'' an ''ecore_event_handler_add'' +function is called with the ''ECORE_EVENT_KEY_DOWN'' macro and with +''keydown_cb'' as callback. In this callback, the ''KEY_END'' event puts the +window on the lower state. + + +keydown_cb(void *data , int type , void *event) +{ + Evas_Object *win = data; + Ecore_Event_Key *ev = event; + if (!strcmp(ev->keyname, KEY_END)) + { + /* Let window go to hide state. */ + elm_win_lower(win); + } + + return ECORE_CALLBACK_DONE; +} + + +The key name of menu button is ''XF86Send''. Add the menu button key press +handling to the ''keydown_cb''. The menu is shown on the first press and +hidden it on the second press. Use ''Eina_Bool sdmenu_up'' on the application +data to store the menu status during the application execution. If +''me->sdmenu_up'' is ''EINA_TRUE'' the menu is visible. + +A program ''animation,menu_side'' is defined in the ''.edc'' theme file. This +program is run when the signal ''show,sidemenu'' is received with the source +''MenuButton''. Also the program who hides the side menu is defined and is +called ''animation,menu_side,hide'' which start on signal ''hide,sidemenu''. + +Test side menu status by sending the signals using ''elm_object_signal_emit'' + + +static Eina_Bool +keydown_cb(void *data , int type , void *event) +{ + Menu *me = data; + Ecore_Event_Key *ev = event; + if (!strcmp(ev->keyname, "XF86Send")) + { + if (me->sdmenu_up == EINA_TRUE) + { + // If the menu is visible send a "hide,sidemenu" signal + elm_object_signal_emit(me->layout, "hide,sidemenu", "MenuButton"); + // Store the new menu status (hidden). + me->sdmenu_up = EINA_FALSE; + } + else + { + // If the menu is not visible send a "show,sidemenu" signal + elm_object_signal_emit(me->layout, "show,sidemenu", "MenuButton"); + // Store the new menu status (hidden). + me->sdmenu_up = EINA_TRUE; + } + } + return ECORE_CALLBACK_DONE; +} + diff --git a/pages/tutorial/menu/structure.txt b/pages/tutorial/menu/structure.txt new file mode 100644 index 000000000..4a9000bb1 --- /dev/null +++ b/pages/tutorial/menu/structure.txt @@ -0,0 +1,74 @@ +~~Title: Application "Structure" Menu Tutorial~~ +==== Defining the Application "Structure" ==== + +Define the structure of the menu application: + + +typedef struct _Menu +{ + Evas_Object* layout; // The "edje" layout + Evas_Object *nf; // The Naviframe to handle the views + Tbarmenu *menu; // The main menu + Tbarmenu *sidemenu; // The side menu + Mainview *main_view; // The main view + Calview *cal_view; // The calendar view + Dateview *date_view; // The date and time view + Setview *settings_view; //The settings view + + Eina_Bool sdmenu_up; // A bool variable to keep the side menu status +} Menu; + + +This structure contains some specific variables for the views and the menus. + +Define the main view by using the structure ''mainview'', it is composed of a +''box'' (the main container), an image img, and a label ''lb_main''. + + +typedef struct _Mainview +{ + Evas_Object *box; //The main container of the view + Evas_Object *img; //An image + Evas_Object *lb_day; //A label +} Mainview; + + +The date view is very similar, it contains a ''box'', a ''datetime'' widget +and a label ''lb_date''. + + +typedef struct _Dateview +{ + Evas_Object *box; //The main container of the view + Evas_Object *datetime; //A datetime widget + Evas_Object *lb_date; //A label +} Dateview; + + +The last view is the calendar, it contains a ''box'', a ''calendar'' and a +label ''lb_cal''. + + +typedef struct _Calview +{ + Evas_Object *box; //The main container of the view + Evas_Object *calendar; //A calendar widget + Evas_Object *lb_cal; //A label widget +} Calview; + + +The last members of the application structure are the 2 menus. The main menu +is fixed and visible, and the side menu is hidden on application starts. These +menus are represented by the ''Tbarmenu'' structure. + + +typedef struct _Tbarmenu +{ + Evas_Object *tb; //The toolbar + Elm_Object_Item *submenu; //The submenu item +} Tbarmenu; + +\\ +//**__The whole code__ : **// {{/code_c/tutorial/menu/structure_menu.h}} +\\ +//**__next__: **//[[/tutorial/menu/theme|Defining the Application Theme]] diff --git a/pages/tutorial/menu/theme.txt b/pages/tutorial/menu/theme.txt new file mode 100644 index 000000000..0c2712814 --- /dev/null +++ b/pages/tutorial/menu/theme.txt @@ -0,0 +1,170 @@ +~~Title: Application Theme Menu Tutorial~~ +//**__previous__: **//[[/tutorial/menu/structure|Defining the Application "Structure"]] +==== Defining the Application Theme ==== + +After the structure is defined, define the UI. In this tutorial, Basic EDC UI +Application is used. + +This application structure is based on this skeleton: + + +{{ :menu_skeleton.png?direct&193 |Menu skeleton }} + +The window and the layout are set by the Basic EDC UI Application skeleton. +Setup the containers for widgets and views. + +Create the ''menu/main'' ''SWALLOW'' part in the ''.edc'' file. + + +part +{ + name: "menu/main"; + type: SWALLOW; + description + { + state: "default" 0.0; + rel1.relative: 1.0 0.0; + rel2.relative: 1.0 1.0; + } + description + { + state: "up" 0.0; + rel1.relative: 0.0 0.01; + rel2.relative: 1.0 0.19; + + } +} //End menu/main + + +This part has two descriptions, one for the real position named ''up'' and +another out of the screen as the default position. Create these states to +animate the menu on application start. The animation is run by +''animation,menu_main''. + + +program +{ + name: "animation,menu_main"; + source: ""; + signal: "load"; + action: STATE_SET "up" 1.0; + target: "menu/main"; + transition: LINEAR 0.5; +} // END animation,menu_main + + +For more information about animations, see the [[/coming_soon|Effects tutorial]]. + +Create another container for the views. This container is also a "SWALLOW" +part. + + +part +{ + name: "view/main"; + type: SWALLOW; + description + { + state: "default" 0.0; + rel1.relative: 1.0 1.0; + rel2.relative: 1.0 1.0; + } + description + { + state: "up" 0.0; + rel1.relative: 0.0 1.01; + rel1.to: "menu/main"; + rel2.relative: 1.0 1.0; + color: 0 255 0 255; + } +} // END view/main + + +This part has also two descriptions for animation purpose, like the main_menu +part. + +The program: + +program +{ + name: "animation,view_main"; + source: ""; + signal: "load"; + action: STATE_SET "up" 1.0; + target: "view/main"; + transition: LINEAR 0.2; +} //END animation,view_main² + + +The last container is the side menu called ''menu/side''. + + +part +{ + name: "menu/side"; + type: SWALLOW; + description + { + state: "default" 0.0; + rel1.relative: -0.3 0.0; + rel2.relative: -0.3 1.0; + color: 255 0 0 255; + } + description + { + state: "up" 0.0; + rel1.relative: 0.0 0.2; + rel2.relative: 0.10 1.0; + color: 255 0 0 255; + } +} //END menu/side + + +By default, this container is hidden. Clicking menu button makes it appear. +The second description places the container on the left of the screen. Here is +the program to run animation: + + +program +{ + name: "animation,menu_side"; + source: "MenuButton"; + signal: "show,sidemenu"; + action: STATE_SET "up" 1.0; + target: "menu/side"; + transition: LINEAR 0.2; +} //END animation,menu_side + + +This program runs when it receives an event called ''show,sidemenu'' from +''MenuButton'' source. + +Create a program that does the opposite and starts when it receives a signal +called ''hide,menu_side'' from ''MenuButton'' source. + + +program +{ + name: "animation,menu_side,hide"; + source: "MenuButton"; + signal: "hide,sidemenu"; + action: STATE_SET "default" 1.0; + target: "menu/side"; + transition: LINEAR 0.2; +} //END animation,menu_side,hide + +program +{ + name: "animation,menu_side"; + source: "MenuButton"; + signal: "show,sidemenu"; + action: STATE_SET "up" 1.0; + target: "menu/side"; + transition: LINEAR 0.2; +} //END animation,menu_side + + +\\ +//**__The whole code__ : **// {{/code_c/tutorial/menu/menu.edc}} +\\ +//**__next__: **//[[/tutorial/menu/basic_ui|Creating the Basic UI]] diff --git a/pages/tutorial/menu_tutorial.txt b/pages/tutorial/menu_tutorial.txt new file mode 100644 index 000000000..f83e5182a --- /dev/null +++ b/pages/tutorial/menu_tutorial.txt @@ -0,0 +1,20 @@ +~~Title: Menu Tutorial~~ +==== Menu Tutorial ==== + +This tutorial shows how to add menus to the application. The example code +creates an application with 3 views, these views are showed by an interaction +with a menu bar, placed on the top of the application. The application has +also a hidden menu that appears only when the menu button is pressed. + +=== Table of contents === + + * [[/tutorial/menu/structure|Defining the Application "Structure"]] + * [[/tutorial/menu/theme|Defining the Application Theme]] + * [[/tutorial/menu/basic_ui|Creating the Basic UI]] + * [[/tutorial/menu/hidden_menu|Creating the Hidden Menu]] + +Menu example : + +{{ :menu.png?direct }} +\\ +//**__The whole code__: **//{{/code_c/tutorial/menu/structure.h}} {{/code_c/tutorial/menu/menu.edc}} {{/code_c/tutorial/menu/menu.c}}