EmptyElement.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / AccessibleTech / longhorn / Automation / Win32Providers / MS / Internal / AutomationProxies / EmptyElement.cs / 1 / EmptyElement.cs

                            //---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//  
//
// 
// Description: Implementation of an empty proxy provider 
//
// History: 
//        alexsn - Created (in DotNet)
//
//---------------------------------------------------------------------------
 
using System;
using System.Windows.Automation; 
using System.Windows.Automation.Provider; 
using MS.Win32;
 
namespace MS.Internal.AutomationProxies
{
    // Empty proxy provider
    class EmptyElement : IRawElementProviderSimple 
    {
        //----------------------------------------------------- 
        // 
        //  Constructors
        // 
        //-----------------------------------------------------

        #region Constructors
        protected EmptyElement() 
        {
        } 
        #endregion Constructors 

        //------------------------------------------------------ 
        //
        //  IRawElementProviderSimple
        //
        //----------------------------------------------------- 

        #region Interface IRawElementProviderSimple 
        ProviderOptions IRawElementProviderSimple.ProviderOptions 
        {
            get 
            {
                return ProviderOptions.ClientSideProvider;
            }
        } 

        object IRawElementProviderSimple.GetPatternProvider(int patternId) 
        { 
            return null;
        } 

        object IRawElementProviderSimple.GetPropertyValue(int propertyId)
        {
            return null; 
        }
 
        IRawElementProviderSimple IRawElementProviderSimple.HostRawElementProvider 
        {
            get 
            {
                return null;
            }
        } 

        #endregion Interface IRawElementProviderSimple 
 
    }
 

    // Empty GridItem cell implementation
    sealed class EmptyGridItem : EmptyElement,
        IRawElementProviderSimple, 
        IGridItemProvider
    { 
        #region Data 
        readonly int _row;
        readonly int _column; 
        readonly int _rowSpan;
        readonly int _columnSpan;
        IRawElementProviderSimple _containingGrid;
        #endregion Data 

        #region Constructor 
 
        internal EmptyGridItem(int row, int column, IRawElementProviderSimple containingGrid)
        { 
            _row = row;
            _column = column;
            _rowSpan = 1;
            _columnSpan = 1; 
            _containingGrid = containingGrid;
        } 
 
        #endregion Constructor
 
        #region IRawElementProviderSimple

        object IRawElementProviderSimple.GetPatternProvider(int patternId)
        { 
            if (patternId == GridItemPattern.Pattern.Id)
            { 
                return this; 
            }
            return null; 
        }

        #endregion IRawElementProviderSimple
 
        #region IGridItemProvider
 
        int IGridItemProvider.Column 
        {
            get 
            {
                return _column;
            }
        } 
        int IGridItemProvider.ColumnSpan
        { 
            get 
            {
                return _columnSpan; 
            }
        }
        IRawElementProviderSimple IGridItemProvider.ContainingGrid
        { 
            get
            { 
                return _containingGrid; 
            }
        } 
        int IGridItemProvider.Row
        {
            get
            { 
                return _row;
            } 
        } 
        int IGridItemProvider.RowSpan
        { 
            get
            {
                return _rowSpan;
            } 
        }
 
        #endregion IGridItemProvider 
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.


                        

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