1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
//------------------------------------------------------------------------------
// <copyright file="DesignTimeParseData.cs" company="Microsoft">
// Copyright (c) Microsoft Corporation. All rights reserved.
// </copyright>
//------------------------------------------------------------------------------
namespace System.Web.UI {
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Security.Permissions;
/// <internalonly/>
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<TagNamespaceRegisterEntry> tagRegisterEntries) {
if (userControlRegisterEntries == null && tagRegisterEntries == null) {
return;
}
List<Triplet> allEntries = new List<Triplet>();
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;
}
}
}
|