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;
 }
Beispiel #3
0
 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;
 }
Beispiel #6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="dbTypeMap"></param>
 /// <param name="metadataFactory"></param>
 public ObjectParameterBuilder(DbTypeMap dbTypeMap, ITypeMetadataFactory metadataFactory)
 {
     this.dbTypeMap       = dbTypeMap;
     this.metadataFactory = metadataFactory;
 }
Beispiel #7
0
 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;
 }
Beispiel #8
0
 public virtual void RefreshProjectSpecificMetadata(ITypeResolver typeResolver, ITypeMetadataFactory typeMetadataFactory)
 {
 }
Beispiel #9
0
 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;
 }