/// <summary> /// Accepts the component by appending to ComposeParts call. /// </summary> /// <param name="e">The edits provider used for accepting.</param> /// <param name="view">The view where instance will be accepted.</param> /// <returns>Variable with accepted instance and correct scope.</returns> private object acceptAppendComponent(EditsProvider e, ExecutionView view) { var toAccept = UserInteraction.DraggedInstance; var componentInfo = Services.GetComponentInfo(toAccept.Info); if (componentInfo == null) { view.Abort("Can accept only components"); return(null); } return(e.GetVariableFor(toAccept, view)); }
/// <summary> /// Accepts the part catalog in constructor. /// </summary> /// <param name="e">The edits provider used for accepting.</param> /// <param name="view">The view where instance will be accepted.</param> /// <returns>Variable with accepted catalog and correct scope.</returns> private object acceptPartCatalog(EditsProvider e, ExecutionView view) { var instance = UserInteraction.DraggedInstance; var isCatalog = Services.IsAssignable(TypeDescriptor.Create <ComposablePartCatalog>(), instance.Info); if (!isCatalog) { //allow accepting only components view.Abort("CompositionContainer can accept only single part catalog"); return(null); } return(e.GetVariableFor(instance, view)); }