//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Web.UI.Design.MobileControls { using System.ComponentModel; using System.Diagnostics; using System.Web.UI.MobileControls; using System.Web.UI.MobileControls.Adapters; using System.Web.UI.Design.MobileControls.Adapters; /// /// /// Provides a designer for the /// control. /// /// /// [ System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode) ] [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.")] internal class TextViewDesigner : MobileControlDesigner { private System.Web.UI.MobileControls.TextView _textView; /// /// /// Initializes the designer with the component for design. /// /// /// /// The control element for design. /// /// /// /// This is called by the designer host to establish the component for /// design. /// /// /// public override void Initialize(IComponent component) { Debug.Assert(component is System.Web.UI.MobileControls.TextView, "TextViewDesigner.Initialize - Invalid TextView Control"); _textView = (System.Web.UI.MobileControls.TextView) component; base.Initialize(component); } private bool ValidContainment { get { return ( ContainmentStatus == ContainmentStatus.InForm || ContainmentStatus == ContainmentStatus.InPanel || ContainmentStatus == ContainmentStatus.InTemplateFrame); } } /// /// /// Returns the design-time HTML of the /// mobile control /// /// /// /// /// The HTML of the control. /// /// /// protected override String GetDesignTimeNormalHtml() { Debug.Assert (_textView.Text != null); DesignerTextWriter tw; Control[] children = null; String originalText = _textView.Text; bool blankText = (originalText.Trim().Length == 0); bool hasControls = _textView.HasControls(); if (blankText) { if (hasControls) { children = new Control[_textView.Controls.Count]; _textView.Controls.CopyTo(children, 0); } _textView.Text = "[" + _textView.ID + "]"; } try { tw = new DesignerTextWriter(); _textView.Adapter.Render(tw); } finally { if (blankText) { _textView.Text = originalText; if (hasControls) { foreach (Control c in children) { _textView.Controls.Add(c); } } } } return tw.ToString(); } protected override String GetErrorMessage(out bool infoMode) { infoMode = false; if (DesignerAdapterUtil.InMobileUserControl(_textView)) { return null; } if (DesignerAdapterUtil.InUserControl(_textView)) { infoMode = true; return MobileControlDesigner._userControlWarningMessage; } if (!DesignerAdapterUtil.InMobilePage(_textView)) { return MobileControlDesigner._mobilePageErrorMessage; } if (!ValidContainment) { return MobileControlDesigner._formPanelContainmentErrorMessage; } // Containment is valid, return null; return null; } } }