Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Adapters / HtmlTextViewAdapter.cs / 1305376 / HtmlTextViewAdapter.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.MobileControls;
using System.Security.Permissions;
#if COMPILING_FOR_SHIPPED_SOURCE
namespace System.Web.UI.MobileControls.ShippedAdapterSource
#else
namespace System.Web.UI.MobileControls.Adapters
#endif
{
/*
* WmlTextViewAdapter class.
*
* Copyright (c) 2000 Microsoft Corporation
*/
///
[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 HtmlTextViewAdapter : HtmlControlAdapter
{
///
protected new TextView Control
{
get
{
return (TextView)base.Control;
}
}
///
public override void Render(HtmlMobileTextWriter writer)
{
int beginElement = Control.FirstVisibleElementIndex;
int beginOffset = Control.FirstVisibleElementOffset;
int endElement = Control.LastVisibleElementIndex;
int endOffset = Control.LastVisibleElementOffset;
writer.EnterStyle(Style);
for (int i = beginElement; i <= endElement; i++)
{
int begin = (i == beginElement) ? beginOffset : 0;
int end;
if (i == endElement)
{
if (endOffset <= begin)
{
break;
}
end = endOffset;
}
else
{
end = -1;
}
RenderElement(writer, i, begin, end);
}
writer.ExitStyle(Style, Control.BreakAfter);
}
private void RenderElement(HtmlMobileTextWriter writer, int index, int begin, int end)
{
TextViewElement element = Control.GetElement(index);
if (end == -1)
{
end = element.Text.Length;
}
String text = element.Text;
if (begin > 0 || end < text.Length)
{
text = text.Substring(begin, end - begin);
}
BooleanOption previousBold = Style.Font.Bold;
BooleanOption previousItalic = Style.Font.Italic;
if (element.IsBold)
{
Style.Font.Bold = BooleanOption.True;
}
if (element.IsItalic)
{
Style.Font.Italic = BooleanOption.True;
}
writer.EnterStyle(Style);
if (element.Url != null)
{
RenderBeginLink(writer, element.Url);
writer.WriteText(text, true);
RenderEndLink(writer);
}
else
{
writer.WriteText(text, true);
}
writer.ExitStyle(Style, element.BreakAfter);
Style.Font.Bold = previousBold;
Style.Font.Italic = previousItalic;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- _DigestClient.cs
- COM2ComponentEditor.cs
- GetPageCompletedEventArgs.cs
- PropertyToken.cs
- SessionState.cs
- SmtpCommands.cs
- Rfc4050KeyFormatter.cs
- Input.cs
- CodeBlockBuilder.cs
- QilGenerator.cs
- DbDataSourceEnumerator.cs
- XmlUtilWriter.cs
- DefaultHttpHandler.cs
- FileLogRecordHeader.cs
- ResourceExpressionEditor.cs
- ToolBarOverflowPanel.cs
- HttpFileCollection.cs
- SaveFileDialog.cs
- OracleBinary.cs
- IUnknownConstantAttribute.cs
- ConfigurationPropertyCollection.cs
- ContractUtils.cs
- FileStream.cs
- Comparer.cs
- SchemaImporter.cs
- InstanceCollisionException.cs
- XmlObjectSerializerContext.cs
- TextRange.cs
- XmlSchemaComplexContentExtension.cs
- EventArgs.cs
- Pair.cs
- Mappings.cs
- NetworkInformationPermission.cs
- RegistrationServices.cs
- GridItemProviderWrapper.cs
- CalloutQueueItem.cs
- SelectingProviderEventArgs.cs
- InfoCardSymmetricAlgorithm.cs
- QilLiteral.cs
- Style.cs
- AuthenticationManager.cs
- ModelVisual3D.cs
- PriorityChain.cs
- InkCanvasFeedbackAdorner.cs
- Walker.cs
- BuildDependencySet.cs
- TableLayout.cs
- GrowingArray.cs
- AlignmentYValidation.cs
- ContextQuery.cs
- OdbcDataAdapter.cs
- AudioFormatConverter.cs
- OLEDB_Enum.cs
- FreeFormDragDropManager.cs
- RenderingBiasValidation.cs
- Attributes.cs
- EntityDesignPluralizationHandler.cs
- DesignerAutoFormatStyle.cs
- OTFRasterizer.cs
- IntellisenseTextBox.cs
- ComboBox.cs
- SafeUserTokenHandle.cs
- ClientTarget.cs
- srgsitem.cs
- StringSorter.cs
- ViewValidator.cs
- ChtmlSelectionListAdapter.cs
- StatusStrip.cs
- PrintingPermissionAttribute.cs
- UpdateRecord.cs
- TypeSystem.cs
- CacheEntry.cs
- DetailsViewUpdateEventArgs.cs
- PasswordRecovery.cs
- SystemWebSectionGroup.cs
- LocalIdKeyIdentifierClause.cs
- TraceData.cs
- SQLCharsStorage.cs
- TraceUtility.cs
- DecimalAverageAggregationOperator.cs
- BaseUriHelper.cs
- ConnectionPoolManager.cs
- login.cs
- WebPartConnectionsEventArgs.cs
- ProfilePropertyNameValidator.cs
- XhtmlStyleClass.cs
- PermissionToken.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- LinearKeyFrames.cs
- ContainerAction.cs
- Vector.cs
- MessageEventSubscriptionService.cs
- Vector3dCollection.cs
- TextElement.cs
- XmlElementCollection.cs
- InternalResources.cs
- SQLConvert.cs
- ColumnProvider.cs
- ConnectionsZoneDesigner.cs
- odbcmetadatafactory.cs