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); } }
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)); }