HotSpot.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / HotSpot.cs / 1 / HotSpot.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 
namespace System.Web.UI.WebControls {
 
    using System; 
    using System.Collections;
    using System.ComponentModel; 
    using System.Drawing.Design;
    using System.Web.UI;
    using System.Globalization;
    using System.Security.Permissions; 

 
    ///  
    /// Defines abstract class from which all HotSpot shapes must inherit.
    ///  
    [
    TypeConverter(typeof(ExpandableObjectConverter))
    ]
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    public abstract class HotSpot : IStateManager { 
 
        private bool _isTrackingViewState;
        private StateBag _viewState; 


        /// 
        ///    Gets or sets the keyboard shortcut key (AccessKey) for setting focus to the 
        ///       HotSpot.
        ///  
        [ 
        DefaultValue(""),
        Localizable(true), 
        WebCategory("Accessibility"),
        WebSysDescription(SR.HotSpot_AccessKey)
        ]
        public virtual string AccessKey { 
            get {
                string s = (string)ViewState["AccessKey"]; 
                if (s != null) { 
                    return s;
                } 
                return String.Empty;
            }
            set {
                // Valid values are null, String.Empty, and single character strings 
                if ((value != null) && (value.Length > 1)) {
                    throw new ArgumentOutOfRangeException("value"); 
                } 

                ViewState["AccessKey"] = value; 
            }
        }

 
        /// 
        /// Gets or sets the tool tip displayed over the 
        /// hotspot and the text for device-specific display. 
        /// 
        [ 
#if ORCAS
        Verification("WCAG", "1.1", VerificationReportLevel.Error, 1, SR.Accessibility_ImageAlternateTextMissing),
        Verification("ADA", "1194.22(a)", VerificationReportLevel.Error, 1, SR.Accessibility_ImageAlternateTextMissing)
#endif 
        Localizable(true),
        Bindable(true), 
        WebCategory("Behavior"), 
        DefaultValue(""),
        WebSysDescription(SR.HotSpot_AlternateText), 
        NotifyParentProperty(true)
        ]
        public virtual String AlternateText {
            get { 
                object text = ViewState["AlternateText"];
                return (text == null)? String.Empty : (string)text; 
            } 
            set {
                ViewState["AlternateText"] = value; 
            }
        }

 
        /// 
        /// Gets or sets the HotSpotMode to either postback or navigation. 
        ///  
        [
        WebCategory("Behavior"), 
        DefaultValue(HotSpotMode.NotSet),
        WebSysDescription(SR.HotSpot_HotSpotMode),
        NotifyParentProperty(true)
        ] 
        public virtual HotSpotMode HotSpotMode {
            get { 
                object obj = ViewState["HotSpotMode"]; 
                return (obj == null) ? HotSpotMode.NotSet : (HotSpotMode)obj;
            } 
            set {
                if (value < HotSpotMode.NotSet || value > HotSpotMode.Inactive) {
                    throw new ArgumentOutOfRangeException("value");
                } 
                ViewState["HotSpotMode"] = value;
            } 
        } 

 

        /// 
        /// Gets or sets the argument for postback event.
        ///  
        [
        Bindable(true), 
        WebCategory("Behavior"), 
        DefaultValue(""),
        WebSysDescription(SR.HotSpot_PostBackValue), 
        NotifyParentProperty(true)
        ]
        public String PostBackValue {
            get { 
                object value = ViewState["PostBackValue"];
                return (value == null)? String.Empty : (string)value; 
            } 
            set {
                ViewState["PostBackValue"] = value; 
            }
        }

 
        /// 
        /// Gets the markup language string representation of the shape name. 
        ///  
        protected internal abstract string MarkupName {
            get; 
        }


        ///  
        /// Gets or sets the navigation url.
        ///  
        [ 
        Bindable(true),
        WebCategory("Behavior"), 
        DefaultValue(""),
        WebSysDescription(SR.HotSpot_NavigateUrl),
        NotifyParentProperty(true),
        UrlProperty(), 
        Editor("System.Web.UI.Design.UrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
        ] 
        public String NavigateUrl { 
            get {
                object value = ViewState["NavigateUrl"]; 
                return (value == null)? String.Empty : (string)value;
            }
            set {
                ViewState["NavigateUrl"] = value; 
            }
        } 
 
        /// 
        ///     
        ///       Gets or
        ///       sets the tab index of the HotSpot.
        /// 
        [ 
        DefaultValue((short)0),
        WebCategory("Accessibility"), 
        WebSysDescription(SR.HotSpot_TabIndex) 
        ]
        public virtual short TabIndex { 
            get {
                object o = ViewState["TabIndex"];
                if (o != null) {
                     return (short) o; 
                }
                return (short)0; 
            } 
            set {
                ViewState["TabIndex"] = value; 
            }
        }

 
        /// 
        /// Gets or sets the name of the window for navigation. 
        ///  
        [
        WebCategory("Behavior"), 
        DefaultValue(""),
        TypeConverter(typeof(TargetConverter)),
        WebSysDescription(SR.HotSpot_Target),
        NotifyParentProperty(true) 
        ]
        public virtual string Target { 
            get { 
                object value = ViewState["Target"];
                return (value == null)? String.Empty : (string)value; 
            }
            set {
                ViewState["Target"] = value;
            } 
        }
 
 
        [
        Browsable(false), 
        DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
        ]
        protected StateBag ViewState {
            get { 
                if (_viewState == null) {
                    _viewState = new StateBag(false); 
                    if (_isTrackingViewState) ((IStateManager)_viewState).TrackViewState(); 
                }
                return _viewState; 
            }
        }

 
        /// 
        /// Returns a representation of the coordinates according to HTML standards. 
        ///  
        public abstract string GetCoordinates();
 
        internal void SetDirty() {
            if (_viewState != null) {
                _viewState.SetDirty(true);
            } 
        }
 
 
        public override string ToString () {
            return GetType().Name; 
        }

        #region IStatemanager implementation
 
        /// 
        /// Gets a value indicating whether a server control is tracking its view state changes. 
        ///  
        protected virtual bool IsTrackingViewState {
            get { 
                return _isTrackingViewState;
            }
        }
 

        ///  
        /// Restores view-state information that was saved by SaveViewState. 
        /// 
        protected virtual void LoadViewState(object savedState) { 
            if (savedState != null) {
                ViewState.LoadViewState(savedState);
            }
        } 

 
        ///  
        /// Saves any server control view-state changes that have
        /// occurred since the time the page was posted back to the server. 
        /// 
        protected virtual object SaveViewState() {
            if (_viewState != null) {
                return _viewState.SaveViewState(); 
            }
            return null; 
        } 

        ///  
        /// Causes the tracking of view-state changes to the server control.
        /// 
        protected virtual void TrackViewState() {
            _isTrackingViewState = true; 

            if (_viewState != null) { 
                _viewState.TrackViewState(); 
            }
        } 

        // private implementation of IStateManager

 
        /// 
        bool IStateManager.IsTrackingViewState { 
            get { 
                return IsTrackingViewState;
            } 
        }

        /// 
        void IStateManager.LoadViewState(object savedState) { 
            LoadViewState(savedState);
        } 
 
        /// 
        object IStateManager.SaveViewState() { 
            return SaveViewState();
        }

        ///  
        void IStateManager.TrackViewState() {
            TrackViewState(); 
        } 
        #endregion
    } 
}

// 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.
// 
//----------------------------------------------------------------------------- 
namespace System.Web.UI.WebControls {
 
