efl
80 строк · 3.1 Кб
1#ifdef HAVE_CONFIG_H2# include "elementary_config.h"3#endif4#include <Elementary.h>5static void6_click_me(void *data, Evas_Object *obj EINA_UNUSED,7void *event_info EINA_UNUSED)8{
9Elm_Object_Item *it = data;10Eina_Bool disabled = elm_object_item_disabled_get(it);11printf("The first item is now %s\n", disabled ? "enabled" : "disabled");12elm_object_item_disabled_set(it, !disabled);13}
14
15void
16test_main_menu(void *data EINA_UNUSED,17Evas_Object *obj EINA_UNUSED,18void *event_info EINA_UNUSED)19{
20Evas_Object *win, *menu, *label, *bx;21Elm_Object_Item *menu_it, *menu_it1;22char *s;23Eina_Bool enabled = EINA_TRUE;24
25elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);26
27win = elm_win_util_standard_add("menu", "Menu");28elm_win_autodel_set(win, EINA_TRUE);29
30bx = elm_box_add(win);31evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);32elm_win_resize_object_add(win, bx);33evas_object_show(bx);34
35label = elm_label_add(win);36elm_object_text_set(label, "Note: the D-Bus menu example requires support from the "37"desktop environment to display the application menu");38evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);39evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);40elm_label_line_wrap_set(label, ELM_WRAP_WORD);41elm_box_pack_end(bx, label);42evas_object_show(label);43
44s = getenv("ELM_DISABLE_EXTERNAL_MENU");45if (s)46enabled = !atoi(s);47
48if (!enabled)49{50label = elm_label_add(win);51elm_object_text_set(label, "(ELM_DISABLE_EXTERNAL_MENU environment "52"variable is set. Using local menu instead)");53evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);54evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);55elm_label_line_wrap_set(label, ELM_WRAP_WORD);56elm_box_pack_end(bx, label);57evas_object_show(label);58}59
60menu = elm_win_main_menu_get(win);61
62menu_it = elm_menu_item_add(menu, NULL, NULL, "first item", NULL, NULL);63elm_menu_item_add(menu, menu_it, "elementary", "first item", NULL, NULL);64menu_it1 = elm_menu_item_add(menu, menu_it, NULL, "submenu", NULL, NULL);65elm_menu_item_add(menu, menu_it1, NULL, "first item", NULL, NULL);66elm_menu_item_add(menu, menu_it1, "gimp", "second item", NULL, NULL);67
68menu_it = elm_menu_item_add(menu, NULL, NULL, "second item", NULL, NULL);69menu_it1 = elm_menu_item_add(menu, menu_it, NULL, "disabled item", NULL, NULL);70elm_object_item_disabled_set(menu_it1, EINA_TRUE);71elm_menu_item_separator_add(menu, menu_it);72elm_menu_item_add(menu, menu_it, NULL, "click me :-)", _click_me, menu_it1);73elm_menu_item_add(menu, menu_it, "applications-email-panel", "third item", NULL, NULL);74menu_it1 = elm_menu_item_add(menu, menu_it, NULL, "sub menu", NULL, NULL);75elm_menu_item_add(menu, menu_it1, NULL, "first item", NULL, NULL);76
77evas_object_resize(win, 250 * elm_config_scale_get(),78350 * elm_config_scale_get());79evas_object_show(win);80}
81