e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
108 lines
4.0 KiB
C#
108 lines
4.0 KiB
C#
//------------------------------------------------------------------------------
|
|
// <copyright file="BaseTemplatedMobileComponentEditor.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//------------------------------------------------------------------------------
|
|
|
|
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;
|
|
|
|
/// <summary>
|
|
/// <para>
|
|
/// Provides the
|
|
/// base component editor for Mobile Templated controls.
|
|
/// </para>
|
|
/// </summary>
|
|
[
|
|
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;
|
|
|
|
/// <summary>
|
|
/// <para>
|
|
/// Initializes a new instance of <see cref='System.Web.UI.Design.MobileControls.BaseTemplatedMobileComponentEditor'/>.
|
|
/// </para>
|
|
/// </summary>
|
|
/// <param name='initialPage'>
|
|
/// The index of the initial page.
|
|
/// </param>
|
|
internal BaseTemplatedMobileComponentEditor(int initialPage)
|
|
{
|
|
this._initialPage = initialPage;
|
|
}
|
|
|
|
/// <summary>
|
|
/// <para>
|
|
/// Edits a component.
|
|
/// </para>
|
|
/// </summary>
|
|
/// <param name='parent'>
|
|
/// The <see cref='System.Windows.Forms.IWin32Window'/> parent.
|
|
/// </param>
|
|
/// <param name='context'>
|
|
/// </param>
|
|
/// <param name=' obj'>
|
|
/// The component to edit.
|
|
/// </param>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// <para>
|
|
/// Gets the index of the initial component editor page.
|
|
/// </para>
|
|
/// </summary>
|
|
/// <returns>
|
|
/// <para>
|
|
/// The index of the initial page.
|
|
/// </para>
|
|
/// </returns>
|
|
protected override int GetInitialComponentEditorPageIndex()
|
|
{
|
|
return _initialPage;
|
|
}
|
|
}
|
|
}
|
|
|