⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mwmparse.c

📁 安装DDD之前
💻 C
📖 第 1 页 / 共 5 页
字号:
#line 491 "mwmparse.y"    {			    MENU_Add(pscr, cur_menu);			}    break;  case 22:#line 498 "mwmparse.y"    {			    yyerror("Invalid menu item");			    yyerrok;			    yyclearin;			}    break;  case 24:#line 507 "mwmparse.y"    {			    MenuItem *tmp;			    int width, width2;			    FuncKey        *tmpk = NULL;			    KeySym          keysym;			    KeyCode         keycode;			    int             i, min, max;			    int func, contexts;			    char *ptr, *acc;			    tmp = (MenuItem *)XtCalloc(1, sizeof(MenuItem));			    if (cur_menu->first == NULL) {				cur_menu->first = tmp;				tmp->prev = NULL;				tmp->next = NULL;			    }			    else {				cur_menu->last->next = tmp;				tmp->prev = cur_menu->last;			    }			    cur_menu->last = tmp;			    cur_menu->items++;			    if (yyvsp[0].function.func == F_NOP)				tmp->item = "";			    else				tmp->item = yyvsp[-3].label.string;			    tmp->item2 = "";			    MENU_FindHotKey(tmp, yyvsp[-2].key);			    if (strcmp(tmp->item, "no-label") == 0)				tmp->strlen = 0;			    else				tmp->strlen = strlen(tmp->item);			    tmp->action = yyvsp[0].function.arg;			    tmp->next = NULL;			    tmp->state = 0;			    tmp->func = yyvsp[0].function.func;			    tmp->val1 = 0;			    tmp->val2 = 0;			    tmp->val1_unit = pscr->d_width;			    tmp->val2_unit = pscr->d_height;						    width = XTextWidth(pscr->components[MWM_MENU].font,					       tmp->item, tmp->strlen);			    if (tmp->func == F_POPUP)			        width += 15;			    if (width <= 0)			        width = 1;			    if (width > cur_menu->width)			        cur_menu->width = width;			    ptr = yyvsp[0].function.arg;			    func = yyvsp[0].function.func;			    contexts = C_WINDOW|C_ICON|C_FRAME|C_TITLE|C_LALL|C_RALL;			    /*			     * Don't let a 0 keycode go through, since that			     * means AnyKey to the XGrabKey call in GrabKeys().			     */			    keysym = yyvsp[-1].hotkey.key;			    if (keysym == 0)				break;			    if ((keycode = XKeysymToKeycode(dpy, yyvsp[-1].hotkey.key)) == 0)				break;			    acc = MENU_AcceleratorString(pscr,							 yyvsp[-1].hotkey.key,							 yyvsp[-1].hotkey.modifiers);			    if (strlen(acc)) {				tmp->item2 = XtNewString(acc);				tmp->strlen2 = strlen(acc);				width2 = XTextWidth(pscr->components[MWM_MENU].font,						    tmp->item2, tmp->strlen2);				if (width2 > cur_menu->width2)				    cur_menu->width2 = width2;			    }			    XDisplayKeycodes(dpy, &min, &max);			    for (i = min; i <= max; i++) {				if (XKeycodeToKeysym(dpy, i, 0) == keysym) {				    tmpk = (FuncKey *)XtMalloc(sizeof(FuncKey));				    tmpk->next = pscr->keys;				    pscr->keys = tmpk;				    tmpk->name = "HOTKEY";				    tmpk->keycode = i;				    tmpk->cont = contexts;				    tmpk->mods = yyvsp[-1].hotkey.modifiers;				    tmpk->func = func;				    tmpk->action = ptr;				    tmpk->val1 = 0;				    tmpk->val2 = 0;				    tmpk->val1_unit = pscr->d_width;				    tmpk->val2_unit = pscr->d_height;				    tmpk->menu = NULL;				}			    }			}    break;  case 25:#line 609 "mwmparse.y"    { yyval.hotkey = yyvsp[0].hotkey; }    break;  case 26:#line 611 "mwmparse.y"    { yyval.hotkey.modifiers = 0; yyval.hotkey.key = 0; }    break;  case 27:#line 615 "mwmparse.y"    { yyval.number = yyvsp[-2].number | yyvsp[0].number; }    break;  case 28:#line 617 "mwmparse.y"    { yyval.number = yyvsp[0].number; }    break;  case 29:#line 621 "mwmparse.y"    { yyval.number = C_ROOT; }    break;  case 30:#line 623 "mwmparse.y"    { yyval.number = C_ICON; }    break;  case 31:#line 625 "mwmparse.y"    { yyval.number = C_MENUB; }    break;  case 32:#line 627 "mwmparse.y"    { yyval.number = C_MINIMIZEB; }    break;  case 33:#line 629 "mwmparse.y"    { yyval.number = C_MAXIMIZEB; }    break;  case 34:#line 631 "mwmparse.y"    { yyval.number = C_WINDOW|C_FRAME|C_TITLE|C_LALL|C_RALL|C_ICON; }    break;  case 35:#line 633 "mwmparse.y"    { yyval.number = C_TITLE; }    break;  case 36:#line 635 "mwmparse.y"    { yyval.number = C_FRAME|C_TITLE|C_LALL|C_RALL; }    break;  case 37:#line 637 "mwmparse.y"    { yyval.number = C_FRAME; }    break;  case 38:#line 639 "mwmparse.y"    { yyval.number = C_WINDOW; }    break;  case 39:#line 641 "mwmparse.y"    { yyerror("Invalid context"); yyval.number = 0; }    break;  case 40:#line 645 "mwmparse.y"    {			    yyval.button = yyvsp[-1].button;			    yyval.button.modifiers = yyvsp[-3].modifiers;			}    break;  case 41:#line 650 "mwmparse.y"    {			    yyval.button = yyvsp[-1].button;			    yyval.button.modifiers = 0;			}    break;  case 42:#line 657 "mwmparse.y"    {			    yyval.hotkey.modifiers = yyvsp[-4].modifiers;			    yyval.hotkey.key = XStringToKeysym(yyvsp[0].string);			}    break;  case 43:#line 662 "mwmparse.y"    {			    yyval.hotkey.modifiers = 0;			    yyval.hotkey.key = XStringToKeysym(yyvsp[0].string);			}    break;  case 44:#line 669 "mwmparse.y"    { yyval.modifiers = yyvsp[-1].modifiers | yyvsp[0].modifiers; }    break;  case 45:#line 671 "mwmparse.y"    { yyval.modifiers = yyvsp[0].modifiers; }    break;  case 46:#line 675 "mwmparse.y"    { yyval.modifiers = ControlMask; }    break;  case 47:#line 677 "mwmparse.y"    { yyval.modifiers = ShiftMask; }    break;  case 48:#line 679 "mwmparse.y"    { yyval.modifiers = pscr->alt_mask; }    break;  case 49:#line 681 "mwmparse.y"    { yyval.modifiers = LockMask; }    break;  case 50:#line 683 "mwmparse.y"    { yyval.modifiers = Mod1Mask; }    break;  case 51:#line 685 "mwmparse.y"    { yyval.modifiers = Mod2Mask; }    break;  case 52:#line 687 "mwmparse.y"    { yyval.modifiers = Mod3Mask; }    break;  case 53:#line 689 "mwmparse.y"    { yyval.modifiers = Mod4Mask; }    break;  case 54:#line 691 "mwmparse.y"    { yyval.modifiers = Mod5Mask; }    break;  case 55:#line 695 "mwmparse.y"    {			    yyval.button.button = Button1Mask;			    yyval.button.event = ButtonPressMask;			    yyval.button.count = 0;			}    break;  case 56:#line 701 "mwmparse.y"    {			    yyval.button.button = Button1Mask;			    yyval.button.event = ButtonReleaseMask;			    yyval.button.count = 0;			}    break;  case 57:#line 707 "mwmparse.y"    {			    yyval.button.button = Button1Mask;			    yyval.button.event = ButtonPressMask|ButtonReleaseMask;			    yyval.button.count = 1;			}    break;  case 58:#line 713 "mwmparse.y"    {			    yyval.button.button = Button1Mask;			    yyval.button.event = ButtonPressMask|ButtonReleaseMask;			    yyval.button.count = 2;			}    break;  case 59:#line 719 "mwmparse.y"    {			    yyval.button.button = Button2Mask;			    yyval.button.event = ButtonPressMask;			    yyval.button.count = 0;			}    break;  case 60:#line 725 "mwmparse.y"    {			    yyval.button.button = Button2Mask;			    yyval.button.event = ButtonReleaseMask;			    yyval.button.count = 0;			}    break;  case 61:#line 731 "mwmparse.y"    {			    yyval.button.button = Button2Mask;			    yyval.button.event = ButtonPressMask|ButtonReleaseMask;			    yyval.button.count = 1;			}    break;  case 62:#line 737 "mwmparse.y"    {			    yyval.button.button = Button2Mask;			    yyval.button.event = ButtonPressMask|ButtonReleaseMask;			    yyval.button.count = 2;			}    break;  case 63:#line 743 "mwmparse.y"    {			    yyval.button.button = Button3Mask;			    yyval.button.event = ButtonPressMask;			    yyval.button.count = 0;			}    break;  case 64:#line 749 "mwmparse.y"    {			    yyval.button.button = Button3Mask;			    yyval.button.event = ButtonReleaseMask;			    yyval.button.count = 0;			}    break;  case 65:#line 755 "mwmparse.y"    {			    yyval.button.button = Button3Mask;			    yyval.button.event = ButtonPressMask|ButtonReleaseMask;			    yyval.button.count = 1;			}    break;  case 66:#line 761 "mwmparse.y"    {			    yyval.button.button = Button3Mask;			    yyval.button.event = ButtonPressMask|ButtonReleaseMask;			    yyval.button.count = 2;			}    break;  case 67:#line 767 "mwmparse.y"    {			    yyval.button.button = Button4Mask;			    yyval.button.event = ButtonPressMask;			    yyval.button.count = 0;			}    break;  case 68:#line 773 "mwmparse.y"    {			    yyval.button.button = Button4Mask;			    yyval.button.event = ButtonReleaseMask;			    yyval.button.count = 0;			}    break;  case 69:#line 779 "mwmparse.y"    {			    yyval.button.button = Button4Mask;			    yyval.button.event = ButtonPressMask|ButtonReleaseMask;			    yyval.button.count = 1;			}    break;  case 70:#line 785 "mwmparse.y"    {			    yyval.button.button = Button4Mask;			    yyval.button.event = ButtonPressMask|ButtonReleaseMask;			    yyval.button.count = 2;			}    break;  case 71:#line 791 "mwmparse.y"    {			    yyval.button.button = Button5Mas

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -