BaseTemplatedMobileComponentEditor.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Design / BaseTemplatedMobileComponentEditor.cs / 1305376 / BaseTemplatedMobileComponentEditor.cs

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

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK