public void Remove(SceneDocument document)
            {
                RelatedDocumentInfo relatedDocumentInfo = this[document];

                this.documents.Remove(document);
                relatedDocumentInfo.Unregister();
            }
        private void OnEditTransactionUpdated(object sender, EventArgs e)
        {
            SceneDocument document   = sender as SceneDocument;
            SceneView     activeView = this.DesignerContext.ActiveView;

            ViewUpdateManager.RelatedDocumentTable relatedDocumentTable = (ViewUpdateManager.RelatedDocumentTable)null;
            if (activeView == null || activeView.IsClosing || (!this.relatedDocumentsForView.TryGetValue(activeView, out relatedDocumentTable) || !relatedDocumentTable.Contains(document)))
            {
                return;
            }
            RelatedDocumentInfo documentInfo = relatedDocumentTable[document];

            activeView.UpdateFromRelatedDocument(document, documentInfo, true, false);
            activeView.UpdateReferences();
        }
        internal void UpdateRelatedViews(SceneDocument sceneDocument, bool majorChange)
        {
            List <SceneView> list;

            if (sceneDocument == null || !this.relatedViewsForDocument.TryGetValue(sceneDocument, out list))
            {
                return;
            }
            HashSet <SceneView> views = new HashSet <SceneView>();

            foreach (SceneView view in list)
            {
                if (!view.IsClosing)
                {
                    this.CollectRelatedViewsRecursively(view, views);
                    RelatedDocumentInfo documentInfo = this.relatedDocumentsForView[view][sceneDocument];
                    view.UpdateFromRelatedDocument(sceneDocument, documentInfo, true, majorChange);
                }
            }
            this.UpdateReferences((ICollection <SceneView>)views);
        }
            public void Add(SceneDocument document)
            {
                RelatedDocumentInfo relatedDocumentInfo = new RelatedDocumentInfo(document);

                this.documents.Add(document, relatedDocumentInfo);
            }