You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			139 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			139 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|   | //------------------------------------------------------------------------------ | ||
|  | // <copyright file="DefaultCommandConverter.cs" company="Microsoft"> | ||
|  | //     Copyright (c) Microsoft Corporation.  All rights reserved. | ||
|  | // </copyright>                                                                 | ||
|  | //------------------------------------------------------------------------------ | ||
|  | 
 | ||
|  | namespace System.Web.UI.Design.MobileControls.Converters | ||
|  | { | ||
|  |     using System.Diagnostics; | ||
|  |     using System.Collections; | ||
|  |     using System.ComponentModel; | ||
|  |     using System.Web.UI.MobileControls; | ||
|  | 
 | ||
|  |     /// <summary> | ||
|  |     ///    <para> | ||
|  |     ///       Can filter and retrieve several types of values from controls. | ||
|  |     ///    </para> | ||
|  |     /// </summary> | ||
|  |     [ | ||
|  |         System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, | ||
|  |         Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode) | ||
|  |     ] | ||
|  |     [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.")] | ||
|  |     internal class DefaultCommandConverter : StringConverter | ||
|  |     { | ||
|  |         private Object[] GetCommands(ObjectList objectList) | ||
|  |         { | ||
|  |             ObjectListCommandCollection commands = objectList.Commands; | ||
|  |             if (commands.Count == 0) | ||
|  |             { | ||
|  |                 return null; | ||
|  |             } | ||
|  | 
 | ||
|  |             ArrayList commandList = new ArrayList(commands.Count); | ||
|  |             foreach(ObjectListCommand command in commands) | ||
|  |             { | ||
|  |                 commandList.Add(command.Name); | ||
|  |             } | ||
|  | 
 | ||
|  |             commandList.Sort(); | ||
|  |             return commandList.ToArray(); | ||
|  |         } | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         ///    <para> | ||
|  |         ///       Returns a collection of standard values retrieved from the context specified | ||
|  |         ///       by the specified type descriptor. | ||
|  |         ///    </para> | ||
|  |         /// </summary> | ||
|  |         /// <param name='context'> | ||
|  |         ///    A type descriptor that specifies the location of the context to convert from. | ||
|  |         /// </param> | ||
|  |         /// <returns> | ||
|  |         ///    <para> | ||
|  |         ///       A StandardValuesCollection that represents the standard values collected from | ||
|  |         ///       the specified context. | ||
|  |         ///    </para> | ||
|  |         /// </returns> | ||
|  |         public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) | ||
|  |         { | ||
|  |             if (context == null || context.Instance == null) | ||
|  |             { | ||
|  |                 return null; | ||
|  |             } | ||
|  | 
 | ||
|  |             ObjectList objectList = null; | ||
|  |             if (context.Instance is IDeviceSpecificChoiceDesigner) | ||
|  |             { | ||
|  |                 objectList = ((IDeviceSpecificChoiceDesigner)context.Instance).UnderlyingObject as ObjectList; | ||
|  |             } | ||
|  |             else if (context.Instance is ObjectList) | ||
|  |             { | ||
|  |                 objectList = (ObjectList)context.Instance; | ||
|  |             } | ||
|  |             else | ||
|  |             { | ||
|  |                 return null; | ||
|  |             } | ||
|  |              | ||
|  |             Debug.Assert(objectList != null); | ||
|  | 
 | ||
|  |             Object [] objValues = GetCommands(objectList); | ||
|  |             if (objValues != null) | ||
|  |             { | ||
|  |                 return new StandardValuesCollection(objValues); | ||
|  |             } | ||
|  |             else | ||
|  |             { | ||
|  |                 return null; | ||
|  |             } | ||
|  |         } | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         ///    <para> | ||
|  |         ///       Gets whether | ||
|  |         ///       or not the context specified contains exclusive standard values. | ||
|  |         ///    </para> | ||
|  |         /// </summary> | ||
|  |         /// <param name='context'> | ||
|  |         ///    A type descriptor that indicates the context to convert from. | ||
|  |         /// </param> | ||
|  |         /// <returns> | ||
|  |         ///    <para> | ||
|  |         ///    <see langword='true'/> if the specified context contains exclusive standard  | ||
|  |         ///       values, otherwise <see langword='false'/>. | ||
|  |         ///    </para> | ||
|  |         /// </returns> | ||
|  |         public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) | ||
|  |         { | ||
|  |             return false; | ||
|  |         } | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         ///    <para> | ||
|  |         ///       Gets whether or not the specified context contains supported standard | ||
|  |         ///       values. | ||
|  |         ///    </para> | ||
|  |         /// </summary> | ||
|  |         /// <param name='context'> | ||
|  |         ///    A type descriptor that indicates the context to convert from. | ||
|  |         /// </param> | ||
|  |         /// <returns> | ||
|  |         ///    <para> | ||
|  |         ///    <see langword='true'/> if the specified context conatins supported standard  | ||
|  |         ///       values, otherwise <see langword='false'/>. | ||
|  |         ///    </para> | ||
|  |         /// </returns> | ||
|  |         public override bool GetStandardValuesSupported(ITypeDescriptorContext context) | ||
|  |         { | ||
|  |             if (context.Instance is IComponent)  | ||
|  |             { | ||
|  |                 // We only support the dropdown in single-select mode. | ||
|  |                 return true; | ||
|  |             } | ||
|  |             return false; | ||
|  |         }         | ||
|  |     }     | ||
|  | } |