    using System; 
    using System.Collections;
    using System.ComponentModel; 
    using System.Drawing.Design;
    using System.Web.UI;
    using System.Globalization;
    using System.Security.Permissions; 

 
    ///  
    /// Defines abstract class from which all HotSpot shapes must inherit.
    ///  
    [
    TypeConverter(typeof(ExpandableObjectConverter))
    ]
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    public abstract class HotSpot : IStateManager { 
 
        private bool _isTrackingViewState;
        private StateBag _viewState; 


        /// 
        ///    Gets or sets the keyboard shortcut key (AccessKey) for setting focus to the 
        ///       HotSpot.
        ///  
        [ 
        DefaultValue(""),
        Localizable(true), 
        WebCategory("Accessibility"),
        WebSysDescription(SR.HotSpot_AccessKey)
        ]
        public virtual string AccessKey { 
            get {
                string s = (string)ViewState["AccessKey"]; 
                if (s != null) { 
                    return s;
                } 
                return String.Empty;
            }
            set {
                // Valid values are null, String.Empty, and single character strings 
                if ((value != null) && (value.Length > 1)) {
                    throw new ArgumentOutOfRangeException("value"); 
                } 

                ViewState["AccessKey"] = value; 
            }
        }

 
        /// 
        /// Gets or sets the tool tip displayed over the 
        /// hotspot and the text for device-specific display. 
        /// 
        [ 
#if ORCAS
        Verification("WCAG", "1.1", VerificationReportLevel.Error, 1, SR.Accessibility_ImageAlternateTextMissing),
        Verification("ADA", "1194.22(a)", VerificationReportLevel.Error, 1, SR.Accessibility_ImageAlternateTextMissing)
#endif 
        Localizable(true),
        Bindable(true), 
        WebCategory("Behavior"), 
        DefaultValue(""),
        WebSysDescription(SR.HotSpot_AlternateText), 
        NotifyParentProperty(true)
        ]
        public virtual String AlternateText {
            get { 
                object text = ViewState["AlternateText"];
                return (text == null)? String.Empty : (string)text; 
            } 
            set {
                ViewState["AlternateText"] = value; 
            }
        }

 
        /// 
        /// Gets or sets the HotSpotMode to either postback or navigation. 
        ///  
        [
        WebCategory("Behavior"), 
        DefaultValue(HotSpotMode.NotSet),
        WebSysDescription(SR.HotSpot_HotSpotMode),
        NotifyParentProperty(true)
        ] 
        public virtual HotSpotMode HotSpotMode {
            get { 
                object obj = ViewState["HotSpotMode"]; 
                return (obj == null) ? HotSpotMode.NotSet : (HotSpotMode)obj;
            } 
            set {
                if (value < HotSpotMode.NotSet || value > HotSpotMode.Inactive) {
                    throw new ArgumentOutOfRangeException("value");
                } 
                ViewState["HotSpotMode"] = value;
            } 
        } 

 

        /// 
        /// Gets or sets the argument for postback event.
        ///  
        [
        Bindable(true), 
        WebCategory("Behavior"), 
        DefaultValue(""),
        WebSysDescription(SR.HotSpot_PostBackValue), 
        NotifyParentProperty(true)
        ]
        public String PostBackValue {
            get { 
                object value = ViewState["PostBackValue"];
                return (value == null)? String.Empty : (string)value; 
            } 
            set {
                ViewState["PostBackValue"] = value; 
            }
        }

 
        /// 
        /// Gets the markup language string representation of the shape name. 
        ///  
        protected internal abstract string MarkupName {
            get; 
        }


        ///  
        /// Gets or sets the navigation url.
        ///  
        [ 
        Bindable(true),
        WebCategory("Behavior"), 
        DefaultValue(""),
        WebSysDescription(SR.HotSpot_NavigateUrl),
        NotifyParentProperty(true),
        UrlProperty(), 
        Editor("System.Web.UI.Design.UrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
        ] 
        public String NavigateUrl { 
            get {
                object value = ViewState["NavigateUrl"]; 
                return (value == null)? String.Empty : (string)value;
            }
            set {
                ViewState["NavigateUrl"] = value; 
            }
        } 
 
        /// 
        ///     
        ///       Gets or
        ///       sets the tab index of the HotSpot.
        /// 
        [ 
        DefaultValue((short)0),
        WebCategory("Accessibility"), 
        WebSysDescription(SR.HotSpot_TabIndex) 
        ]
        public virtual short TabIndex { 
            get {
                object o = ViewState["TabIndex"];
                if (o != null) {
                     return (short) o; 
                }
                return (short)0; 
            } 
            set {
                ViewState["TabIndex"] = value; 
            }
        }

 
        /// 
        /// Gets or sets the name of the window for navigation. 
        ///  
        [
        WebCategory("Behavior"), 
        DefaultValue(""),
        TypeConverter(typeof(TargetConverter)),
        WebSysDescription(SR.HotSpot_Target),
        NotifyParentProperty(true) 
        ]
        public virtual string Target { 
            get { 
                object value = ViewState["Target"];
                return (value == null)? String.Empty : (string)value; 
            }
            set {
                ViewState["Target"] = value;
            } 
        }
 
 
        [
        Browsable(false), 
        DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
        ]
        protected StateBag ViewState {
            get { 
                if (_viewState == null) {
                    _viewState = new StateBag(false); 
                    if (_isTrackingViewState) ((IStateManager)_viewState).TrackViewState(); 
                }
                return _viewState; 
            }
        }

 
        /// 
        /// Returns a representation of the coordinates according to HTML standards. 
        ///  
        public abstract string GetCoordinates();
 
        internal void SetDirty() {
            if (_viewState != null) {
                _viewState.SetDirty(true);
            } 
        }
 
 
        public override string ToString () {
            return GetType().Name; 
        }

        #region IStatemanager implementation
 
        /// 
        /// Gets a value indicating whether a server control is tracking its view state changes. 
        ///  
        protected virtual bool IsTrackingViewState {
            get { 
                return _isTrackingViewState;
            }
        }
 

        ///  
        /// Restores view-state information that was saved by SaveViewState. 
        /// 
        protected virtual void LoadViewState(object savedState) { 
            if (savedState != null) {
                ViewState.LoadViewState(savedState);
            }
        } 

 
        ///  
        /// Saves any server control view-state changes that have
        /// occurred since the time the page was posted back to the server. 
        /// 
        protected virtual object SaveViewState() {
            if (_viewState != null) {
                return _viewState.SaveViewState(); 
            }
            return null; 
        } 

        ///  
        /// Causes the tracking of view-state changes to the server control.
        /// 
        protected virtual void TrackViewState() {
            _isTrackingViewState = true; 

            if (_viewState != null) { 
                _viewState.TrackViewState(); 
            }
        } 

        // private implementation of IStateManager

 
        /// 
        bool IStateManager.IsTrackingViewState { 
            get { 
                return IsTrackingViewState;
            } 
        }

        /// 
        void IStateManager.LoadViewState(object savedState) { 
            LoadViewState(savedState);
        } 
 
        /// 
        object IStateManager.SaveViewState() { 
            return SaveViewState();
        }

        ///  
        void IStateManager.TrackViewState() {
            TrackViewState(); 
        } 
        #endregion
    } 
}

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