You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@@ -0,0 +1,109 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <copyright file="LiteralTextContainerControlBuilder.cs" company="Microsoft">
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.Design;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.Design.WebControls;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Security.Permissions;
|
||||
|
||||
namespace System.Web.UI.MobileControls
|
||||
{
|
||||
/*
|
||||
* Control builder for containers of literal text
|
||||
*
|
||||
* Copyright (c) 2000 Microsoft Corporation
|
||||
*/
|
||||
|
||||
/// <include file='doc\LiteralTextContainerControlBuilder.uex' path='docs/doc[@for="LiteralTextContainerControlBuilder"]/*' />
|
||||
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
|
||||
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
|
||||
[Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")]
|
||||
public class LiteralTextContainerControlBuilder : MobileControlBuilder
|
||||
{
|
||||
private CompileLiteralTextParser _textParser = null;
|
||||
private bool _controlsInserted = false;
|
||||
|
||||
internal LiteralTextContainerControlBuilder()
|
||||
{
|
||||
}
|
||||
|
||||
internal CompileLiteralTextParser TextParser
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_textParser == null)
|
||||
{
|
||||
_textParser =
|
||||
new CompileLiteralTextParser(Parser, this, String.Empty, 1);
|
||||
if (_controlsInserted)
|
||||
{
|
||||
_textParser.ResetBreaking();
|
||||
_textParser.ResetNewParagraph();
|
||||
}
|
||||
}
|
||||
return _textParser;
|
||||
}
|
||||
}
|
||||
|
||||
/// <include file='doc\LiteralTextContainerControlBuilder.uex' path='docs/doc[@for="LiteralTextContainerControlBuilder.AppendLiteralString"]/*' />
|
||||
public override void AppendLiteralString(String text)
|
||||
{
|
||||
if (InDesigner)
|
||||
{
|
||||
base.AppendLiteralString(text);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (LiteralTextParser.IsValidText(text))
|
||||
{
|
||||
TextParser.Parse(text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <include file='doc\LiteralTextContainerControlBuilder.uex' path='docs/doc[@for="LiteralTextContainerControlBuilder.AppendSubBuilder"]/*' />
|
||||
public override void AppendSubBuilder(ControlBuilder subBuilder)
|
||||
{
|
||||
if (InDesigner)
|
||||
{
|
||||
base.AppendSubBuilder(subBuilder);
|
||||
}
|
||||
|
||||
// The first one is used if ASP.NET is compiled with FAST_DATABINDING off. The second
|
||||
// is used if it is compiled with FAST_DATABINDING on. Note: We can't do a type
|
||||
// comparison because CodeBlockBuilder is internal.
|
||||
//else if (typeof(DataBoundLiteralControl).IsAssignableFrom(subBuilder.ControlType))
|
||||
else if (subBuilder.GetType().FullName == "System.Web.UI.CodeBlockBuilder")
|
||||
{
|
||||
TextParser.AddDataBinding(subBuilder);
|
||||
}
|
||||
else
|
||||
{
|
||||
base.AppendSubBuilder(subBuilder);
|
||||
if (subBuilder.ControlType != typeof(LiteralText))
|
||||
{
|
||||
if (_textParser != null)
|
||||
{
|
||||
_textParser.ResetBreaking();
|
||||
}
|
||||
else
|
||||
{
|
||||
_controlsInserted = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user