public void ShowDialog(ModelItem modelItem, EditingContext context) { Fx.Assert(modelItem != null, "Activity model item shouldn't be null!"); Fx.Assert(context != null, "EditingContext shouldn't be null!"); string bookmarkTitle = (string)this.InlineEditorTemplate.Resources["bookmarkTitle"]; UndoEngine undoEngine = context.Services.GetService<UndoEngine>(); Fx.Assert(null != undoEngine, "UndoEngine should be available"); using (ModelEditingScope editingScope = modelItem.BeginEdit(bookmarkTitle, shouldApplyChangesImmediately: true)) { if ((new EditorWindow(modelItem, context)).ShowOkCancel()) { editingScope.Complete(); } else { editingScope.Revert(); } } }
private static void SetAutoSplitDataWithUndo( ModelItem fcModelItem, ModelItem srcModelItem, ModelItem destModelItem, int srcIndex, int destIndex, EdgeLocation entryEdgeForAutoSplit, EdgeLocation exitEdgeForAutoSplit) { using (EditingScope es = (EditingScope)fcModelItem.BeginEdit(SR.AutoSplit, false)) { es.Changes.Add( new SetAutoSplitConnectionPointChange( fcModelItem, srcModelItem, destModelItem, srcIndex, destIndex, entryEdgeForAutoSplit, exitEdgeForAutoSplit )); es.Complete(); } }
public static void OnAddAnnotationCommandExecuted(ExecutedRoutedEventArgs e, ModelItem modelItem) { ModelProperty property = modelItem.Properties.Find(Annotation.AnnotationTextPropertyName); if (property != null) { using (ModelEditingScope editingScope = modelItem.BeginEdit(SR.AddAnnotationDescription)) { property.SetValue(string.Empty); ViewStateService viewStateService = modelItem.GetEditingContext().Services.GetService<ViewStateService>(); viewStateService.StoreViewStateWithUndo(modelItem, Annotation.IsAnnotationDockedViewStateName, false); editingScope.Complete(); } if (modelItem.View != null) { WorkflowViewElement element = modelItem.View as WorkflowViewElement; if (element != null) { element.OnEditAnnotation(); } } } e.Handled = true; }
public static void OnDeleteAnnotationCommandExecuted(ExecutedRoutedEventArgs e, ModelItem modelItem) { using (ModelEditingScope editingScope = modelItem.BeginEdit(SR.DeleteAnnotationDescription)) { modelItem.Properties[Annotation.AnnotationTextPropertyName].SetValue(null); ViewStateService viewStateService = modelItem.GetEditingContext().Services.GetService<ViewStateService>(); viewStateService.StoreViewStateWithUndo(modelItem, Annotation.IsAnnotationDockedViewStateName, null); editingScope.Complete(); } e.Handled = true; }