Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / DeleteHelper.cs / 1305376 / DeleteHelper.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation { using System.Activities.Presentation.Model; using System.Activities.Presentation.View; using System.Collections.Generic; using System.Linq; static class DeleteHelper { public static bool CanDelete(EditingContext context) { if (context == null) { throw FxTrace.Exception.AsError(new ArgumentNullException("context")); } bool canExecute = false; Selection selection = context.Items.GetValue(); if (null != selection && selection.SelectionCount > 0) { DesignerView designerView = context.Services.GetService (); canExecute = selection.SelectedObjects.All( p => (null != p.View && p.View is WorkflowViewElement && !p.View.Equals(designerView.RootDesigner))); } return canExecute; } public static void Delete(EditingContext context) { if (context == null) { throw FxTrace.Exception.AsError(new ArgumentNullException("context")); } Selection selection = context.Items.GetValue (); if (null != selection) { bool selectRoot = false; DesignerView designerView = context.Services.GetService (); var toDelete = selection.SelectedObjects.Where(p => null != p.View && p.View is WorkflowViewElement && !p.View.Equals(designerView.RootDesigner)); if (toDelete.Count() > 0) { using (EditingScope es = (EditingScope)toDelete.FirstOrDefault().BeginEdit(SR.DeleteOperationEditingScopeDescription)) { Dictionary > containerToModelItemsDict = new Dictionary >(); List modelItemsPerContainer; foreach (var item in toDelete) { ICompositeView container = (ICompositeView)DragDropHelper.GetCompositeView((WorkflowViewElement)item.View); if (null != item.Parent && typeof(ActivityAction).IsAssignableFrom(item.Parent.ItemType)) { item.Parent.Properties["Handler"].ClearValue(); selectRoot = true; } else if (null != container) { if (!containerToModelItemsDict.TryGetValue(container, out modelItemsPerContainer)) { modelItemsPerContainer = new List (); containerToModelItemsDict.Add(container, modelItemsPerContainer); } modelItemsPerContainer.Add(item); } } foreach (ICompositeView container in containerToModelItemsDict.Keys) { container.OnItemsDelete(containerToModelItemsDict[container]); selectRoot = true; } if (selectRoot) { DesignerView view = context.Services.GetService (); if (null != view) { WorkflowViewElement rootView = view.RootDesigner as WorkflowViewElement; if (rootView != null) { Selection.SelectOnly(context, rootView.ModelItem); } } } es.Complete(); } } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PeerNodeAddress.cs
- GradientBrush.cs
- FixUp.cs
- SignedXmlDebugLog.cs
- EmbossBitmapEffect.cs
- HatchBrush.cs
- FacetValueContainer.cs
- SoapTypeAttribute.cs
- DataSourceCache.cs
- WebSysDisplayNameAttribute.cs
- HeaderCollection.cs
- IndentedWriter.cs
- FocusChangedEventArgs.cs
- WebCategoryAttribute.cs
- ListView.cs
- clipboard.cs
- TypefaceMetricsCache.cs
- Vars.cs
- BitmapMetadata.cs
- XmlAttribute.cs
- TextBoxView.cs
- EventBindingService.cs
- SequentialOutput.cs
- WizardStepCollectionEditor.cs
- Nullable.cs
- EventLogPermissionEntryCollection.cs
- ResetableIterator.cs
- CqlGenerator.cs
- StylusCaptureWithinProperty.cs
- LicenseException.cs
- AlternateViewCollection.cs
- AuthStoreRoleProvider.cs
- AutomationPeer.cs
- Color.cs
- CodeDomSerializationProvider.cs
- NetworkCredential.cs
- _NativeSSPI.cs
- ValueTypeIndexerReference.cs
- HelpEvent.cs
- DesignerToolboxInfo.cs
- cookie.cs
- DecimalAnimationUsingKeyFrames.cs
- Dictionary.cs
- HtmlEncodedRawTextWriter.cs
- UIElement3D.cs
- BaseCollection.cs
- SymmetricSecurityProtocolFactory.cs
- Schema.cs
- SessionStateContainer.cs
- AssemblyBuilder.cs
- PersonalizationAdministration.cs
- Encoder.cs
- ConfigXmlAttribute.cs
- ErrorFormatter.cs
- ProcessHost.cs
- VirtualDirectoryMapping.cs
- SerTrace.cs
- ObjectItemAssemblyLoader.cs
- DocumentXmlWriter.cs
- ActivityExecutorSurrogate.cs
- SqlDataSourceView.cs
- WorkflowEnvironment.cs
- ComponentChangingEvent.cs
- AnnotationService.cs
- PeerNameRecordCollection.cs
- UnsafeNativeMethods.cs
- ByteFacetDescriptionElement.cs
- dsa.cs
- MultipleViewPattern.cs
- RectValueSerializer.cs
- Speller.cs
- BrowserCapabilitiesFactoryBase.cs
- AnnotationResourceCollection.cs
- MLangCodePageEncoding.cs
- ZipIOModeEnforcingStream.cs
- ZipFileInfoCollection.cs
- BmpBitmapEncoder.cs
- VisualStyleElement.cs
- ComponentCollection.cs
- Timer.cs
- ToolboxItemCollection.cs
- PageParser.cs
- SecurityState.cs
- FontWeight.cs
- XamlFilter.cs
- DynamicValueConverter.cs
- DotExpr.cs
- DodSequenceMerge.cs
- AnnotationService.cs
- COM2ColorConverter.cs
- EncoderBestFitFallback.cs
- VirtualPathProvider.cs
- User.cs
- xmlfixedPageInfo.cs
- Int32Converter.cs
- FocusTracker.cs
- AudioFormatConverter.cs
- StringConcat.cs
- PtsPage.cs
- RenderContext.cs