1 //------------------------------------------------------------------------------
2 // <copyright file="DeviceSpecificChoiceCollection.cs" company="Microsoft">
3 //     Copyright (c) Microsoft Corporation.  All rights reserved.
4 // </copyright>
5 //------------------------------------------------------------------------------
6 
7 using System;
8 using System.Collections;
9 using System.ComponentModel;
10 using System.Web;
11 using System.Web.UI;
12 using System.Security.Permissions;
13 
14 namespace System.Web.UI.MobileControls
15 {
16 
17     /*
18      * Collection of DeviceSpecificChoice objects.
19      *
20      * Copyright (c) 2000 Microsoft Corporation
21      */
22 
23     /// <include file='doc\DeviceSpecificChoiceCollection.uex' path='docs/doc[@for="DeviceSpecificChoiceCollection"]/*' />
24     [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
25     [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
26     [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")]
27     public class DeviceSpecificChoiceCollection : ArrayListCollectionBase
28     {
29         DeviceSpecific _owner;
30 
DeviceSpecificChoiceCollection(DeviceSpecific owner)31         internal DeviceSpecificChoiceCollection(DeviceSpecific owner)
32         {
33             _owner = owner;
34         }
35 
36         /// <include file='doc\DeviceSpecificChoiceCollection.uex' path='docs/doc[@for="DeviceSpecificChoiceCollection.this"]/*' />
37         public DeviceSpecificChoice this[int index]
38         {
39             get
40             {
41                 return (DeviceSpecificChoice)Items[index];
42             }
43         }
44 
45         /// <include file='doc\DeviceSpecificChoiceCollection.uex' path='docs/doc[@for="DeviceSpecificChoiceCollection.Add"]/*' />
Add(DeviceSpecificChoice choice)46         public void Add(DeviceSpecificChoice choice)
47         {
48             AddAt(-1, choice);
49         }
50 
51         /// <include file='doc\DeviceSpecificChoiceCollection.uex' path='docs/doc[@for="DeviceSpecificChoiceCollection.AddAt"]/*' />
AddAt(int index, DeviceSpecificChoice choice)52         public void AddAt(int index, DeviceSpecificChoice choice)
53         {
54             choice.Owner = _owner;
55             if (index == -1)
56             {
57                 Items.Add(choice);
58             }
59             else
60             {
61                 Items.Insert(index, choice);
62             }
63         }
64 
65         /// <include file='doc\DeviceSpecificChoiceCollection.uex' path='docs/doc[@for="DeviceSpecificChoiceCollection.Clear"]/*' />
Clear()66         public void Clear()
67         {
68             Items.Clear();
69         }
70 
71         /// <include file='doc\DeviceSpecificChoiceCollection.uex' path='docs/doc[@for="DeviceSpecificChoiceCollection.RemoveAt"]/*' />
RemoveAt(int index)72         public void RemoveAt(int index)
73         {
74             if (index >= 0 && index < Count)
75             {
76                 Items.RemoveAt(index);
77             }
78         }
79 
80         /// <include file='doc\DeviceSpecificChoiceCollection.uex' path='docs/doc[@for="DeviceSpecificChoiceCollection.Remove"]/*' />
Remove(DeviceSpecificChoice choice)81         public void Remove(DeviceSpecificChoice choice)
82         {
83             int index = Items.IndexOf(choice, 0, Count);
84             if (index != -1)
85             {
86                 Items.RemoveAt(index);
87             }
88         }
89 
90         ///////////////////////////////////////////////////////////
91         ///  DESIGNER PROPERTY
92         ///////////////////////////////////////////////////////////
93         /// <include file='doc\DeviceSpecificChoiceCollection.uex' path='docs/doc[@for="DeviceSpecificChoiceCollection.All"]/*' />
94         [
95             Browsable(false),
96             PersistenceMode(PersistenceMode.InnerDefaultProperty)
97         ]
98         public ArrayList All
99         {
100             get
101             {
102                 return base.Items;
103             }
104         }
105     }
106 }
107