📄 search.c
字号:
XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++; inWinBtn = XmCreateToggleButton(scopeForm, "inWindow", args, argcnt); XtAddCallback(inWinBtn, XmNvalueChangedCallback, (XtCallbackProc)rScopeWinCB, window); XmStringFree(st1); XtManageChild(inWinBtn); argcnt = 0; XtSetArg(args[argcnt], XmNtraversalOn, True); argcnt++; XtSetArg(args[argcnt], XmNhighlightThickness, 2); argcnt++; XtSetArg(args[argcnt], XmNlabelString, st1=MKSTRING("In Selection")); argcnt++; XtSetArg(args[argcnt], XmNmnemonic, 'S'); argcnt++; XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++; XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++; XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++; XtSetArg(args[argcnt], XmNleftWidget, inWinBtn); argcnt++; inSelBtn = XmCreateToggleButton(scopeForm, "inSel", args, argcnt); XtAddCallback(inSelBtn, XmNvalueChangedCallback, (XtCallbackProc)rScopeSelCB, window); XmStringFree(st1); XtManageChild(inSelBtn); argcnt = 0; XtSetArg(args[argcnt], XmNtraversalOn, True); argcnt++; XtSetArg(args[argcnt], XmNhighlightThickness, 2); argcnt++; XtSetArg(args[argcnt], XmNlabelString, st1=MKSTRING("In Multiple Files")); argcnt++; XtSetArg(args[argcnt], XmNmnemonic, 'M'); argcnt++; XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++; XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++; XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNleftWidget, inSelBtn); argcnt++; inMultiBtn = XmCreateToggleButton(scopeForm, "multiFile", args, argcnt); XtAddCallback(inMultiBtn, XmNvalueChangedCallback, (XtCallbackProc)rScopeMultiCB, window); XmStringFree(st1); XtManageChild(inMultiBtn);#else argcnt = 0; XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_NONE); argcnt++; XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++; XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++; XtSetArg(args[argcnt], XmNtopWidget, searchDirBox); argcnt++; XtSetArg(args[argcnt], XmNleftOffset, 6); argcnt++; XtSetArg(args[argcnt], XmNrightOffset, 6); argcnt++; allForm = XmCreateForm(form, "all", args, argcnt); XtManageChild(allForm); XmAddTabGroup(allForm); argcnt = 0; XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++; XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++; XtSetArg(args[argcnt], XmNleftOffset, 4); argcnt++; XtSetArg(args[argcnt], XmNtopOffset, 6); argcnt++; XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_BEGINNING); argcnt++; XtSetArg(args[argcnt], XmNlabelString, st1=MKSTRING("Replace all in:")); argcnt++; label3 = XmCreateLabel(allForm, "label3", args, argcnt); XmStringFree(st1); XtManageChild(label3); argcnt = 0; XtSetArg(args[argcnt], XmNtraversalOn, True); argcnt++; XtSetArg(args[argcnt], XmNhighlightThickness, 2); argcnt++; XtSetArg(args[argcnt], XmNlabelString, st1=MKSTRING("Window")); argcnt++; XtSetArg(args[argcnt], XmNmnemonic, 'i'); argcnt++; XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++; XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++; XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++; XtSetArg(args[argcnt], XmNleftWidget, label3); argcnt++; inWinBtn = XmCreatePushButton(allForm, "inWindow", args, argcnt); XtAddCallback(inWinBtn, XmNactivateCallback, (XtCallbackProc)replaceAllCB, window); XmStringFree(st1); XtManageChild(inWinBtn); argcnt = 0; XtSetArg(args[argcnt], XmNtraversalOn, True); argcnt++; XtSetArg(args[argcnt], XmNhighlightThickness, 2); argcnt++; XtSetArg(args[argcnt], XmNlabelString, st1=MKSTRING("Selection")); argcnt++; XtSetArg(args[argcnt], XmNmnemonic, 'S'); argcnt++; XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++; XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++; XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_NONE); argcnt++; XtSetArg(args[argcnt], XmNleftWidget, inWinBtn); argcnt++; inSelBtn = XmCreatePushButton(allForm, "inSel", args, argcnt); XtAddCallback(inSelBtn, XmNactivateCallback, (XtCallbackProc)rInSelCB, window); XmStringFree(st1); XtManageChild(inSelBtn); argcnt = 0; XtSetArg(args[argcnt], XmNtraversalOn, True); argcnt++; XtSetArg(args[argcnt], XmNhighlightThickness, 2); argcnt++; XtSetArg(args[argcnt], XmNlabelString, st1=MKSTRING("Multiple Files...")); argcnt++; XtSetArg(args[argcnt], XmNmnemonic, 'M'); argcnt++; XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++; XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++; XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNleftWidget, inSelBtn); argcnt++; inMultiBtn = XmCreatePushButton(allForm, "multiFile", args, argcnt); XtAddCallback(inMultiBtn, XmNactivateCallback, (XtCallbackProc)replaceMultiFileCB, window); XmStringFree(st1); XtManageChild(inMultiBtn); #endif argcnt = 0; XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++; XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++;#ifdef REPLACE_SCOPE XtSetArg(args[argcnt], XmNtopWidget, scopeForm); argcnt++;#else XtSetArg(args[argcnt], XmNtopWidget, allForm); argcnt++;#endif XtSetArg(args[argcnt], XmNleftOffset, 6); argcnt++; XtSetArg(args[argcnt], XmNrightOffset, 6); argcnt++; btnForm = XmCreateForm(form, "buttons", args, argcnt); XtManageChild(btnForm); XmAddTabGroup(btnForm); argcnt = 0; XtSetArg(args[argcnt], XmNtraversalOn, True); argcnt++; XtSetArg(args[argcnt], XmNhighlightThickness, 2); argcnt++; XtSetArg(args[argcnt], XmNlabelString, st1=MKSTRING("Replace")); argcnt++; XtSetArg(args[argcnt], XmNshowAsDefault, (short)1); argcnt++; XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++; XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++; XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;#ifdef REPLACE_SCOPE XtSetArg(args[argcnt], XmNleftPosition, 0); argcnt++; XtSetArg(args[argcnt], XmNrightPosition, 21); argcnt++;#else XtSetArg(args[argcnt], XmNleftPosition, 0); argcnt++; XtSetArg(args[argcnt], XmNrightPosition, 25); argcnt++;#endif replaceBtn = XmCreatePushButton(btnForm, "replace", args, argcnt); XtAddCallback(replaceBtn, XmNactivateCallback, (XtCallbackProc)replaceCB, window); XmStringFree(st1); XtManageChild(replaceBtn); XtVaGetValues(replaceBtn, XmNshadowThickness, &shadowThickness, 0); defaultBtnOffset = shadowThickness + 4; argcnt = 0; XtSetArg(args[argcnt], XmNtraversalOn, True); argcnt++; XtSetArg(args[argcnt], XmNhighlightThickness, 2); argcnt++; XtSetArg(args[argcnt], XmNlabelString, st1=MKSTRING("Find")); argcnt++; XtSetArg(args[argcnt], XmNmnemonic, 'F'); argcnt++; XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++; XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;#ifdef REPLACE_SCOPE XtSetArg(args[argcnt], XmNleftPosition, 21); argcnt++; XtSetArg(args[argcnt], XmNrightPosition, 33); argcnt++;#else XtSetArg(args[argcnt], XmNleftPosition, 25); argcnt++; XtSetArg(args[argcnt], XmNrightPosition, 42); argcnt++;#endif XtSetArg(args[argcnt], XmNtopOffset, defaultBtnOffset); argcnt++; XtSetArg(args[argcnt], XmNbottomOffset, defaultBtnOffset); argcnt++; findBtn = XmCreatePushButton(btnForm, "find", args, argcnt); XtAddCallback(findBtn, XmNactivateCallback, (XtCallbackProc)rFindCB, window); XmStringFree(st1); XtManageChild(findBtn); argcnt = 0; XtSetArg(args[argcnt], XmNtraversalOn, True); argcnt++; XtSetArg(args[argcnt], XmNhighlightThickness, 2); argcnt++; XtSetArg(args[argcnt], XmNlabelString, st1=MKSTRING("Replace & Find")); argcnt++; XtSetArg(args[argcnt], XmNmnemonic, 'n'); argcnt++; XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++; XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;#ifdef REPLACE_SCOPE XtSetArg(args[argcnt], XmNleftPosition, 33); argcnt++; XtSetArg(args[argcnt], XmNrightPosition, 62); argcnt++;#else XtSetArg(args[argcnt], XmNleftPosition, 42); argcnt++; XtSetArg(args[argcnt], XmNrightPosition, 79); argcnt++;#endif XtSetArg(args[argcnt], XmNtopOffset, defaultBtnOffset); argcnt++; XtSetArg(args[argcnt], XmNbottomOffset, defaultBtnOffset); argcnt++; replaceFindBtn = XmCreatePushButton(btnForm, "replacefind", args, argcnt); XtAddCallback(replaceFindBtn, XmNactivateCallback, (XtCallbackProc)replaceFindCB, window); XmStringFree(st1); XtManageChild(replaceFindBtn); #ifdef REPLACE_SCOPE argcnt = 0; XtSetArg(args[argcnt], XmNtraversalOn, True); argcnt++; XtSetArg(args[argcnt], XmNhighlightThickness, 2); argcnt++; XtSetArg(args[argcnt], XmNlabelString, st1=MKSTRING("Replace All")); argcnt++; XtSetArg(args[argcnt], XmNmnemonic, 'A'); argcnt++; XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_NONE); argcnt++; XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++; XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++; XtSetArg(args[argcnt], XmNleftPosition, 62); argcnt++; XtSetArg(args[argcnt], XmNrightPosition, 85); argcnt++; XtSetArg(args[argcnt], XmNtopOffset, defaultBtnOffset); argcnt++; replaceAllBtn = XmCreatePushButton(btnForm, "all", args, argcnt); XtAddCallback(replaceAllBtn, XmNactivateCallback, (XtCallbackProc)replaceAllScopeCB, window); XmStringFree(st1); XtManageChild(replaceAllBtn);#endif argcnt = 0; XtSetArg(args[argcnt], XmNtraversalOn, True); argcnt++; XtSetArg(args[argcnt], XmNhighlightThickness, 2); argcnt++; XtSetArg(args[argcnt], XmNlabelString, st1=MKSTRING("Cancel")); argcnt++; XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++; XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_POSITION); argcnt++; XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_POSITION); argcnt++;#ifdef REPLACE_SCOPE XtSetArg(args[argcnt], XmNleftPosition, 85); argcnt++; XtSetArg(args[argcnt], XmNrightPosition, 100); argcnt++;#else XtSetArg(args[argcnt], XmNleftPosition, 79); argcnt++; XtSetArg(args[argcnt], XmNrightPosition, 100); argcnt++;#endif XtSetArg(args[argcnt], XmNtopOffset, defaultBtnOffset); argcnt++; XtSetArg(args[argcnt], XmNbottomOffset, defaultBtnOffset); argcnt++; cancelBtn = XmCreatePushButton(btnForm, "cancel", args, argcnt); XmStringFree(st1); XtAddCallback(cancelBtn, XmNactivateCallback, (XtCallbackProc)rCancelCB, window); XtManageChild(cancelBtn); XtVaSetValues(form, XmNcancelButton, cancelBtn, NULL); AddDialogMnemonicHandler(form, FALSE); window->replaceDlog = form; window->replaceText = findText; window->replaceWithText = replaceText; window->replaceRevToggle = reverseBtn; window->replaceKeepBtn = keepBtn; window->replaceBtns = btnForm; window->replaceBtn = replaceBtn; window->replaceAndFindBtn = replaceFindBtn; window->replaceFindBtn = findBtn; window->replaceSearchTypeBox = searchTypeBox;#ifdef REPLACE_SCOPE window->replaceAllBtn = replaceAllBtn; window->replaceScopeWinToggle = inWinBtn; window->replaceScopeSelToggle = inSelBtn; window->replaceScopeMultiToggle = inMultiBtn;#else window->replaceInWinBtn = inWinBtn; window->replaceAllBtn = inMultiBtn; window->replaceInSelBtn = inSelBtn;#endif}static void createFindDlog(Widget parent, WindowInfo *window){ Arg args[50]; int argcnt, defaultBtnOffset; XmString st1; Widget form, btnForm, searchTypeBox; Widget findText, label1, label2, cancelBtn, findBtn; Widget searchDirBox, reverseBtn, keepBtn; char title[MAXPATHLEN + 11]; Dimension shadowThickness; argcnt = 0; XtSetArg(args[argcnt], XmNautoUnmanage, False); argcnt++; form = CreateFormDialog(parent, "findDialog", args, argcnt); XtVaSetValues(form, XmNshadowThickness, 0, NULL); if (GetPrefKeepSearchDlogs()) { sprintf(title, "Find (in %s)", window->filename); XtVaSetValues(XtParent(form), XmNtitle, title, NULL); } else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -