コード例 #1
0
 /// <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));
     }
 }
コード例 #2
0
        /// <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);
        }