You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			117 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| //------------------------------------------------------------------------------
 | |
| // <copyright file="HotSpotCollection.cs" company="Microsoft">
 | |
| //     Copyright (c) Microsoft Corporation.  All rights reserved.
 | |
| // </copyright>                                                                
 | |
| //------------------------------------------------------------------------------
 | |
| 
 | |
| using System;
 | |
| using System.Collections;
 | |
| using System.ComponentModel;
 | |
| using System.Drawing.Design;
 | |
| using System.Web.UI;
 | |
| 
 | |
| namespace System.Web.UI.WebControls {
 | |
| 
 | |
| 
 | |
|     /// <devdoc>
 | |
|     /// <para>Collection of HotSpots.</para>
 | |
|     /// </devdoc>
 | |
|     [
 | |
|     Editor("System.Web.UI.Design.WebControls.HotSpotCollectionEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor))
 | |
|     ]
 | |
| 
 | |
|     public sealed class HotSpotCollection : StateManagedCollection {
 | |
|         private static readonly Type[] knownTypes = new Type[] {
 | |
|                                                                 typeof(CircleHotSpot),
 | |
|                                                                 typeof(RectangleHotSpot),
 | |
|                                                                 typeof(PolygonHotSpot),
 | |
|                                                             };
 | |
| 
 | |
| 
 | |
| 
 | |
|         /// <devdoc>
 | |
|         /// <para>Returns the HotSpot at a given index.</para>
 | |
|         /// </devdoc>
 | |
|         public HotSpot this[int index] {
 | |
|             get {
 | |
|                 return (HotSpot)((IList)this)[index];
 | |
|             }
 | |
|         }
 | |
| 
 | |
| 
 | |
|         /// <devdoc>
 | |
|         /// <para>Adds a HotSpot to the collection.</para>
 | |
|         /// </devdoc>
 | |
|         public int Add(HotSpot spot) {
 | |
|             return ((IList)this).Add(spot);
 | |
|         }
 | |
| 
 | |
| 
 | |
|         /// <devdoc>
 | |
|         /// <para>Creates a known type of HotSpot.</para>
 | |
|         /// </devdoc>
 | |
|         protected override object CreateKnownType(int index) {
 | |
|              switch (index) {
 | |
|                 case 0:
 | |
|                     return new CircleHotSpot();
 | |
|                 case 1:
 | |
|                     return new RectangleHotSpot();
 | |
|                 case 2:
 | |
|                     return new PolygonHotSpot();
 | |
|                 default:
 | |
|                     throw new ArgumentOutOfRangeException(SR.GetString(SR.HotSpotCollection_InvalidTypeIndex));
 | |
|             }        
 | |
|         }
 | |
| 
 | |
| 
 | |
|         /// <devdoc>
 | |
|         /// <para>Returns an ArrayList of known HotSpot types.</para>
 | |
|         /// </devdoc>
 | |
|         protected override Type[] GetKnownTypes() {
 | |
|             return knownTypes;
 | |
|         }
 | |
| 
 | |
| 
 | |
|         /// <devdoc>
 | |
|         /// <para>Inserts a HotSpot into the collection.</para>
 | |
|         /// </devdoc>
 | |
|         public void Insert(int index, HotSpot spot) {
 | |
|             ((IList)this).Insert(index, spot);
 | |
|         }
 | |
| 
 | |
| 
 | |
|         /// <devdoc>
 | |
|         /// <para>Validates that an object is a HotSpot.</para>
 | |
|         /// </devdoc>
 | |
|         protected override void OnValidate(object o) {
 | |
|             base.OnValidate(o);
 | |
|             if (!(o is HotSpot))
 | |
|                 throw new ArgumentException(SR.GetString(SR.HotSpotCollection_InvalidType));
 | |
|         }
 | |
| 
 | |
| 
 | |
|         /// <devdoc>
 | |
|         /// <para>Removes a HotSpot from the collection.</para>
 | |
|         /// </devdoc>
 | |
|         public void Remove(HotSpot spot) {
 | |
|             ((IList)this).Remove(spot);
 | |
|         }
 | |
| 
 | |
| 
 | |
|         /// <devdoc>
 | |
|         /// <para>Removes a HotSpot from the collection at a given index.</para>
 | |
|         /// </devdoc>
 | |
|         public void RemoveAt(int index) {
 | |
|             ((IList)this).RemoveAt(index);
 | |
|         }
 | |
| 
 | |
| 
 | |
|         /// <devdoc>
 | |
|         /// <para>Marks a HotSpot as dirty so that it will record its entire state into view state.</para>
 | |
|         /// </devdoc>
 | |
|         protected override void SetDirtyObject(object o) {
 | |
|             ((HotSpot)o).SetDirty();
 | |
|         }
 | |
|     }
 | |
| }
 |