TextEditorParagraphs.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 / wcp / Framework / System / Windows / Documents / TextEditorParagraphs.cs / 1 / TextEditorParagraphs.cs

                            //---------------------------------------------------------------------------- 
//
// File: TextEditorParagraphs.cs
//
// Copyright (C) Microsoft Corporation.  All rights reserved. 
//
// Description: A component of TextEditor supporting paragraph formating commands 
// 
//---------------------------------------------------------------------------
 
namespace System.Windows.Documents
{
    using MS.Internal;
    using System.Globalization; 
    using System.Threading;
    using System.ComponentModel; 
    using System.Text; 
    using System.Collections; // ArrayList
    using System.Runtime.InteropServices; 

    using System.Windows.Threading;
    using System.Windows.Input;
    using System.Windows.Controls; // ScrollChangedEventArgs 
    using System.Windows.Controls.Primitives;  // CharacterCasing, TextBoxBase
    using System.Windows.Media; 
    using System.Windows.Markup; 

    using MS.Utility; 
    using MS.Win32;
    using MS.Internal.Documents;
    using MS.Internal.Commands; // CommandHelpers
 
    /// 
    /// Text editing service for controls. 
    ///  
    internal static class TextEditorParagraphs
    { 
        //-----------------------------------------------------
        //
        //  Class Internal Methods
        // 
        //-----------------------------------------------------
 
        #region Class Internal Methods 

        // Registers all text editing command handlers for a given control type 
        internal static void _RegisterClassHandlers(Type controlType, bool acceptsRichContent, bool registerEventListeners)
        {
            if (acceptsRichContent)
            { 
                // Editing Commands: Paragraph Editing
                // ----------------------------------- 
                CommandHelpers.RegisterCommandHandler(controlType, EditingCommands.AlignLeft                 , new ExecutedRoutedEventHandler(OnAlignLeft)                 , new CanExecuteRoutedEventHandler(OnQueryStatusNYI), KeyGesture.CreateFromResourceStrings(SR.Get(SRID.KeyAlignLeft),             SR.Get(SRID.KeyAlignLeftDisplayString))             ); 
                CommandHelpers.RegisterCommandHandler(controlType, EditingCommands.AlignCenter               , new ExecutedRoutedEventHandler(OnAlignCenter)               , new CanExecuteRoutedEventHandler(OnQueryStatusNYI), KeyGesture.CreateFromResourceStrings(SR.Get(SRID.KeyAlignCenter),           SR.Get(SRID.KeyAlignCenterDisplayString))           );
                CommandHelpers.RegisterCommandHandler(controlType, EditingCommands.AlignRight                , new ExecutedRoutedEventHandler(OnAlignRight)                , new CanExecuteRoutedEventHandler(OnQueryStatusNYI), KeyGesture.CreateFromResourceStrings(SR.Get(SRID.KeyAlignRight),            SR.Get(SRID.KeyAlignRightDisplayString))            ); 
                CommandHelpers.RegisterCommandHandler(controlType, EditingCommands.AlignJustify              , new ExecutedRoutedEventHandler(OnAlignJustify)              , new CanExecuteRoutedEventHandler(OnQueryStatusNYI), KeyGesture.CreateFromResourceStrings(SR.Get(SRID.KeyAlignJustify),          SR.Get(SRID.KeyAlignJustifyDisplayString))          );
                CommandHelpers.RegisterCommandHandler(controlType, EditingCommands.ApplySingleSpace          , new ExecutedRoutedEventHandler(OnApplySingleSpace)          , new CanExecuteRoutedEventHandler(OnQueryStatusNYI), KeyGesture.CreateFromResourceStrings(SR.Get(SRID.KeyApplySingleSpace),      SR.Get(SRID.KeyApplySingleSpaceDisplayString))      );
                CommandHelpers.RegisterCommandHandler(controlType, EditingCommands.ApplyOneAndAHalfSpace     , new ExecutedRoutedEventHandler(OnApplyOneAndAHalfSpace)     , new CanExecuteRoutedEventHandler(OnQueryStatusNYI), KeyGesture.CreateFromResourceStrings(SR.Get(SRID.KeyApplyOneAndAHalfSpace), SR.Get(SRID.KeyApplyOneAndAHalfSpaceDisplayString)) );
                CommandHelpers.RegisterCommandHandler(controlType, EditingCommands.ApplyDoubleSpace          , new ExecutedRoutedEventHandler(OnApplyDoubleSpace)          , new CanExecuteRoutedEventHandler(OnQueryStatusNYI), KeyGesture.CreateFromResourceStrings(SR.Get(SRID.KeyApplyDoubleSpace),      SR.Get(SRID.KeyApplyDoubleSpaceDisplayString))      ); 
            }
 
            CommandHelpers.RegisterCommandHandler(controlType, EditingCommands.ApplyParagraphFlowDirectionLTR, new ExecutedRoutedEventHandler(OnApplyParagraphFlowDirectionLTR), new CanExecuteRoutedEventHandler(OnQueryStatusNYI)); 
            CommandHelpers.RegisterCommandHandler(controlType, EditingCommands.ApplyParagraphFlowDirectionRTL, new ExecutedRoutedEventHandler(OnApplyParagraphFlowDirectionRTL), new CanExecuteRoutedEventHandler(OnQueryStatusNYI));
        } 

