TextServicesProperty.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / Documents / TextServicesProperty.cs / 1 / TextServicesProperty.cs

                            //---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//  
//
// 
// Description: TextServicesProperty implementation. 
//
// History: 
//  08/01/2003 : yutakas - Ported from dotnet tree.
//
//---------------------------------------------------------------------------
 
using System.Runtime.InteropServices;
using System.Windows.Threading; 
using System.Security; 
using System.Security.Permissions;
 
using System.Collections;
using System.Diagnostics;
using System.Windows.Media;
using System.Windows.Input; 
using System.Windows.Documents;
using MS.Win32; 
 
using System;
 
namespace System.Windows.Documents
{
    //-----------------------------------------------------
    // 
    //  TextServicesProperty class
    // 
    //----------------------------------------------------- 

    ///  
    ///   This is an internal.
    ///   This is a holder for Cicero properties.
    ///        - Reading String.
    ///        - Input Language. 
    ///        - Display Attribute.
    /// 
    /// 

 

    internal class TextServicesProperty
    {
        //------------------------------------------------------ 
        //
        //  Constructors 
        // 
        //-----------------------------------------------------
 
        #region Constructors

        internal TextServicesProperty(TextStore textstore)
        { 
            _textstore = textstore;
        } 
 
        #endregion Constructors
 
        //------------------------------------------------------
        //
        //  Internal Methods
        // 
        //------------------------------------------------------
 
        #region Internal Methods 

        ///  
        ///    Calback function for TextEditSink
        ///    we track all property change here.
        /// 
        ///  
        /// Critical - commits changes to edit buffer, might alow input spoofing
        ///  
        [SecurityCritical] 
        internal void OnEndEdit(
            UnsafeNativeMethods.ITfContext context, 
            int ecReadOnly,
            UnsafeNativeMethods.ITfEditRecord editRecord)
        {
            if (_propertyRanges == null) 
            {
                _propertyRanges = new TextServicesDisplayAttributePropertyRanges(_textstore); 
            } 

            _propertyRanges.OnEndEdit(context, ecReadOnly, editRecord); 
        }

        // Callback from TextStore.OnLayoutUpdated.
        // Updates composition display attribute adorner on-screen location. 
        internal void OnLayoutUpdated()
        { 
            TextServicesDisplayAttributePropertyRanges displayAttributes = _propertyRanges as TextServicesDisplayAttributePropertyRanges; 

            if (displayAttributes != null) 
            {
                displayAttributes.OnLayoutUpdated();
            }
        } 

        #endregion Internal Methods 
 
        //-----------------------------------------------------
        // 
        //  Private Fields
        //
        //------------------------------------------------------
 
        #region Private Fields
 
        private TextServicesPropertyRanges _propertyRanges; 

        private readonly TextStore _textstore; 

        #endregion Private Fields
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//  
//
// 
// Description: TextServicesProperty implementation. 
//
// History: 
//  08/01/2003 : yutakas - Ported from dotnet tree.
//
//---------------------------------------------------------------------------
 
using System.Runtime.InteropServices;
using System.Windows.Threading; 
using System.Security; 
using System.Security.Permissions;
 
using System.Collections;
using System.Diagnostics;
using System.Windows.Media;
using System.Windows.Input; 
using System.Windows.Documents;
using MS.Win32; 
 
using System;
 
namespace System.Windows.Documents
{
    //-----------------------------------------------------
    // 
    //  TextServicesProperty class
    // 
    //----------------------------------------------------- 

    ///  
    ///   This is an internal.
    ///   This is a holder for Cicero properties.
    ///        - Reading String.
    ///        - Input Language. 
    ///        - Display Attribute.
    /// 
    /// 

 

    internal class TextServicesProperty
    {
        //------------------------------------------------------ 
        //
        //  Constructors 
        // 
        //-----------------------------------------------------
 
        #region Constructors

        internal TextServicesProperty(TextStore textstore)
        { 
            _textstore = textstore;
        } 
 
        #endregion Constructors
 
        //------------------------------------------------------
        //
        //  Internal Methods
        // 
        //------------------------------------------------------
 
        #region Internal Methods 

        ///  
        ///    Calback function for TextEditSink
        ///    we track all property change here.
        /// 
        ///  
        /// Critical - commits changes to edit buffer, might alow input spoofing
        ///  
        [SecurityCritical] 
        internal void OnEndEdit(
            UnsafeNativeMethods.ITfContext context, 
            int ecReadOnly,
            UnsafeNativeMethods.ITfEditRecord editRecord)
        {
            if (_propertyRanges == null) 
            {
                _propertyRanges = new TextServicesDisplayAttributePropertyRanges(_textstore); 
            } 

            _propertyRanges.OnEndEdit(context, ecReadOnly, editRecord); 
        }

        // Callback from TextStore.OnLayoutUpdated.
        // Updates composition display attribute adorner on-screen location. 
        internal void OnLayoutUpdated()
        { 
            TextServicesDisplayAttributePropertyRanges displayAttributes = _propertyRanges as TextServicesDisplayAttributePropertyRanges; 

            if (displayAttributes != null) 
            {
                displayAttributes.OnLayoutUpdated();
            }
        } 

        #endregion Internal Methods 
 
        //-----------------------------------------------------
        // 
        //  Private Fields
        //
        //------------------------------------------------------
 
        #region Private Fields
 
        private TextServicesPropertyRanges _propertyRanges; 

        private readonly TextStore _textstore; 

        #endregion Private Fields
    }
} 

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