protected virtual void Dispose(bool disposing) { if (disposing) { if (this.viewNodeManager != null) { this.viewNodeManager.DisposeInternal(); this.viewNodeManager = null; } this.effectManager = null; this.instanceBuilderFactory = null; this.metadataFactory = null; this.serializationContext = null; this.documentRootResolver = null; this.viewRootResolver = null; this.parentContext = null; this.nameScope = null; this.textBufferService = null; this.containerRoot = null; if (this.instanceDictionary != null) { this.instanceDictionary.Clear(); } if (this.exceptionDictionary != null) { this.exceptionDictionary.Clear(); } if (this.warningDictionary != null) { this.warningDictionary.Clear(); } if (this.userControlInstances != null) { foreach (ViewNode userControlInstance in this.userControlInstances) { userControlInstance.Dispose(); } this.userControlInstances.Clear(); } } }
protected InstanceBuilderContextBase(IPlatform platform, IDocumentContext documentContext, IDocumentRootResolver documentRootResolver, IViewRootResolver viewRootResolver, ITypeMetadataFactory metadataFactory, INameScope nameScope, IInstanceBuilderContext parentContext, bool useShadowProperties, ITextBufferService textBufferService, DocumentNode alternateSiteNode) { this.documentContext = documentContext; this.platform = platform; this.effectManager = platform.EffectManager; this.instanceBuilderFactory = platform.InstanceBuilderFactory; this.documentRootResolver = documentRootResolver; this.viewRootResolver = viewRootResolver; this.metadataFactory = metadataFactory; this.AllowPostponingResourceEvaluation = true; this.viewNodeManager = this.platform.Create(); this.viewNodeManager.Initialize(this); this.userControlInstances = new HashSet <ViewNode>(); this.currentlyInstantiatingUserControlPreviews = new HashSet <string>(); this.instanceDictionary = this.platform.CreateInstanceDictionary(this.viewNodeManager); this.exceptionDictionary = new Microsoft.Expression.DesignModel.InstanceBuilders.ExceptionDictionary(this.viewNodeManager); this.warningDictionary = new Microsoft.Expression.DesignModel.InstanceBuilders.WarningDictionary(this.viewNodeManager); this.nameScope = nameScope; this.useShadowProperties = useShadowProperties; this.shouldRegisterInstantiatedElements = true; this.parentContext = parentContext; this.textBufferService = textBufferService; this.alternateSiteNode = alternateSiteNode; }
protected void Initialize(IPlatformTypes platformTypes) { this.platformTypes = platformTypes; this.typeMetadataFactory = this.platformTypes.CreateTypeMetadataFactory(this); RuntimeGeneratedTypesHelper.ClearControlEditingDesignTypeAssembly(); }
public CachedTypeMetadataFactory(ITypeMetadataFactory decoratedFactory) { m_DecoratedFactory = decoratedFactory; }
/// <summary> /// /// </summary> /// <param name="dbTypeMap"></param> /// <param name="metadataFactory"></param> public ObjectParameterBuilder(DbTypeMap dbTypeMap, ITypeMetadataFactory metadataFactory) { this.dbTypeMap = dbTypeMap; this.metadataFactory = metadataFactory; }
public InstanceBuilderContext(IPlatform platform, IDocumentRootResolver documentRootResolver, ITypeMetadataFactory metadataFactory, SceneViewModel viewModel, INameScope nameScope, InstanceBuilderContext parentContext, bool useShadowProperties, ITextBufferService textBufferService, DocumentNode alternateSiteNode) : base(platform, viewModel.DocumentRoot.DocumentContext, documentRootResolver, (IViewRootResolver)viewModel.DesignerContext.ViewRootResolver, metadataFactory, nameScope, (IInstanceBuilderContext)parentContext, useShadowProperties, textBufferService, alternateSiteNode) { this.viewModel = viewModel; }
public virtual void RefreshProjectSpecificMetadata(ITypeResolver typeResolver, ITypeMetadataFactory typeMetadataFactory) { }
public TypeMetadataResolver(ITypeMetadataFactory factory) { m_Factory = factory; }
protected override void Work() { IProjectDocument projectDocument1 = this.projectDocuments[this.currentProjectDocument]; if (projectDocument1 == null || projectDocument1.Document != null) { return; } IProjectDocument projectDocument2 = this.model.ResourceEntryNode.ProjectContext.OpenDocument(projectDocument1.Path); if (projectDocument2 == null) { return; } SceneDocument document = projectDocument2.Document as SceneDocument; if (document == null || !document.IsEditable) { return; } IDocumentRoot documentRoot = document.DocumentRoot; DocumentNode searchKey = (DocumentNode)null; SceneNode keyNode = this.model.ResourceEntryNode.KeyNode; if (keyNode != null) { searchKey = keyNode.DocumentNode; } foreach (DocumentNode documentNode1 in documentRoot.RootNode.SelectDescendantNodes((Predicate <DocumentNode>)(node => { DocumentCompositeNode node1 = node as DocumentCompositeNode; return(node1 != null && node1.Type.IsResource && ResourceNodeHelper.GetResourceKey(node1).Equals(searchKey)); }))) { ITypeMetadataFactory metadataFactory = this.model.ResourceEntryNode.ProjectContext.MetadataFactory; IType type = documentNode1.TypeResolver.ResolveType(PlatformTypes.FrameworkElement); DocumentCompositeNode documentCompositeNode = documentNode1.SelectFirstAncestorNode(type.RuntimeType) as DocumentCompositeNode; string caption = document.Caption; string str; if (documentCompositeNode != null) { IPropertyId index = (IPropertyId)metadataFactory.GetMetadata(documentCompositeNode.TargetType).NameProperty; DocumentNode documentNode2 = documentCompositeNode.Properties[index]; if (documentNode2 != null) { DocumentPrimitiveNode documentPrimitiveNode = documentNode2 as DocumentPrimitiveNode; str = documentPrimitiveNode == null?documentNode2.ToString() : documentPrimitiveNode.Value.ToString(); } else { str = documentCompositeNode.ToString(); } } else { str = documentNode1.ToString(); } this.model.ReferenceNames.Add(string.Format((IFormatProvider)CultureInfo.CurrentCulture, StringTable.ReferencesFoundFormat, new object[2] { (object)str, (object)caption })); this.model.AddReferencesFile(document); } this.model.ResourceEntryNode.ViewModel.DesignerContext.DocumentService.CloseDocument((IDocument)document); }
/// <summary> /// /// </summary> /// <param name="metadataFactory"></param> public ObjectQueryHandler(ITypeMetadataFactory metadataFactory) { this.metadataFactory = metadataFactory; }