Пример #1
0
        public void DoCut(EditorCanvas editorCanvas)
        {
            if (editorCanvas == null)
            {
                return;
            }

            if (editorCanvas.FocusManager.IsEditorFocused)
            {
                var focus = editorCanvas.FocusManager.Focus as StyledTextFocus;
                if (focus != null)
                {
                    focus.Cut();
                }
            }
            else if (editorCanvas.CanCut())
            {
                var targets = editorCanvas.SelectionManager.SelectedEditors;
                var req     = new CopyRequest(targets);
                var bundle  = new EditorBundle(targets);
                var copy    = bundle.GetGroupCommand(req);
                if (copy == null)
                {
                    return;
                }
                var remove = bundle.GetCompositeCommand(new RemoveRequest());
                if (remove == null)
                {
                    return;
                }
                var cmd = copy.Chain(remove);
                editorCanvas.CommandExecutor.Execute(cmd);
            }
        }
Пример #2
0
        private ICommand GetCutCommand(IEnumerable <IEditor> targets)
        {
            var bundle = new EditorBundle(targets);
            var req    = new CopyRequest(targets);
            var copy   = bundle.GetGroupCommand(req);
            var remove = bundle.GetCompositeCommand(new RemoveRequest());

            return(copy.Chain(remove));
        }
        private ICommand GetCutCommand()
        {
            var targets = _owner.SelectionManager.SelectedEditors;
            var req     = new CopyRequest(targets);
            var list    = new EditorBundle(targets);
            var copy    = list.GetGroupCommand(req);

            if (copy == null)
            {
                return(null);
            }
            var remove = list.GetCompositeCommand(new RemoveRequest());

            if (remove == null)
            {
                return(null);
            }
            return(copy.Chain(remove));
        }