//------------------------------------------------------------------------------
//
// 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;
}
}
}