e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
135 lines
3.7 KiB
C#
135 lines
3.7 KiB
C#
//------------------------------------------------------------------------------
|
|
// <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;
|
|
}
|
|
}
|
|
}
|
|
|