DesignTimeParseData.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / DesignTimeParseData.cs / 1305376 / DesignTimeParseData.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 
namespace System.Web.UI {
    using System; 
    using System.Collections; 
    using System.Collections.Generic;
    using System.ComponentModel; 
    using System.ComponentModel.Design;
    using System.Security.Permissions;

 
    /// 
    public sealed class DesignTimeParseData { 
 
        private IDesignerHost _designerHost;
 
        private string _documentUrl;

        private EventHandler _dataBindingHandler;
 
        private string _parseText;
 
        private string _filter; 

        private bool _shouldApplyTheme = false; 

        private ICollection _userControlRegisterEntries;

 
        public DesignTimeParseData(IDesignerHost designerHost, string parseText) : this(designerHost, parseText, String.Empty) {
        } 
 

        public DesignTimeParseData(IDesignerHost designerHost, string parseText, string filter) { 

            // note that designerHost can be null, we continue on without using any designer-specific services.
            if (String.IsNullOrEmpty(parseText)) {
                throw new ArgumentNullException("parseText"); 
            }
 
            _designerHost = designerHost; 
            _parseText = parseText;
            _filter = filter; 
        }

        public bool ShouldApplyTheme {
            get { 
                return _shouldApplyTheme;
            } 
            set { 
                _shouldApplyTheme = value;
            } 
        }


        public EventHandler DataBindingHandler { 
            get {
                return _dataBindingHandler; 
            } 
            set {
                _dataBindingHandler = value; 
            }
        }

 
        public IDesignerHost DesignerHost {
            get { 
                return _designerHost; 
            }
        } 


        public string DocumentUrl {
            get { 
                if (_documentUrl == null) {
                    return String.Empty; 
                } 

                return _documentUrl; 
            }
            set {
                _documentUrl = value;
            } 
        }
 
 
        public string Filter {
            get { 
                if (_filter == null) {
                    return String.Empty;
                }
 
                return _filter;
            } 
        } 

 
        public string ParseText {
            get {
                return _parseText;
            } 
        }
 
        public ICollection UserControlRegisterEntries { 
            get {
                return _userControlRegisterEntries; 
            }
        }

        internal void SetUserControlRegisterEntries(ICollection userControlRegisterEntries, List tagRegisterEntries) { 
            if (userControlRegisterEntries == null && tagRegisterEntries == null) {
                return; 
            } 

            List allEntries = new List(); 
            if (userControlRegisterEntries != null) {
                foreach (UserControlRegisterEntry entry in userControlRegisterEntries) {
                    allEntries.Add(new Triplet(entry.TagPrefix, new Pair(entry.TagName, entry.UserControlSource.ToString()), null));
                } 
            }
            if (tagRegisterEntries != null) { 
                foreach (TagNamespaceRegisterEntry entry in tagRegisterEntries) { 
                    allEntries.Add(new Triplet(entry.TagPrefix, null, new Pair(entry.Namespace, entry.AssemblyName)));
                } 
            }

            _userControlRegisterEntries = allEntries;
        } 
    }
} 
 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK