//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Web.UI.Design.MobileControls { using System; using System.ComponentModel; using System.ComponentModel.Design; using System.Diagnostics; using System.Windows.Forms; using System.Windows.Forms.Design; /// /// /// Provides the /// base component editor for Mobile Templated controls. /// /// [ 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 abstract class BaseTemplatedMobileComponentEditor : WindowsFormsComponentEditor { private int _initialPage; /// /// /// Initializes a new instance of . /// /// /// /// The index of the initial page. /// internal BaseTemplatedMobileComponentEditor(int initialPage) { this._initialPage = initialPage; } /// /// /// Edits a component. /// /// /// /// The parent. /// /// /// /// /// The component to edit. /// public override bool EditComponent(ITypeDescriptorContext context, Object obj, IWin32Window parent) { bool result = false; bool inTemplateMode = false; Debug.Assert(obj is IComponent, "Expected obj to be an IComponent"); IComponent comp = (IComponent)obj; ISite compSite = comp.Site; if (compSite != null) { IDesignerHost designerHost = (IDesignerHost)compSite.GetService(typeof(IDesignerHost)); IDesigner compDesigner = designerHost.GetDesigner(comp); Debug.Assert(compDesigner is TemplatedControlDesigner, "Expected component to have a TemplatedControlDesigner"); TemplatedControlDesigner tplDesigner = (TemplatedControlDesigner) compDesigner; inTemplateMode = tplDesigner.InTemplateMode; } if (inTemplateMode == false) { result = base.EditComponent(context, obj, parent); } else { MessageBox.Show(SR.GetString(SR.BaseTemplatedMobileComponentEditor_TemplateModeErrorMessage), SR.GetString(SR.BaseTemplatedMobileComponentEditor_TemplateModeErrorTitle), MessageBoxButtons.OK, MessageBoxIcon.Information); } return result; } /// /// /// Gets the index of the initial component editor page. /// /// /// /// /// The index of the initial page. /// /// protected override int GetInitialComponentEditorPageIndex() { return _initialPage; } } }