        #endregion Class Internal Methods

        //------------------------------------------------------ 
        //
        //  Private Methods 
        // 
        //-----------------------------------------------------
 
        #region Private Methods

        /// 
        /// AlignLeft command event handler. 
        /// 
        private static void OnAlignLeft(object sender, ExecutedRoutedEventArgs e) 
        { 
            TextEditor This = TextEditor._GetTextEditor(sender);
 
            if (This == null)
            {
                return;
            } 

            TextEditorCharacters._OnApplyProperty(This, Block.TextAlignmentProperty, TextAlignment.Left, /*applyToParagraphs*/true); 
        } 

        ///  
        /// AlignCenter command event handler.
        /// 
        private static void OnAlignCenter(object sender, ExecutedRoutedEventArgs e)
        { 
            TextEditor This = TextEditor._GetTextEditor(sender);
 
            if (This == null) 
            {
                return; 
            }

            TextEditorCharacters._OnApplyProperty(This, Block.TextAlignmentProperty, TextAlignment.Center, /*applyToParagraphs*/true);
        } 

        ///  
        /// AlignRight command event handler. 
        /// 
        private static void OnAlignRight(object sender, ExecutedRoutedEventArgs e) 
        {
            TextEditor This = TextEditor._GetTextEditor(sender);

            if (This == null) 
            {
                return; 
            } 

            TextEditorCharacters._OnApplyProperty(This, Block.TextAlignmentProperty, TextAlignment.Right, /*applyToParagraphs*/true); 
        }

        /// 
        /// AlignJustify command event handler. 
        /// 
        private static void OnAlignJustify(object sender, ExecutedRoutedEventArgs e) 
        { 
            TextEditor This = TextEditor._GetTextEditor(sender);
 
            if (This == null)
            {
                return;
            } 

            TextEditorCharacters._OnApplyProperty(This, Block.TextAlignmentProperty, TextAlignment.Justify, /*applyToParagraphs*/true); 
        } 

        private static void OnApplySingleSpace(object sender, ExecutedRoutedEventArgs e) 
        {
            //
        }
 
        private static void OnApplyOneAndAHalfSpace(object sender, ExecutedRoutedEventArgs e)
        { 
            // 
        }
 
        private static void OnApplyDoubleSpace(object sender, ExecutedRoutedEventArgs e)
        {
            //
        } 

        ///  
        /// OnApplyParagraphFlowDirectionLTR command event handler. 
        /// 
        private static void OnApplyParagraphFlowDirectionLTR(object sender, ExecutedRoutedEventArgs e) 
        {
            TextEditor This = TextEditor._GetTextEditor(sender);
            TextEditorCharacters._OnApplyProperty(This, FrameworkElement.FlowDirectionProperty,
                FlowDirection.LeftToRight, /*applyToParagraphs*/true); 
        }
 
        ///  
        /// OnApplyParagraphFlowDirectionRTL command event handler.
        ///  
        private static void OnApplyParagraphFlowDirectionRTL(object sender, ExecutedRoutedEventArgs e)
        {
            TextEditor This = TextEditor._GetTextEditor(sender);
            TextEditorCharacters._OnApplyProperty(This, FrameworkElement.FlowDirectionProperty, 
                FlowDirection.RightToLeft, /*applyToParagraphs*/true);
        } 
 
        // ----------------------------------------------------------
        // 
        // Misceleneous Commands
        //
        // ----------------------------------------------------------
 
        #region Misceleneous Commands
 
        ///  
        /// StartInputCorrection command QueryStatus handler
        ///  
        private static void OnQueryStatusNYI(object sender, CanExecuteRoutedEventArgs e)
        {
            TextEditor This = TextEditor._GetTextEditor(sender);
 
            if (This == null)
            { 
                return; 
            }
 
            e.CanExecute = true;
        }

        #endregion Misceleneous Commands 

        #endregion Private methods 
    } 
}

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