Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / HotSpotCollection.cs / 1 / HotSpotCollection.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing.Design;
using System.Web.UI;
using System.Security.Permissions;
namespace System.Web.UI.WebControls {
///
/// Collection of HotSpots.
///
[
Editor("System.Web.UI.Design.WebControls.HotSpotCollectionEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor))
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class HotSpotCollection : StateManagedCollection {
private static readonly Type[] knownTypes = new Type[] {
typeof(CircleHotSpot),
typeof(RectangleHotSpot),
typeof(PolygonHotSpot),
};
///
/// Returns the HotSpot at a given index.
///
public HotSpot this[int index] {
get {
return (HotSpot)((IList)this)[index];
}
}
///
/// Adds a HotSpot to the collection.
///
public int Add(HotSpot spot) {
return ((IList)this).Add(spot);
}
///
/// Creates a known type of HotSpot.
///
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));
}
}
///
/// Returns an ArrayList of known HotSpot types.
///
protected override Type[] GetKnownTypes() {
return knownTypes;
}
///
/// Inserts a HotSpot into the collection.
///
public void Insert(int index, HotSpot spot) {
((IList)this).Insert(index, spot);
}
///
/// Validates that an object is a HotSpot.
///
protected override void OnValidate(object o) {
base.OnValidate(o);
if (!(o is HotSpot))
throw new ArgumentException(SR.GetString(SR.HotSpotCollection_InvalidType));
}
///
/// Removes a HotSpot from the collection.
///
public void Remove(HotSpot spot) {
((IList)this).Remove(spot);
}
///
/// Removes a HotSpot from the collection at a given index.
///
public void RemoveAt(int index) {
((IList)this).RemoveAt(index);
}
///
/// Marks a HotSpot as dirty so that it will record its entire state into view state.
///
protected override void SetDirtyObject(object o) {
((HotSpot)o).SetDirty();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ServicePoint.cs
- WorkflowControlClient.cs
- ComboBoxItem.cs
- Stylus.cs
- ComponentConverter.cs
- ICspAsymmetricAlgorithm.cs
- PropertyEntry.cs
- HttpGetServerProtocol.cs
- ImageInfo.cs
- CodeCommentStatementCollection.cs
- JournalNavigationScope.cs
- SupportsEventValidationAttribute.cs
- TreeNodeStyleCollection.cs
- DelegatedStream.cs
- MetadataException.cs
- WebPartDescription.cs
- PersistenceTask.cs
- AddInBase.cs
- MultiPropertyDescriptorGridEntry.cs
- NamedPermissionSet.cs
- SafeBitVector32.cs
- RecordBuilder.cs
- RecognitionResult.cs
- _ServiceNameStore.cs
- Function.cs
- BamlMapTable.cs
- HttpsChannelFactory.cs
- EndpointNotFoundException.cs
- WmlPhoneCallAdapter.cs
- SHA256Managed.cs
- AnimationTimeline.cs
- TypefaceMetricsCache.cs
- XmlSchemaAttributeGroupRef.cs
- ErasingStroke.cs
- DocumentSchemaValidator.cs
- ListControlConvertEventArgs.cs
- CalendarDesigner.cs
- SocketElement.cs
- DependentTransaction.cs
- InputChannelAcceptor.cs
- XmlEncoding.cs
- Scheduling.cs
- CapabilitiesUse.cs
- EventLogPermissionEntryCollection.cs
- TypeConvertions.cs
- DataPagerFieldItem.cs
- AppearanceEditorPart.cs
- EntityDataSourceUtil.cs
- SharedPersonalizationStateInfo.cs
- ListViewItem.cs
- WindowPatternIdentifiers.cs
- XmlCustomFormatter.cs
- GlyphRunDrawing.cs
- PerformanceCounterPermission.cs
- MetadataException.cs
- WebPartZone.cs
- OleDbParameter.cs
- LicFileLicenseProvider.cs
- ToolTipAutomationPeer.cs
- SiteMapSection.cs
- TemplateBindingExpressionConverter.cs
- FastEncoder.cs
- Binding.cs
- input.cs
- SliderAutomationPeer.cs
- EllipticalNodeOperations.cs
- BindingContext.cs
- CellLabel.cs
- OleDbInfoMessageEvent.cs
- RenderCapability.cs
- UIElementPropertyUndoUnit.cs
- FlowLayoutPanelDesigner.cs
- ToolBarButtonClickEvent.cs
- _IPv4Address.cs
- CommandLibraryHelper.cs
- WebPartDescription.cs
- WebBrowser.cs
- WriteableBitmap.cs
- KeyInstance.cs
- LinearGradientBrush.cs
- PrinterResolution.cs
- ValueUnavailableException.cs
- RewritingProcessor.cs
- FieldBuilder.cs
- XPathAxisIterator.cs
- DbgUtil.cs
- ComboBox.cs
- VectorAnimationUsingKeyFrames.cs
- UnrecognizedAssertionsBindingElement.cs
- FileDialog.cs
- Double.cs
- ConnectionPoint.cs
- NameValueFileSectionHandler.cs
- SmtpTransport.cs
- ZeroOpNode.cs
- ProgressPage.cs
- UserPreferenceChangedEventArgs.cs
- BuiltInExpr.cs
- _Connection.cs
- XmlEncoding.cs