1 // Permission is hereby granted, free of charge, to any person obtaining
2 // a copy of this software and associated documentation files (the
3 // "Software"), to deal in the Software without restriction, including
4 // without limitation the rights to use, copy, modify, merge, publish,
5 // distribute, sublicense, and/or sell copies of the Software, and to
6 // permit persons to whom the Software is furnished to do so, subject to
7 // the following conditions:
9 // The above copyright notice and this permission notice shall be
10 // included in all copies or substantial portions of the Software.
12 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
13 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
14 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
15 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
16 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
17 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
18 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 // Copyright (c) 2005 Novell, Inc. (http://www.novell.com)
23 // Peter Bartok (pbartok@novell.com)
27 using System
.Collections
;
28 using System
.ComponentModel
;
29 using System
.Globalization
;
30 using System
.Security
.Permissions
;
32 namespace System
.Web
.UI
.WebControls
{
35 [AspNetHostingPermission (SecurityAction
.LinkDemand
, Level
= AspNetHostingPermissionLevel
.Minimal
)]
36 [AspNetHostingPermission (SecurityAction
.InheritanceDemand
, Level
= AspNetHostingPermissionLevel
.Minimal
)]
37 public class ValidatedControlConverter
44 #region Public Constructors
45 public ValidatedControlConverter() {
47 #endregion // Public Constructors
49 #region Public Instance Methods
50 // We need to return all controls that have a validation property
51 public override TypeConverter
.StandardValuesCollection
GetStandardValues(ITypeDescriptorContext context
)
53 if ((context
!= null) && (context
.Container
!= null) && (context
.Container
.Components
!= null)) {
57 ComponentCollection components
;
59 values
= new ArrayList();
60 components
= context
.Container
.Components
;
61 count
= components
.Count
;
63 for (int i
= 0; i
< count
; i
++) {
64 if (FilterControl((Control
)components
[i
])) { // We have a ValidationProperty
65 id
= ((Control
)components
[i
]).ID
;
66 if ((id
!= null) && (id
.Length
> 0)) {
72 // How do I sort the InvariantCulture way?
74 if (values
.Count
> 0) {
75 return new StandardValuesCollection(values
);
79 return base.GetStandardValues (context
);
85 bool FilterControl (Control control
)
87 return BaseValidator
.GetValidationProperty (control
) != null;
90 public override bool GetStandardValuesExclusive(ITypeDescriptorContext context
) {
94 public override bool GetStandardValuesSupported(ITypeDescriptorContext context
) {
97 #endregion // Public Instance Methods