public virtual void Canonicalize(SceneUpdateTypeFlags flags) { T primarySelection = this.PrimarySelection; ListOfT newSelection = this.storageProvider.CanonicalizeList(this.selection, flags); if ((object)newSelection == null) { return; } this.SetSelectionWithUndo(StringTable.UndoUnitRemoveDeletedNodesFromSelection, newSelection, primarySelection); }
public void Update(SceneUpdateTypeFlags updateType, DocumentNodeChangeList damage, uint changeStamp) { if (this.activeStoryboard == null || damage.Count == 0 || ((int)this.lastUpdateChangeStamp == (int)changeStamp || !this.activeStoryboard.IsInDocument)) { return; } this.lastUpdateChangeStamp = changeStamp; bool flag = false; foreach (DocumentNodeChange documentNodeChange in damage.DistinctChanges) { if (this.activeStoryboard.DocumentNode.Marker.Equals((object)documentNodeChange.ParentNode.Marker) || this.activeStoryboard.DocumentNode.Marker.Contains(documentNodeChange.ParentNode.Marker)) { if (documentNodeChange.IsPropertyChange && documentNodeChange.ParentNode.IsInDocument) { DocumentCompositeNode documentCompositeNode = documentNodeChange.ParentNode; while (documentCompositeNode != null && !PlatformTypes.Timeline.IsAssignableFrom((ITypeId)documentCompositeNode.Type)) { documentCompositeNode = documentCompositeNode.Parent; } FromToAnimationSceneNode animationSceneNode = this.viewModel.GetSceneNode((DocumentNode)documentCompositeNode) as FromToAnimationSceneNode; AnimationProxyManager.AnimationProxyData animationProxyData; if (animationSceneNode != null && animationSceneNode.IsOptimized && this.targetPathToProxyData.TryGetValue(new AnimationProxyManager.TargetNamePropertyPair((TimelineSceneNode)animationSceneNode), out animationProxyData)) { animationProxyData.OptimizedAnimationPropertyChanged = true; } } else if (documentNodeChange.Action == DocumentNodeChangeAction.Add && PlatformTypes.Timeline.IsAssignableFrom((ITypeId)documentNodeChange.NewChildNode.Type)) { TimelineSceneNode timeline = this.viewModel.GetSceneNode(documentNodeChange.NewChildNode) as TimelineSceneNode; AnimationProxyManager.AnimationProxyData animationProxyData; if (timeline != null && AnimationProxyManager.IsOptimizedAnimation(timeline) && this.targetPathToProxyData.TryGetValue(new AnimationProxyManager.TargetNamePropertyPair(timeline), out animationProxyData)) { animationProxyData.OptimizedAnimationAdded = true; } } flag = true; } } if (!flag) { return; } if ((updateType & SceneUpdateTypeFlags.UndoRedo) == SceneUpdateTypeFlags.None && (updateType & SceneUpdateTypeFlags.Canceled) == SceneUpdateTypeFlags.None) { this.UpdateProxyTable(AnimationProxyManager.AllowedChange.Any); } else { this.UpdateProxyTable(AnimationProxyManager.AllowedChange.None); } }
public OrderedList <T> CanonicalizeList(OrderedList <T> list, SceneUpdateTypeFlags flags) { return((OrderedList <T>)null); }
public MarkerBasedSceneNodeCollection <T> CanonicalizeList(MarkerBasedSceneNodeCollection <T> list, SceneUpdateTypeFlags flags) { if (flags != SceneUpdateTypeFlags.UndoRedo) { return(list.FilterOutDeletedMarkers()); } list.RestoreDeletedMarkers(); return((MarkerBasedSceneNodeCollection <T>)null); }