Пример #1
0
        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);
        }
Пример #2
0
 public void AddClipboardStrings(IEnumerable <string> strings, bool?isCut = null)
 {
     newClipboard = newClipboard ?? new NEClipboard();
     newClipboard.Add(NEClipboardList.Create(strings));
     newClipboard.IsCut = isCut;
 }