EventSetter.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / EventSetter.cs / 1 / EventSetter.cs

                            /****************************************************************************\ 
*
* File: SetterBase.cs
*
*  TargetType event setting class. 
*
* Copyright (C) 2004 by Microsoft Corporation.  All rights reserved. 
* 
\***************************************************************************/
 
using System;
using System.ComponentModel; // EditorBrowsableAttribute

namespace System.Windows 
{
    ///  
    ///     TargetType event setting class. 
    /// 
    public class EventSetter : SetterBase 
    {
        /// 
        ///     EventSetter construction
        ///  
        public EventSetter()
        { 
        } 

        ///  
        ///     EventSetter construction
        /// 
        public EventSetter(RoutedEvent routedEvent, Delegate handler)
        { 
            if (routedEvent == null)
            { 
                throw new ArgumentNullException("routedEvent"); 
            }
            if (handler == null) 
            {
                throw new ArgumentNullException("handler");
            }
 
            _event = routedEvent;
            _handler = handler; 
        } 

        ///  
        ///    Event that is being set by this setter
        /// 
        public RoutedEvent Event
        { 
            get { return _event; }
            set 
            { 
                if (value == null)
                { 
                    throw new ArgumentNullException("value");
                }

                CheckSealed(); 
                _event = value;
            } 
        } 

        ///  
        ///    Handler delegate that is being set by this setter
        /// 
        public Delegate Handler
        { 
            get { return _handler; }
            set 
            { 
                if (value == null)
                { 
                    throw new ArgumentNullException("value");
                }

                CheckSealed(); 
                _handler = value;
            } 
        } 

        ///  
        ///     HandledEventsToo flag that is being set by this setter
        /// 
        [EditorBrowsable(EditorBrowsableState.Never)]
        public bool HandledEventsToo 
        {
            get { return _handledEventsToo; } 
            set 
            {
                CheckSealed(); 
                _handledEventsToo = value;
            }
        }
 

        // 
        //  Do the error checking that we can only do once all of the properties have been 
        //  set, then call up to base.
        // 

        internal override void Seal()
        {
 
            if (_event == null)
            { 
                throw new ArgumentException(SR.Get(SRID.NullPropertyIllegal, "EventSetter.Event")); 
            }
            if (_handler == null) 
            {
                throw new ArgumentException(SR.Get(SRID.NullPropertyIllegal, "EventSetter.Handler"));
            }
            if (_handler.GetType() != _event.HandlerType) 
            {
                throw new ArgumentException(SR.Get(SRID.HandlerTypeIllegal)); 
            } 

            base.Seal(); 

        }

 
        private RoutedEvent    _event;
        private Delegate         _handler; 
        private bool             _handledEventsToo; 
    }
 
}


// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
/****************************************************************************\ 
*
* File: SetterBase.cs
*
*  TargetType event setting class. 
*
* Copyright (C) 2004 by Microsoft Corporation.  All rights reserved. 
* 
\***************************************************************************/
 
using System;
using System.ComponentModel; // EditorBrowsableAttribute

namespace System.Windows 
{
    ///  
    ///     TargetType event setting class. 
    /// 
    public class EventSetter : SetterBase 
    {
        /// 
        ///     EventSetter construction
        ///  
        public EventSetter()
        { 
        } 

        ///  
        ///     EventSetter construction
        /// 
        public EventSetter(RoutedEvent routedEvent, Delegate handler)
        { 
            if (routedEvent == null)
            { 
                throw new ArgumentNullException("routedEvent"); 
            }
            if (handler == null) 
            {
                throw new ArgumentNullException("handler");
            }
 
            _event = routedEvent;
            _handler = handler; 
        } 

        ///  
        ///    Event that is being set by this setter
        /// 
        public RoutedEvent Event
        { 
            get { return _event; }
            set 
            { 
                if (value == null)
                { 
                    throw new ArgumentNullException("value");
                }

                CheckSealed(); 
                _event = value;
            } 
        } 

        ///  
        ///    Handler delegate that is being set by this setter
        /// 
        public Delegate Handler
        { 
            get { return _handler; }
            set 
            { 
                if (value == null)
                { 
                    throw new ArgumentNullException("value");
                }

                CheckSealed(); 
                _handler = value;
            } 
        } 

        ///  
        ///     HandledEventsToo flag that is being set by this setter
        /// 
        [EditorBrowsable(EditorBrowsableState.Never)]
        public bool HandledEventsToo 
        {
            get { return _handledEventsToo; } 
            set 
            {
                CheckSealed(); 
                _handledEventsToo = value;
            }
        }
 

        // 
        //  Do the error checking that we can only do once all of the properties have been 
        //  set, then call up to base.
        // 

        internal override void Seal()
        {
 
            if (_event == null)
            { 
                throw new ArgumentException(SR.Get(SRID.NullPropertyIllegal, "EventSetter.Event")); 
            }
            if (_handler == null) 
            {
                throw new ArgumentException(SR.Get(SRID.NullPropertyIllegal, "EventSetter.Handler"));
            }
            if (_handler.GetType() != _event.HandlerType) 
            {
                throw new ArgumentException(SR.Get(SRID.HandlerTypeIllegal)); 
            } 

            base.Seal(); 

        }

 
        private RoutedEvent    _event;
        private Delegate         _handler; 
        private bool             _handledEventsToo; 
    }
 
}


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