Lines Matching refs:menu

26 static int menu_nable_recurse(vimmenu_T *menu, char_u *name, int modes, int enable);
33 static int menu_name_equal(char_u *name, vimmenu_T *menu);
40 static void gui_create_tearoffs_recurse(vimmenu_T *menu, const char_u *pname, int *pri_tab, int pri…
42 static void gui_destroy_tearoffs_recurse(vimmenu_T *menu);
466 vimmenu_T *menu = NULL; in add_menu_path() local
528 menu = *menup; in add_menu_path()
529 while (menu != NULL) in add_menu_path()
531 if (menu_name_equal(name, menu) || menu_name_equal(dname, menu)) in add_menu_path()
533 if (*next_name == NUL && menu->children != NULL) in add_menu_path()
539 if (*next_name != NUL && menu->children == NULL in add_menu_path()
551 menup = &menu->next; in add_menu_path()
555 if (parent != NULL || menu_is_menubar(menu->name)) in add_menu_path()
560 if (menu->priority <= pri_tab[pri_idx]) in add_menu_path()
568 menu = menu->next; in add_menu_path()
571 if (menu == NULL) in add_menu_path()
586 menu = ALLOC_CLEAR_ONE(vimmenu_T); in add_menu_path()
587 if (menu == NULL) in add_menu_path()
590 menu->modes = modes; in add_menu_path()
591 menu->enabled = MENU_ALL_MODES; in add_menu_path()
592 menu->name = vim_strsave(name); in add_menu_path()
594 menu->dname = menu_text(name, &menu->mnemonic, &menu->actext); in add_menu_path()
598 menu->en_name = vim_strsave(en_name); in add_menu_path()
599 menu->en_dname = menu_text(en_name, NULL, NULL); in add_menu_path()
603 menu->en_name = NULL; in add_menu_path()
604 menu->en_dname = NULL; in add_menu_path()
607 menu->priority = pri_tab[pri_idx]; in add_menu_path()
608 menu->parent = parent; in add_menu_path()
610 menu->sensitive = TRUE; // the default in add_menu_path()
613 menu->tip = NULL; in add_menu_path()
616 menu->image = None; // X-Windows definition for NULL in add_menu_path()
622 menu->next = *lower_pri; in add_menu_path()
623 *lower_pri = menu; in add_menu_path()
628 menu->iconidx = menuarg->iconidx; in add_menu_path()
629 menu->icon_builtin = menuarg->icon_builtin; in add_menu_path()
631 menu->iconfile = vim_strsave(menuarg->iconfile); in add_menu_path()
641 old_modes = menu->modes; in add_menu_path()
653 menu->modes |= modes; in add_menu_path()
654 menu->enabled |= modes; in add_menu_path()
664 && (menu->modes & MENU_ALL_MODES) != 0) in add_menu_path()
671 gui_mch_add_menu_item(menu, new_idx); in add_menu_path()
679 gui_mch_add_menu(menu, new_idx); in add_menu_path()
726 menup = &menu->children; in add_menu_path()
727 parent = menu; in add_menu_path()
744 if (menu != NULL && modes) in add_menu_path()
747 menu->cb = gui_menu_cb; in add_menu_path()
757 free_menu_string(menu, i); in add_menu_path()
787 menu->strings[i] = alloc(STRLEN(call_data) + 5); in add_menu_path()
788 if (menu->strings[i] != NULL) in add_menu_path()
790 menu->strings[i][0] = c; in add_menu_path()
792 STRCPY(menu->strings[i] + 1, call_data); in add_menu_path()
795 menu->strings[i][1] = d; in add_menu_path()
796 STRCPY(menu->strings[i] + 2, call_data); in add_menu_path()
800 int len = (int)STRLEN(menu->strings[i]); in add_menu_path()
803 menu->strings[i][len] = Ctrl_BSL; in add_menu_path()
804 menu->strings[i][len + 1] = Ctrl_G; in add_menu_path()
805 menu->strings[i][len + 2] = NUL; in add_menu_path()
810 menu->strings[i] = p; in add_menu_path()
811 menu->noremap[i] = menuarg->noremap[0]; in add_menu_path()
812 menu->silent[i] = menuarg->silent[0]; in add_menu_path()
819 gui_mch_menu_set_tip(menu); in add_menu_path()
852 vimmenu_T *menu, in menu_nable_recurse() argument
859 if (menu == NULL) in menu_nable_recurse()
866 while (menu != NULL) in menu_nable_recurse()
868 if (*name == NUL || *name == '*' || menu_name_equal(name, menu)) in menu_nable_recurse()
872 if (menu->children == NULL) in menu_nable_recurse()
877 if (menu_nable_recurse(menu->children, p, modes, enable) in menu_nable_recurse()
883 menu->enabled |= modes; in menu_nable_recurse()
885 menu->enabled &= ~modes; in menu_nable_recurse()
895 menu = menu->next; in menu_nable_recurse()
897 if (*name != NUL && *name != '*' && menu == NULL) in menu_nable_recurse()
922 vimmenu_T *menu; in remove_menu() local
933 while ((menu = *menup) != NULL) in remove_menu()
935 if (*name == NUL || menu_name_equal(name, menu)) in remove_menu()
937 if (*p != NUL && menu->children == NULL) in remove_menu()
943 if ((menu->modes & modes) != 0x0) in remove_menu()
952 if (IsWindow(menu->tearoff_handle)) in remove_menu()
953 DestroyWindow(menu->tearoff_handle); in remove_menu()
956 if (remove_menu(&menu->children, p, modes, silent) == FAIL) in remove_menu()
976 menu->modes &= ~modes; in remove_menu()
978 free_menu_string(menu, MENU_INDEX_TIP); in remove_menu()
979 if ((menu->modes & MENU_ALL_MODES) == 0) in remove_menu()
982 menup = &menu->next; in remove_menu()
985 menup = &menu->next; in remove_menu()
989 if (menu == NULL) in remove_menu()
998 menu->modes &= ~modes; in remove_menu()
1000 if ((s_tearoffs) && (menu->children != NULL)) // there's a tear bar.. in remove_menu()
1001 child = menu->children->next; // don't count tearoff bar in remove_menu()
1004 child = menu->children; in remove_menu()
1006 menu->modes |= child->modes; in remove_menu()
1009 free_menu_string(menu, MENU_INDEX_TIP); in remove_menu()
1014 gui_mch_menu_set_tip(menu); in remove_menu()
1017 if ((menu->modes & MENU_ALL_MODES) == 0) in remove_menu()
1021 if (s_tearoffs && menu->children != NULL) // there's a tear bar.. in remove_menu()
1022 free_menu(&menu->children); in remove_menu()
1024 *menup = menu; in remove_menu()
1049 vimmenu_T *menu; in free_menu() local
1051 menu = *menup; in free_menu()
1057 gui_mch_destroy_menu(menu); in free_menu()
1062 *menup = menu->next; in free_menu()
1063 vim_free(menu->name); in free_menu()
1064 vim_free(menu->dname); in free_menu()
1066 vim_free(menu->en_name); in free_menu()
1067 vim_free(menu->en_dname); in free_menu()
1069 vim_free(menu->actext); in free_menu()
1071 vim_free(menu->iconfile); in free_menu()
1073 vim_free(menu->xpm_fname); in free_menu()
1077 free_menu_string(menu, i); in free_menu()
1078 vim_free(menu); in free_menu()
1090 free_menu_string(vimmenu_T *menu, int idx) in free_menu_string() argument
1096 if (menu->strings[i] == menu->strings[idx]) in free_menu_string()
1099 vim_free(menu->strings[idx]); in free_menu_string()
1100 menu->strings[idx] = NULL; in free_menu_string()
1111 vimmenu_T *menu; in show_menus() local
1117 menu = *get_root_menu(path_name); in show_menus()
1123 while (menu != NULL) in show_menus()
1125 if (menu_name_equal(name, menu)) in show_menus()
1128 if (*p != NUL && menu->children == NULL) in show_menus()
1134 else if ((menu->modes & modes) == 0x0) in show_menus()
1142 menu = menu->next; in show_menus()
1144 if (menu == NULL) in show_menus()
1151 parent = menu; in show_menus()
1152 menu = menu->children; in show_menus()
1168 show_menus_recursive(vimmenu_T *menu, int modes, int depth) in show_menus_recursive() argument
1173 if (menu != NULL && (menu->modes & modes) == 0x0) in show_menus_recursive()
1176 if (menu != NULL) in show_menus_recursive()
1183 if (menu->priority) in show_menus_recursive()
1185 msg_outnum((long)menu->priority); in show_menus_recursive()
1189 msg_outtrans_attr(menu->name, HL_ATTR(HLF_D)); in show_menus_recursive()
1192 if (menu != NULL && menu->children == NULL) in show_menus_recursive()
1195 if ((menu->modes & modes & (1 << bit)) != 0) in show_menus_recursive()
1203 if (menu->noremap[bit] == REMAP_NONE) in show_menus_recursive()
1205 else if (menu->noremap[bit] == REMAP_SCRIPT) in show_menus_recursive()
1209 if (menu->silent[bit]) in show_menus_recursive()
1213 if ((menu->modes & menu->enabled & (1 << bit)) == 0) in show_menus_recursive()
1218 if (*menu->strings[bit] == NUL) in show_menus_recursive()
1221 msg_outtrans_special(menu->strings[bit], FALSE, 0); in show_menus_recursive()
1226 if (menu == NULL) in show_menus_recursive()
1228 menu = root_menu; in show_menus_recursive()
1232 menu = menu->children; in show_menus_recursive()
1235 for (; menu != NULL && !got_int; menu = menu->next) in show_menus_recursive()
1236 if (!menu_is_hidden(menu->dname)) in show_menus_recursive()
1237 show_menus_recursive(menu, modes, depth + 1); in show_menus_recursive()
1264 vimmenu_T *menu; in set_context_in_menu_cmd() local
1318 menu = root_menu; in set_context_in_menu_cmd()
1330 while (menu != NULL) in set_context_in_menu_cmd()
1332 if (menu_name_equal(name, menu)) in set_context_in_menu_cmd()
1335 if ((*p != NUL && menu->children == NULL) in set_context_in_menu_cmd()
1336 || ((menu->modes & expand_modes) == 0x0)) in set_context_in_menu_cmd()
1347 menu = menu->next; in set_context_in_menu_cmd()
1348 if (menu == NULL && try_alt_menu) in set_context_in_menu_cmd()
1350 menu = curwin->w_winbar; in set_context_in_menu_cmd()
1354 if (menu == NULL) in set_context_in_menu_cmd()
1361 menu = menu->children; in set_context_in_menu_cmd()
1368 expand_menu = menu; in set_context_in_menu_cmd()
1386 static vimmenu_T *menu = NULL; in get_menu_name() local
1395 menu = expand_menu; in get_menu_name()
1403 while (menu != NULL && (menu_is_hidden(menu->dname) in get_menu_name()
1404 || menu_is_separator(menu->dname) in get_menu_name()
1405 || menu_is_tearoff(menu->dname) in get_menu_name()
1406 || menu->children == NULL)) in get_menu_name()
1408 menu = menu->next; in get_menu_name()
1409 if (menu == NULL && !did_alt_menu) in get_menu_name()
1411 menu = expand_menu_alt; in get_menu_name()
1416 if (menu == NULL) // at end of linked list in get_menu_name()
1419 if (menu->modes & expand_modes) in get_menu_name()
1422 str = menu->en_dname; in get_menu_name()
1426 str = menu->dname; in get_menu_name()
1428 if (menu->en_dname == NULL) in get_menu_name()
1440 menu = menu->next; in get_menu_name()
1441 if (menu == NULL && !did_alt_menu) in get_menu_name()
1443 menu = expand_menu_alt; in get_menu_name()
1462 static vimmenu_T *menu = NULL; in get_menu_names() local
1473 menu = expand_menu; in get_menu_names()
1481 while (menu != NULL in get_menu_names()
1482 && ( menu_is_hidden(menu->dname) in get_menu_names()
1483 || (expand_emenu && menu_is_separator(menu->dname)) in get_menu_names()
1484 || menu_is_tearoff(menu->dname) in get_menu_names()
1486 || menu->dname[STRLEN(menu->dname) - 1] == '.' in get_menu_names()
1490 menu = menu->next; in get_menu_names()
1491 if (menu == NULL && !did_alt_menu) in get_menu_names()
1493 menu = expand_menu_alt; in get_menu_names()
1498 if (menu == NULL) // at end of linked list in get_menu_names()
1501 if (menu->modes & expand_modes) in get_menu_names()
1503 if (menu->children != NULL) in get_menu_names()
1507 vim_strncpy(tbuffer, menu->en_dname, TBUFFER_LEN - 2); in get_menu_names()
1511 vim_strncpy(tbuffer, menu->dname, TBUFFER_LEN - 2); in get_menu_names()
1513 if (menu->en_dname == NULL) in get_menu_names()
1526 str = menu->en_dname; in get_menu_names()
1530 str = menu->dname; in get_menu_names()
1532 if (menu->en_dname == NULL) in get_menu_names()
1546 menu = menu->next; in get_menu_names()
1547 if (menu == NULL && !did_alt_menu) in get_menu_names()
1549 menu = expand_menu_alt; in get_menu_names()
1590 menu_name_equal(char_u *name, vimmenu_T *menu) in menu_name_equal() argument
1593 if (menu->en_name != NULL in menu_name_equal()
1594 && (menu_namecmp(name, menu->en_name) in menu_name_equal()
1595 || menu_namecmp(name, menu->en_dname))) in menu_name_equal()
1598 return menu_namecmp(name, menu->name) || menu_namecmp(name, menu->dname); in menu_name_equal()
1760 get_menu_index(vimmenu_T *menu, int state) in get_menu_index() argument
1788 if (idx != MENU_INDEX_INVALID && menu->strings[idx] == NULL) in get_menu_index()
1875 menu_is_child_of_popup(vimmenu_T *menu) in menu_is_child_of_popup() argument
1877 while (menu->parent != NULL) in menu_is_child_of_popup()
1878 menu = menu->parent; in menu_is_child_of_popup()
1879 return menu_is_popup(menu->name); in menu_is_child_of_popup()
1970 vimmenu_T *menu; in show_popupmenu() local
1983 FOR_ALL_MENUS(menu) in show_popupmenu()
1984 if (STRNCMP("PopUp", menu->name, 5) == 0 && STRNCMP(menu->name + 5, mode, mode_len) == 0) in show_popupmenu()
1988 if (menu != NULL && menu->children != NULL) in show_popupmenu()
1996 gui_mch_show_popupmenu(menu); in show_popupmenu()
2003 pum_show_popupmenu(menu); in show_popupmenu()
2038 gui_create_initial_menus(vimmenu_T *menu) in gui_create_initial_menus() argument
2042 while (menu != NULL) in gui_create_initial_menus()
2045 if (menu->modes & MENU_ALL_MODES) in gui_create_initial_menus()
2047 if (menu->children != NULL) in gui_create_initial_menus()
2049 gui_mch_add_menu(menu, idx); in gui_create_initial_menus()
2050 gui_create_initial_menus(menu->children); in gui_create_initial_menus()
2053 gui_mch_add_menu_item(menu, idx); in gui_create_initial_menus()
2055 menu = menu->next; in gui_create_initial_menus()
2064 gui_update_menus_recurse(vimmenu_T *menu, int mode) in gui_update_menus_recurse() argument
2068 while (menu) in gui_update_menus_recurse()
2070 if ((menu->modes & menu->enabled & mode) in gui_update_menus_recurse()
2072 || menu_is_tearoff(menu->dname) in gui_update_menus_recurse()
2080 gui_mch_menu_grey(menu, grey); in gui_update_menus_recurse()
2084 if (vim_strchr(p_go, GO_GREY) != NULL || menu->parent == NULL in gui_update_menus_recurse()
2086 || menu_is_toolbar(menu->parent->name) in gui_update_menus_recurse()
2089 gui_mch_menu_grey(menu, grey); in gui_update_menus_recurse()
2091 gui_mch_menu_hidden(menu, grey); in gui_update_menus_recurse()
2093 gui_update_menus_recurse(menu->children, mode); in gui_update_menus_recurse()
2094 menu = menu->next; in gui_update_menus_recurse()
2132 vimmenu_T *menu; in gui_is_menu_shortcut() local
2136 FOR_ALL_MENUS(menu) in gui_is_menu_shortcut()
2137 if (menu->mnemonic == key in gui_is_menu_shortcut()
2138 || (menu->mnemonic < 256 && TOLOWER_LOC(menu->mnemonic) == key)) in gui_is_menu_shortcut()
2175 vimmenu_T *menu, in gui_create_tearoffs_recurse() argument
2187 while (menu != NULL) in gui_create_tearoffs_recurse()
2189 if (menu->children != NULL && menu_is_menubar(menu->name)) in gui_create_tearoffs_recurse()
2193 len = (int)STRLEN(pname) + (int)STRLEN(menu->name); in gui_create_tearoffs_recurse()
2194 for (s = menu->name; *s; ++s) in gui_create_tearoffs_recurse()
2202 for (s = menu->name; *s; ++s) in gui_create_tearoffs_recurse()
2211 if (STRCMP(menu->children->name, TEAR_STRING) != 0) in gui_create_tearoffs_recurse()
2218 gui_create_tearoffs_recurse(menu->children, newpname, in gui_create_tearoffs_recurse()
2223 menu = menu->next; in gui_create_tearoffs_recurse()
2278 gui_destroy_tearoffs_recurse(vimmenu_T *menu) in gui_destroy_tearoffs_recurse() argument
2280 while (menu) in gui_destroy_tearoffs_recurse()
2282 if (menu->children) in gui_destroy_tearoffs_recurse()
2285 if (STRCMP(menu->children->name, TEAR_STRING) == 0) in gui_destroy_tearoffs_recurse()
2288 free_menu(&menu->children); in gui_destroy_tearoffs_recurse()
2290 if (menu->children != NULL) // if not the last one in gui_destroy_tearoffs_recurse()
2291 gui_destroy_tearoffs_recurse(menu->children); in gui_destroy_tearoffs_recurse()
2293 menu = menu->next; in gui_destroy_tearoffs_recurse()
2306 execute_menu(exarg_T *eap, vimmenu_T *menu, int mode_idx) in execute_menu() argument
2377 if (idx != MENU_INDEX_INVALID && menu->strings[idx] != NULL in execute_menu()
2378 && (menu->modes & (1 << idx))) in execute_menu()
2389 exec_normal_cmd(menu->strings[idx], menu->noremap[idx], in execute_menu()
2390 menu->silent[idx]); in execute_menu()
2395 ins_typebuf(menu->strings[idx], menu->noremap[idx], 0, in execute_menu()
2396 TRUE, menu->silent[idx]); in execute_menu()
2439 vimmenu_T *menu; in menu_getbyname() local
2447 menu = *get_root_menu(saved_name); in menu_getbyname()
2454 while (menu != NULL) in menu_getbyname()
2456 if (menu_name_equal(name, menu)) in menu_getbyname()
2458 if (*p == NUL && menu->children != NULL) in menu_getbyname()
2462 menu = NULL; in menu_getbyname()
2464 else if (*p != NUL && menu->children == NULL) in menu_getbyname()
2467 menu = NULL; in menu_getbyname()
2471 menu = menu->next; in menu_getbyname()
2473 if (menu == NULL || *p == NUL) in menu_getbyname()
2475 menu = menu->children; in menu_getbyname()
2479 if (menu == NULL) in menu_getbyname()
2486 return menu; in menu_getbyname()
2496 vimmenu_T *menu; in ex_emenu() local
2517 menu = menu_getbyname(arg); in ex_emenu()
2518 if (menu == NULL) in ex_emenu()
2522 execute_menu(eap, menu, mode_idx); in ex_emenu()
2587 vimmenu_T *menu = NULL; in gui_find_menu() local
2592 menu = *get_root_menu(path_name); in gui_find_menu()
2604 while (menu != NULL) in gui_find_menu()
2606 if (menu_name_equal(name, menu)) in gui_find_menu()
2608 if (menu->children == NULL) in gui_find_menu()
2615 menu = NULL; in gui_find_menu()
2622 menu = menu->next; in gui_find_menu()
2624 if (menu == NULL) // didn't find it in gui_find_menu()
2628 menu = menu->children; in gui_find_menu()
2632 if (menu == NULL) in gui_find_menu()
2636 return menu; in gui_find_menu()
2833 menuitem_getinfo(char_u *menu_name, vimmenu_T *menu, int modes, dict_T *dict) in menuitem_getinfo() argument
2849 for (topmenu = menu; topmenu != NULL; topmenu = topmenu->next) in menuitem_getinfo()
2855 if (menu_is_tearoff(menu->dname)) // skip tearoff menu item in menuitem_getinfo()
2858 status = dict_add_string(dict, "name", menu->name); in menuitem_getinfo()
2860 status = dict_add_string(dict, "display", menu->dname); in menuitem_getinfo()
2861 if (status == OK && menu->actext != NULL) in menuitem_getinfo()
2862 status = dict_add_string(dict, "accel", menu->actext); in menuitem_getinfo()
2864 status = dict_add_number(dict, "priority", menu->priority); in menuitem_getinfo()
2867 get_menu_mode_str(menu->modes)); in menuitem_getinfo()
2869 if (status == OK && menu->iconfile != NULL) in menuitem_getinfo()
2870 status = dict_add_string(dict, "icon", menu->iconfile); in menuitem_getinfo()
2871 if (status == OK && menu->iconidx >= 0) in menuitem_getinfo()
2872 status = dict_add_number(dict, "iconidx", menu->iconidx); in menuitem_getinfo()
2879 buf[utf_char2bytes(menu->mnemonic, buf)] = NUL; in menuitem_getinfo()
2882 buf[0] = (char_u)menu->mnemonic; in menuitem_getinfo()
2887 if (status == OK && menu->children == NULL) in menuitem_getinfo()
2896 if (menu->strings[bit] != NULL) in menuitem_getinfo()
2901 *menu->strings[bit] == NUL in menuitem_getinfo()
2904 menu->strings[bit], FALSE))); in menuitem_getinfo()
2909 menu->noremap[bit] == REMAP_NONE); in menuitem_getinfo()
2912 menu->noremap[bit] == REMAP_SCRIPT); in menuitem_getinfo()
2914 status = dict_add_bool(dict, "silent", menu->silent[bit]); in menuitem_getinfo()
2917 ((menu->enabled & (1 << bit)) != 0)); in menuitem_getinfo()
2922 if (status == OK && menu->children != NULL) in menuitem_getinfo()
2931 child = menu->children; in menuitem_getinfo()
2955 vimmenu_T *menu; in f_menu_info() local
2982 menu = *get_root_menu(menu_name); in f_menu_info()
2995 while (menu != NULL) in f_menu_info()
2997 if (menu_name_equal(name, menu)) in f_menu_info()
2999 menu = menu->next; in f_menu_info()
3001 if (menu == NULL || *p == NUL) in f_menu_info()
3003 menu = menu->children; in f_menu_info()
3009 if (menu == NULL) // specified menu not found in f_menu_info()
3012 if (menu->modes & modes) in f_menu_info()
3013 menuitem_getinfo(menu_name, menu, modes, retdict); in f_menu_info()