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

📄 editmenu.c

📁 具有IDE功能的编辑器
💻 C
📖 第 1 页 / 共 2 页
字号:
    {' ', "", ' ', 0},    {' ', N_("format p&Aragraph        M-p"), 'a', menu_format_paragraph},    {' ', N_("'ispell' s&Pell check    M-$"), 'P', menu_ispell_cmd},    {' ', N_("sor&T...                 M-t"), 'T', menu_sort_cmd},    {' ', N_("'indent' &C Formatter    F19"), 'C', menu_c_form_cmd}};extern void menu_save_mode_cmd (void);static menu_entry OptMenu[] ={    {' ', N_("&General...  "), 'G', menu_options},    {' ', N_("&Save mode..."), 'S', menu_save_mode_cmd}#if 0    {' ', N_("&Layout..."),    'L', menu_layout_cmd}#endif};static menu_entry OptMenuEmacs[] ={    {' ', N_("&General...  "), 'G', menu_options},    {' ', N_("&Save mode..."), 'S', menu_save_mode_cmd}#if 0    {' ', N_("&Layout..."),    'L', menu_layout_cmd}#endif};#define menu_entries(x) sizeof(x)/sizeof(menu_entry)Menu EditMenuBar[N_menus];void edit_init_menu_normal (void){    EditMenuBar[0] = create_menu (_(" File "), FileMenu, menu_entries (FileMenu));    EditMenuBar[1] = create_menu (_(" Edit "), EditMenu, menu_entries (EditMenu));    EditMenuBar[2] = create_menu (_(" Sear/Repl "), SearReplMenu, menu_entries (SearReplMenu));    EditMenuBar[3] = create_menu (_(" Command "), CmdMenu, menu_entries (CmdMenu));    EditMenuBar[4] = create_menu (_(" Options "), OptMenu, menu_entries (OptMenu));}void edit_init_menu_emacs (void){    EditMenuBar[0] = create_menu (_(" File "), FileMenuEmacs, menu_entries (FileMenuEmacs));    EditMenuBar[1] = create_menu (_(" Edit "), EditMenuEmacs, menu_entries (EditMenuEmacs));    EditMenuBar[2] = create_menu (_(" Sear/Repl "), SearReplMenuEmacs, menu_entries (SearReplMenuEmacs));    EditMenuBar[3] = create_menu (_(" Command "), CmdMenuEmacs, menu_entries (CmdMenuEmacs));    EditMenuBar[4] = create_menu (_(" Options "), OptMenuEmacs, menu_entries (OptMenuEmacs));}void edit_done_menu (void){    int i;    for (i = 0; i < N_menus; i++)	destroy_menu (EditMenuBar[i]);}void edit_drop_menu_cmd (WEdit * e, int which){    if (edit_menubar->active)	return;    edit_menubar->active = 1;    edit_menubar->dropped = drop_menus;    edit_menubar->previous_selection = which >= 0 ? which : dlg_item_number (edit_dlg);    if (which >= 0)	edit_menubar->selected = which;    dlg_select_widget (edit_dlg, edit_menubar);}void edit_menu_cmd (WEdit * e){    edit_drop_menu_cmd (e, -1);}int edit_drop_hotkey_menu (WEdit * e, int key){    int m = 0;    switch (key) {    case ALT ('f'):	if (edit_key_emulation == EDIT_KEY_EMULATION_EMACS)	    return 0;	m = 0;	break;    case ALT ('e'):	m = 1;	break;    case ALT ('s'):	m = 2;	break;    case ALT ('c'):	m = 3;	break;    case ALT ('o'):	m = 4;	break;    default:	return 0;    }    edit_drop_menu_cmd (e, m);    return 1;}#else				/* !MIDNIGHT */extern CWidget *wedit;void CSetEditMenu (const char *ident){    wedit = CIdent (ident);}CWidget *CGetEditMenu (void){    return wedit;}static void menu_cmd (unsigned long i){    XEvent e;    if (wedit) {	memset (&e, 0, sizeof (XEvent));	e.type = EditorCommand;	e.xkey.keycode = i;	e.xkey.window = wedit->winid;	CFocus (wedit);	CSendEvent (&e);    }}void CEditMenuCommand (int i){    menu_cmd ((unsigned long) i);}static void menu_key (KeySym i, int state){    int cmd;    long ch;    if (edit_translate_key (0, i, state, &cmd, &ch)) {	if (cmd > 0)	    menu_cmd (cmd);    }}static void menu_ctrl_key (unsigned long i){    menu_key ((KeySym) i, ControlMask);}void CDrawEditMenuButtons (const char *ident, Window parent, Window focus_return, int x, int y){    int d;    CDrawMenuButton (catstrs (ident, ".filemenu", 0), parent, focus_return, x, y, AUTO_WIDTH, AUTO_HEIGHT, 8,/* The following are menu options. Do not change the key bindings (eg. C-o) and preserve '\t' */		     _(" File "),		     _("Open...\tC-o"), (int) '~', menu_cmd, (unsigned long) CK_Load,		     _("New\tC-n"), (int) '~', menu_cmd, (unsigned long) CK_New,		     "", (int) ' ', (void *) 0, 0L,		     _("Save\tF2"), (int) '~', menu_cmd, (unsigned long) CK_Save,		     _("Save as...\tF12"), (int) '~', menu_cmd, (unsigned long) CK_Save_As,		     "", (int) ' ', (void *) 0, 0L,		     _("Insert file...\tF15"), (int) '~', menu_cmd, (unsigned long) CK_Insert_File,		     _("Copy to file...\tC-f"), (int) '~', menu_cmd, (unsigned long) CK_Save_Block	);/* Tool hint */    CSetToolHint (catstrs (ident, ".filemenu", 0), _("Disk operations and file indexing/searching"));    CGetHintPos (&x, &d);    CDrawMenuButton (catstrs (ident, ".editmenu", 0), parent, focus_return, x, y, AUTO_WIDTH, AUTO_HEIGHT, 20,		     _(" Edit "),		     _("Toggle mark\tF3"), (int) '~', menu_cmd, (unsigned long) CK_Mark,		     _("Toggle mark columns\tC-b"), (int) '~', menu_cmd, (unsigned long) CK_Column_Mark,		     "", (int) ' ', (void *) 0, 0L,		     _("Toggle book mark\tC-M-Ins"), (int) '~', menu_cmd, (unsigned long) CK_Toggle_Bookmark,		     _("Previous book mark\tC-M-Up"), (int) '~', menu_cmd, (unsigned long) CK_Prev_Bookmark,		     _("Next book mark\tC-M-Down"), (int) '~', menu_cmd, (unsigned long) CK_Next_Bookmark,		     _("Flush book marks"), (int) '~', menu_cmd, (unsigned long) CK_Flush_Bookmarks,		     "", (int) ' ', (void *) 0, 0L,		     _("Toggle insert/overwrite\tIns"), (int) '~', menu_cmd, (unsigned long) CK_Toggle_Insert,		     "", (int) ' ', (void *) 0, 0L,		     _("Copy block to cursor\tF5"), (int) '~', menu_cmd, (unsigned long) CK_Copy,		     _("Move block to cursor\tF6"), (int) '~', menu_cmd, (unsigned long) CK_Move,		     _("Delete block\tF8/C-Del"), (int) '~', menu_cmd, (unsigned long) CK_Remove,		     "", (int) ' ', (void *) 0, 0L,		     _("Copy block to clipbrd\tC-Ins"), (int) '~', menu_cmd, (unsigned long) CK_XStore,		     _("Cut block to clipbrd\tS-Del"), (int) '~', menu_cmd, (unsigned long) CK_XCut,		     _("Paste block from clipbrd\tS-Ins"), (int) '~', menu_cmd, (unsigned long) CK_XPaste,		     _("Selection history...\tM-Ins"), (int) '~', menu_cmd, (unsigned long) CK_Selection_History,		     "", (int) ' ', (void *) 0, 0L,		     _("Undo\tC-BackSpace"), (int) '~', menu_cmd, (unsigned long) CK_Undo	);/* Tool hint */    CSetToolHint (catstrs (ident, ".editmenu", 0), _("Manipulating blocks of text"));    CGetHintPos (&x, &d);    CDrawMenuButton (catstrs (ident, ".searchmenu", 0), parent, focus_return, x, y, AUTO_WIDTH, AUTO_HEIGHT, 4,		     _(" Srch/Replce "),		     _("Search...\tF7"), (int) '~', menu_cmd, (unsigned long) CK_Find,		     _("Search again\tF17"), (int) '~', menu_cmd, (unsigned long) CK_Find_Again,		     _("Replace...\tF4"), (int) '~', menu_cmd, (unsigned long) CK_Replace,		     _("Replace again\tF14"), (int) '~', menu_cmd, (unsigned long) CK_Replace_Again	);/* Tool hint */    CSetToolHint (catstrs (ident, ".searchmenu", 0), _("Search for and replace text"));    CGetHintPos (&x, &d);    CDrawMenuButton (catstrs (ident, ".commandmenu", 0), parent, focus_return, x, y, AUTO_WIDTH, AUTO_HEIGHT, 12,		     _(" Command "),		     _("Goto line...\tM-l"), (int) '~', menu_cmd, (unsigned long) CK_Goto,		     _("Goto matching bracket\tM-b"), (int) '~', menu_cmd, (unsigned long) CK_Match_Bracket,		     "", (int) ' ', (void *) 0, 0L,		     _("Start record macro\tC-r"), (int) '~', menu_cmd, (unsigned long) CK_Begin_Record_Macro,		     _("Finish record macro...\tC-r"), (int) '~', menu_cmd, (unsigned long) CK_End_Record_Macro,		     _("Execute macro...\tC-a, KEY"), (int) '~', menu_ctrl_key, (unsigned long) XK_a,		     _("Delete macro...\t"), (int) '~', menu_cmd, (unsigned long) CK_Delete_Macro,		     "", (int) ' ', (void *) 0, 0L,		     _("Insert date/time\tC-d"), (int) '~', menu_cmd, (unsigned long) CK_Date,		     _("Format paragraph\tM-p"), (int) '~', menu_cmd, (unsigned long) CK_Paragraph_Format,		     "", (int) ' ', (void *) 0, 0L,		     _("Refresh display\tC-l"), (int) '~', menu_cmd, (unsigned long) CK_Refresh	);/* Tool hint */    CSetToolHint (catstrs (ident, ".commandmenu", 0), _("Macros and internal commands"));}#endif				/* !MIDNIGHT */

⌨️ 快捷键说明

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