📄 menu.c
字号:
Cardinal *nArgs);static void markAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void markDialogAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void gotoMarkAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void gotoMarkDialogAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void selectToMatchingAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void gotoMatchingAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void findDefAP(Widget w, XEvent *event, String *args, Cardinal *nArgs); static void showTipAP(Widget w, XEvent *event, String *args, Cardinal *nArgs); static void splitWindowAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void closePaneAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void capitalizeAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void lowercaseAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void fillAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void controlDialogAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);#ifndef VMSstatic void filterDialogAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void shellFilterAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void execDialogAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void execAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void execLineAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void shellMenuAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);#endifstatic void macroMenuAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void bgMenuAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void beginningOfSelectionAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void endOfSelectionAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static Widget createMenu(Widget parent, char *name, char *label, char mnemonic, Widget *cascadeBtn, int mode);static Widget createMenuItem(Widget parent, char *name, char *label, char mnemonic, menuCallbackProc callback, void *cbArg, int mode);static Widget createFakeMenuItem(Widget parent, char *name, menuCallbackProc callback, void *cbArg);static Widget createMenuToggle(Widget parent, char *name, char *label, char mnemonic, menuCallbackProc callback, void *cbArg, int set, int mode);static Widget createMenuRadioToggle(Widget parent, char *name, char *label, char mnemonic, menuCallbackProc callback, void *cbArg, int set, int mode);static Widget createMenuSeparator(Widget parent, char *name, int mode);static void invalidatePrevOpenMenus(void);static void updateWindowMenu(const WindowInfo *window);static void updatePrevOpenMenu(WindowInfo *window);static void updateTagsFileMenu(WindowInfo *window);static void updateTipsFileMenu(WindowInfo *window);static int searchDirection(int ignoreArgs, String *args, Cardinal *nArgs);static int searchWrap(int ignoreArgs, String *args, Cardinal *nArgs);static int searchKeepDialogs(int ignoreArgs, String *args, Cardinal *nArgs);static int searchType(int ignoreArgs, String *args, Cardinal *nArgs);static char **shiftKeyToDir(XtPointer callData);static void raiseCB(Widget w, WindowInfo *window, caddr_t callData);static void openPrevCB(Widget w, char *name, caddr_t callData);static void unloadTagsFileCB(Widget w, char *name, caddr_t callData);static void unloadTipsFileCB(Widget w, char *name, caddr_t callData);static int cmpStrPtr(const void *strA, const void *strB);static void setWindowSizeDefault(int rows, int cols);static void updateWindowSizeMenus(void);static void updateWindowSizeMenu(WindowInfo *win);static int strCaseCmp(const char *str1, const char *str2);static int compareWindowNames(const void *windowA, const void *windowB);static void bgMenuPostAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void raiseWindowAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void focusPaneAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setStatisticsLineAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setIncrementalSearchLineAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setShowLineNumbersAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setAutoIndentAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setWrapTextAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setWrapMarginAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setHighlightSyntaxAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setMakeBackupCopyAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setIncrementalBackupAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setShowMatchingAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setMatchSyntaxBasedAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setOvertypeModeAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setLockedAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setUseTabsAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setEmTabDistAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setTabDistAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setFontsAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);static void setLanguageModeAP(Widget w, XEvent *event, String *args, Cardinal *nArgs);#ifdef SGI_CUSTOMstatic void shortMenusCB(Widget w, WindowInfo *window, caddr_t callData);static void addToToggleShortList(Widget w);static int shortPrefAskDefault(Widget parent, Widget w, const char *settingName);#endifstatic HelpMenu * buildHelpMenu( Widget pane, HelpMenu * menu, WindowInfo * window);/* Application action table */static XtActionsRec Actions[] = { {"new", newAP}, {"open", openAP}, {"open-dialog", openDialogAP}, {"open_dialog", openDialogAP}, {"open-selected", openSelectedAP}, {"open_selected", openSelectedAP}, {"close", closeAP}, {"save", saveAP}, {"save-as", saveAsAP}, {"save_as", saveAsAP}, {"save-as-dialog", saveAsDialogAP}, {"save_as_dialog", saveAsDialogAP}, {"revert-to-saved", revertAP}, {"revert_to_saved", revertAP}, {"revert_to_saved_dialog", revertDialogAP}, {"include-file", includeAP}, {"include_file", includeAP}, {"include-file-dialog", includeDialogAP}, {"include_file_dialog", includeDialogAP}, {"load-macro-file", loadMacroAP}, {"load_macro_file", loadMacroAP}, {"load-macro-file-dialog", loadMacroDialogAP}, {"load_macro_file_dialog", loadMacroDialogAP}, {"load-tags-file", loadTagsAP}, {"load_tags_file", loadTagsAP}, {"load-tags-file-dialog", loadTagsDialogAP}, {"load_tags_file_dialog", loadTagsDialogAP}, {"unload_tags_file", unloadTagsAP}, {"load_tips_file", loadTipsAP}, {"load_tips_file_dialog", loadTipsDialogAP}, {"unload_tips_file", unloadTipsAP}, {"print", printAP}, {"print-selection", printSelAP}, {"print_selection", printSelAP}, {"exit", exitAP}, {"undo", undoAP}, {"redo", redoAP}, {"delete", clearAP}, {"select-all", selAllAP}, {"select_all", selAllAP}, {"shift-left", shiftLeftAP}, {"shift_left", shiftLeftAP}, {"shift-left-by-tab", shiftLeftTabAP}, {"shift_left_by_tab", shiftLeftTabAP}, {"shift-right", shiftRightAP}, {"shift_right", shiftRightAP}, {"shift-right-by-tab", shiftRightTabAP}, {"shift_right_by_tab", shiftRightTabAP}, {"find", findAP}, {"find-dialog", findDialogAP}, {"find_dialog", findDialogAP}, {"find-again", findSameAP}, {"find_again", findSameAP}, {"find-selection", findSelAP}, {"find_selection", findSelAP}, {"find_incremental", findIncrAP}, {"start_incremental_find", startIncrFindAP}, {"replace", replaceAP}, {"replace-dialog", replaceDialogAP}, {"replace_dialog", replaceDialogAP}, {"replace-all", replaceAllAP}, {"replace_all", replaceAllAP}, {"replace-in-selection", replaceInSelAP}, {"replace_in_selection", replaceInSelAP}, {"replace-again", replaceSameAP}, {"replace_again", replaceSameAP}, {"replace_find", replaceFindAP}, {"replace_find_same", replaceFindSameAP}, {"replace_find_again", replaceFindSameAP}, {"goto-line-number", gotoAP}, {"goto_line_number", gotoAP}, {"goto-line-number-dialog", gotoDialogAP}, {"goto_line_number_dialog", gotoDialogAP}, {"goto-selected", gotoSelectedAP}, {"goto_selected", gotoSelectedAP}, {"mark", markAP}, {"mark-dialog", markDialogAP}, {"mark_dialog", markDialogAP}, {"goto-mark", gotoMarkAP}, {"goto_mark", gotoMarkAP}, {"goto-mark-dialog", gotoMarkDialogAP}, {"goto_mark_dialog", gotoMarkDialogAP}, {"match", selectToMatchingAP}, {"select_to_matching", selectToMatchingAP}, {"goto_matching", gotoMatchingAP}, {"find-definition", findDefAP}, {"find_definition", findDefAP}, {"show_tip", showTipAP}, {"split-window", splitWindowAP}, {"split_window", splitWindowAP}, {"close-pane", closePaneAP}, {"close_pane", closePaneAP}, {"uppercase", capitalizeAP}, {"lowercase", lowercaseAP}, {"fill-paragraph", fillAP}, {"fill_paragraph", fillAP}, {"control-code-dialog", controlDialogAP}, {"control_code_dialog", controlDialogAP},#ifndef VMS {"filter-selection-dialog", filterDialogAP}, {"filter_selection_dialog", filterDialogAP}, {"filter-selection", shellFilterAP}, {"filter_selection", shellFilterAP}, {"execute-command", execAP}, {"execute_command", execAP}, {"execute-command-dialog", execDialogAP}, {"execute_command_dialog", execDialogAP}, {"execute-command-line", execLineAP}, {"execute_command_line", execLineAP}, {"shell-menu-command", shellMenuAP}, {"shell_menu_command", shellMenuAP},#endif /*VMS*/ {"macro-menu-command", macroMenuAP}, {"macro_menu_command", macroMenuAP}, {"bg_menu_command", bgMenuAP}, {"post_window_bg_menu", bgMenuPostAP}, {"beginning-of-selection", beginningOfSelectionAP}, {"beginning_of_selection", beginningOfSelectionAP}, {"end-of-selection", endOfSelectionAP}, {"end_of_selection", endOfSelectionAP}, {"repeat_macro", repeatMacroAP}, {"repeat_dialog", repeatDialogAP}, {"raise_window", raiseWindowAP}, {"focus_pane", focusPaneAP}, {"set_statistics_line", setStatisticsLineAP}, {"set_incremental_search_line", setIncrementalSearchLineAP}, {"set_show_line_numbers", setShowLineNumbersAP}, {"set_auto_indent", setAutoIndentAP}, {"set_wrap_text", setWrapTextAP}, {"set_wrap_margin", setWrapMarginAP}, {"set_highlight_syntax", setHighlightSyntaxAP},#ifndef VMS {"set_make_backup_copy", setMakeBackupCopyAP},#endif {"set_incremental_backup", setIncrementalBackupAP}, {"set_show_matching", setShowMatchingAP}, {"set_match_syntax_based", setMatchSyntaxBasedAP}, {"set_overtype_mode", setOvertypeModeAP}, {"set_locked", setLockedAP}, {"set_tab_dist", setTabDistAP}, {"set_em_tab_dist", setEmTabDistAP}, {"set_use_tabs", setUseTabsAP}, {"set_fonts", setFontsAP}, {"set_language_mode", setLanguageModeAP}};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -