/// <summary> /// Runs the edit on given view. /// </summary> /// <param name="edit">The edit.</param> /// <param name="view">The view.</param> /// <returns>Edited view.</returns> private EditViewBase runEdit(Edit edit, EditView view) { try { return(view.Apply(edit.Transformation)); } catch (Exception ex) { return(view.Abort(ex.Message)); } }
/// <summary> /// Runs the edit on given view, in context of corresponding type definition. /// </summary> /// <param name="edit">The edit that will be processed in the given view.</param> /// <param name="view">The view where edit will be processed.</param> /// <returns>View representation compatible with <see cref="MEFEditor.Drawing"/> library.</returns> public EditViewBase RunEdit(Edit edit, EditView view) { var creatorDefinition = GetTypeDefinition(edit.Creator); EditViewBase result = null; Action editRun = () => { result = view.Apply(edit.Transformation); }; if (creatorDefinition == null) { //there is no available definition editRun(); } else { creatorDefinition.RunInContextOf(edit.Creator, editRun, edit.Context); } return(result); }