public bool HandleCommand(NECommand command, bool shiftDown, object dialogResult, bool?multiStatus) { Items.ForEach(te => te.DragFiles = null); switch (command) { case NECommand.File_New_New: Command_File_New_New(shiftDown); break; case NECommand.File_New_FromClipboards: Command_File_New_FromClipboards(); break; case NECommand.File_New_FromClipboardSelections: Command_File_New_FromClipboardSelections(); break; case NECommand.File_Open_Open: Command_File_Open_Open(dialogResult as OpenFileDialogResult); break; case NECommand.File_Open_CopiedCut: Command_File_Open_CopiedCut(); break; case NECommand.File_Operations_DragDrop: Command_File_Operations_DragDrop(); break; case NECommand.File_MoveToNewWindow: Command_File_MoveToNewWindow(); break; case NECommand.File_Shell_Integrate: Command_File_Shell_Integrate(); break; case NECommand.File_Shell_Unintegrate: Command_File_Shell_Unintegrate(); break; case NECommand.File_Exit: Close(); break; case NECommand.Diff_Diff: Command_Diff_Diff(shiftDown); break; case NECommand.Diff_Select_LeftTab: Command_Diff_Select_LeftRightBothTabs(true); break; case NECommand.Diff_Select_RightTab: Command_Diff_Select_LeftRightBothTabs(false); break; case NECommand.Diff_Select_BothTabs: Command_Diff_Select_LeftRightBothTabs(null); break; case NECommand.Macro_Open_Quick_1: Command_Macro_Open_Quick(1); return(true); case NECommand.Macro_Open_Quick_2: Command_Macro_Open_Quick(2); return(true); case NECommand.Macro_Open_Quick_3: Command_Macro_Open_Quick(3); return(true); case NECommand.Macro_Open_Quick_4: Command_Macro_Open_Quick(4); return(true); case NECommand.Macro_Open_Quick_5: Command_Macro_Open_Quick(5); return(true); case NECommand.Macro_Open_Quick_6: Command_Macro_Open_Quick(6); return(true); case NECommand.Macro_Open_Quick_7: Command_Macro_Open_Quick(7); return(true); case NECommand.Macro_Open_Quick_8: Command_Macro_Open_Quick(8); return(true); case NECommand.Macro_Open_Quick_9: Command_Macro_Open_Quick(9); return(true); case NECommand.Macro_Open_Quick_10: Command_Macro_Open_Quick(10); return(true); case NECommand.Macro_Open_Quick_11: Command_Macro_Open_Quick(11); return(true); case NECommand.Macro_Open_Quick_12: Command_Macro_Open_Quick(12); return(true); case NECommand.Macro_Open_Open: Command_File_Open_Open(dialogResult as OpenFileDialogResult); return(true); case NECommand.Window_NewWindow: Command_Window_NewWindow(); break; case NECommand.Window_Full: Command_Window_Type(TabsLayout.Full, null); break; case NECommand.Window_Grid: Command_Window_Type(TabsLayout.Grid, null); break; case NECommand.Window_CustomGrid: Command_Window_Type(TabsLayout.Custom, dialogResult as WindowCustomGridDialog.Result); break; case NECommand.Window_ActiveTabs: Command_Window_ActiveTabs(); break; case NECommand.Window_Font_Size: Command_Window_Font_Size(); break; case NECommand.Window_Select_TabsWithSelections: Command_Window_Select_TabsWithWithoutSelections(true); break; case NECommand.Window_Select_TabsWithoutSelections: Command_Window_Select_TabsWithWithoutSelections(false); break; case NECommand.Window_Select_ModifiedTabs: Command_Window_Select_ModifiedUnmodifiedTabs(true); break; case NECommand.Window_Select_UnmodifiedTabs: Command_Window_Select_ModifiedUnmodifiedTabs(false); break; case NECommand.Window_Select_TabsWithSelectionsToTop: Command_Window_Select_TabsWithSelectionsToTop(); break; case NECommand.Window_Close_TabsWithSelections: Command_Window_Close_TabsWithWithoutSelections(true); break; case NECommand.Window_Close_TabsWithoutSelections: Command_Window_Close_TabsWithWithoutSelections(false); break; case NECommand.Window_Close_ModifiedTabs: Command_Window_Close_ModifiedUnmodifiedTabs(true); break; case NECommand.Window_Close_UnmodifiedTabs: Command_Window_Close_ModifiedUnmodifiedTabs(false); break; case NECommand.Window_Close_ActiveTabs: Command_Window_Close_ActiveInactiveTabs(true); break; case NECommand.Window_Close_InactiveTabs: Command_Window_Close_ActiveInactiveTabs(false); break; case NECommand.Window_WordList: Command_Window_WordList(); break; case NECommand.Help_About: Command_Help_About(); break; case NECommand.Help_Update: Command_Help_Update(); break; case NECommand.Help_RunGC: Command_Help_RunGC(); break; } try { var preResult = default(object); foreach (var textEditorItem in Items.Where(item => item.Active).ToList()) { textEditorItem.PreHandleCommand(command, ref preResult); } var answer = new AnswerResult(); foreach (var textEditorItem in Items.Where(item => item.Active).ToList()) { textEditorItem.HandleCommand(command, shiftDown, dialogResult, multiStatus, answer, preResult); if (answer.Answer == MessageOptions.Cancel) { break; } } if (newClipboard != null) { NEClipboard.Current = newClipboard; } } finally { clipboard = null; newClipboard = null; } return(true); }
public void AddClipboardStrings(IEnumerable <string> strings, bool?isCut = null) { newClipboard = newClipboard ?? new NEClipboard(); newClipboard.Add(NEClipboardList.Create(strings)); newClipboard.IsCut = isCut; }