Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Design / Converters / StyleReferenceConverter.cs / 1305376 / StyleReferenceConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design.MobileControls.Converters { using System.Diagnostics; using System.Collections; using System.Globalization; using System.ComponentModel; using System.Web.UI.MobileControls; using System.Web.UI.Design.MobileControls.Adapters; using System.Web.UI.Design.MobileControls.Util; ////// [ 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 StyleReferenceConverter: StringConverter { protected virtual Object [] GetStyles(Object instance) { StyleSheet styleSheet = null; Style instanceStyle = null; // Remember, ChoicePropertyFilter is a MobileControl, so we must // check for ChoicePropertyFilter first... if (instance is IDeviceSpecificChoiceDesigner) { instance = ((IDeviceSpecificChoiceDesigner)instance).UnderlyingObject; } if (instance is System.Web.UI.MobileControls.Style) { instanceStyle = (Style) instance; if (instanceStyle.Control is StyleSheet) { styleSheet = (StyleSheet) instanceStyle.Control; } else if ((instanceStyle.Control is Form && instanceStyle is PagerStyle) || (instanceStyle.Control is ObjectList)) { if (instanceStyle.Control.MobilePage != null) { styleSheet = instanceStyle.Control.MobilePage.StyleSheet; } else { return null; } } else { Debug.Fail("Unsupported objects passed in"); } } else if (instance is System.Web.UI.MobileControls.MobileControl) { MobileControl control = (MobileControl)instance; if (control.MobilePage == null) { return null; } styleSheet = control.MobilePage.StyleSheet; } else if (instance is Array) { Array array = (Array)instance; Debug.Assert(array.Length > 0); return GetStyles(array.GetValue(0)); } else { Debug.Fail("Unsupported type passed in"); return null; } Debug.Assert(null != styleSheet); ICollection styles = styleSheet.Styles; ArrayList styleArray = new ArrayList(); foreach (String key in styles) { System.Web.UI.MobileControls.Style style = styleSheet[key]; if (style.Name != null && style.Name.Length > 0) { if (null == instanceStyle || 0 != String.Compare(instanceStyle.Name, style.Name, StringComparison.Ordinal)) { styleArray.Add(style.Name); } } } if (styleSheet == StyleSheet.Default) { styleArray.Sort(); return styleArray.ToArray(); } styles = StyleSheet.Default.Styles; foreach (String key in styles) { System.Web.UI.MobileControls.Style style = StyleSheet.Default[key]; if (style.Name != null && style.Name.Length > 0) { if (null == instanceStyle || 0 != String.Compare(instanceStyle.Name, style.Name, StringComparison.Ordinal)) { styleArray.Add(style.Name); } } } if (styleArray.Count <= 1) { return styleArray.ToArray(); } styleArray.Sort(); String preID = ((String)styleArray[0]).ToLower(CultureInfo.InvariantCulture); int i = 1; while (i < styleArray.Count) { if (String.Equals((String)styleArray[i], preID, StringComparison.OrdinalIgnoreCase)) { styleArray.RemoveAt(i); } else { preID = ((String)styleArray[i]).ToLower(CultureInfo.InvariantCulture); i++; } } return styleArray.ToArray(); } ////// Can filter and retrieve several types of values from controls. /// ////// /// /// A type descriptor that specifies the location of the context to convert from. /// ////// Returns a collection of standard values retrieved from the context specified /// by the specified type descriptor. /// ////// public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { if (context == null || context.Instance == null) { return null; } Object [] objValues = GetStyles(context.Instance); if (objValues != null) { return new StandardValuesCollection(objValues); } else { return null; } } ////// A StandardValuesCollection that represents the standard values collected from /// the specified context. /// ////// /// /// A type descriptor that indicates the context to convert from. /// ////// Gets whether /// or not the context specified contains exclusive standard values. /// ////// public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return false; } ////// ///if the specified context contains exclusive standard /// values, otherwise . /// /// /// /// A type descriptor that indicates the context to convert from. /// ////// Gets whether or not the specified context contains supported standard /// values. /// ////// public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ ///// ///if the specified context conatins supported standard /// values, otherwise . /// // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design.MobileControls.Converters { using System.Diagnostics; using System.Collections; using System.Globalization; using System.ComponentModel; using System.Web.UI.MobileControls; using System.Web.UI.Design.MobileControls.Adapters; using System.Web.UI.Design.MobileControls.Util; ////// [ 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 StyleReferenceConverter: StringConverter { protected virtual Object [] GetStyles(Object instance) { StyleSheet styleSheet = null; Style instanceStyle = null; // Remember, ChoicePropertyFilter is a MobileControl, so we must // check for ChoicePropertyFilter first... if (instance is IDeviceSpecificChoiceDesigner) { instance = ((IDeviceSpecificChoiceDesigner)instance).UnderlyingObject; } if (instance is System.Web.UI.MobileControls.Style) { instanceStyle = (Style) instance; if (instanceStyle.Control is StyleSheet) { styleSheet = (StyleSheet) instanceStyle.Control; } else if ((instanceStyle.Control is Form && instanceStyle is PagerStyle) || (instanceStyle.Control is ObjectList)) { if (instanceStyle.Control.MobilePage != null) { styleSheet = instanceStyle.Control.MobilePage.StyleSheet; } else { return null; } } else { Debug.Fail("Unsupported objects passed in"); } } else if (instance is System.Web.UI.MobileControls.MobileControl) { MobileControl control = (MobileControl)instance; if (control.MobilePage == null) { return null; } styleSheet = control.MobilePage.StyleSheet; } else if (instance is Array) { Array array = (Array)instance; Debug.Assert(array.Length > 0); return GetStyles(array.GetValue(0)); } else { Debug.Fail("Unsupported type passed in"); return null; } Debug.Assert(null != styleSheet); ICollection styles = styleSheet.Styles; ArrayList styleArray = new ArrayList(); foreach (String key in styles) { System.Web.UI.MobileControls.Style style = styleSheet[key]; if (style.Name != null && style.Name.Length > 0) { if (null == instanceStyle || 0 != String.Compare(instanceStyle.Name, style.Name, StringComparison.Ordinal)) { styleArray.Add(style.Name); } } } if (styleSheet == StyleSheet.Default) { styleArray.Sort(); return styleArray.ToArray(); } styles = StyleSheet.Default.Styles; foreach (String key in styles) { System.Web.UI.MobileControls.Style style = StyleSheet.Default[key]; if (style.Name != null && style.Name.Length > 0) { if (null == instanceStyle || 0 != String.Compare(instanceStyle.Name, style.Name, StringComparison.Ordinal)) { styleArray.Add(style.Name); } } } if (styleArray.Count <= 1) { return styleArray.ToArray(); } styleArray.Sort(); String preID = ((String)styleArray[0]).ToLower(CultureInfo.InvariantCulture); int i = 1; while (i < styleArray.Count) { if (String.Equals((String)styleArray[i], preID, StringComparison.OrdinalIgnoreCase)) { styleArray.RemoveAt(i); } else { preID = ((String)styleArray[i]).ToLower(CultureInfo.InvariantCulture); i++; } } return styleArray.ToArray(); } ////// Can filter and retrieve several types of values from controls. /// ////// /// /// A type descriptor that specifies the location of the context to convert from. /// ////// Returns a collection of standard values retrieved from the context specified /// by the specified type descriptor. /// ////// public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { if (context == null || context.Instance == null) { return null; } Object [] objValues = GetStyles(context.Instance); if (objValues != null) { return new StandardValuesCollection(objValues); } else { return null; } } ////// A StandardValuesCollection that represents the standard values collected from /// the specified context. /// ////// /// /// A type descriptor that indicates the context to convert from. /// ////// Gets whether /// or not the context specified contains exclusive standard values. /// ////// public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return false; } ////// ///if the specified context contains exclusive standard /// values, otherwise . /// /// /// /// A type descriptor that indicates the context to convert from. /// ////// Gets whether or not the specified context contains supported standard /// values. /// ////// public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007./// ///if the specified context conatins supported standard /// values, otherwise . ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HostingMessageProperty.cs
- SeekableMessageNavigator.cs
- ToolStripGrip.cs
- RepeatInfo.cs
- DefaultBinder.cs
- PropertyInformation.cs
- DocumentOutline.cs
- JsonServiceDocumentSerializer.cs
- SourceLocation.cs
- MediaPlayerState.cs
- AddInControllerImpl.cs
- StatusBarItemAutomationPeer.cs
- HtmlElementErrorEventArgs.cs
- X509RawDataKeyIdentifierClause.cs
- ProofTokenCryptoHandle.cs
- HttpBrowserCapabilitiesBase.cs
- XmlSerializerAssemblyAttribute.cs
- HtmlShimManager.cs
- SmtpLoginAuthenticationModule.cs
- EdmEntityTypeAttribute.cs
- HMACRIPEMD160.cs
- prompt.cs
- QueryInterceptorAttribute.cs
- StatusBar.cs
- ScrollBar.cs
- SqlClientFactory.cs
- DbConnectionOptions.cs
- StylusPointPropertyInfoDefaults.cs
- QueueSurrogate.cs
- IItemContainerGenerator.cs
- FormsAuthenticationEventArgs.cs
- NonBatchDirectoryCompiler.cs
- SetStateDesigner.cs
- CodeCompiler.cs
- WarningException.cs
- HttpGetClientProtocol.cs
- IImplicitResourceProvider.cs
- DBSqlParserColumnCollection.cs
- TextFormatterImp.cs
- ClientBuildManagerCallback.cs
- StylusButton.cs
- XPathArrayIterator.cs
- RectAnimationUsingKeyFrames.cs
- TargetInvocationException.cs
- MLangCodePageEncoding.cs
- XmlIlGenerator.cs
- TemplatePagerField.cs
- _NestedSingleAsyncResult.cs
- MouseCaptureWithinProperty.cs
- SurrogateChar.cs
- __FastResourceComparer.cs
- CompensatableTransactionScopeActivityDesigner.cs
- odbcmetadatacolumnnames.cs
- Base64Encoder.cs
- TripleDESCryptoServiceProvider.cs
- LiteralLink.cs
- UrlMappingsSection.cs
- FixUp.cs
- ResourceDisplayNameAttribute.cs
- AxHostDesigner.cs
- TextChange.cs
- AddingNewEventArgs.cs
- StrokeCollection.cs
- _IPv6Address.cs
- ClientScriptManager.cs
- BCryptNative.cs
- DataSvcMapFileSerializer.cs
- ListenerAdapter.cs
- HtmlTableRowCollection.cs
- SqlCrossApplyToCrossJoin.cs
- ControlBuilderAttribute.cs
- ServicePrincipalNameElement.cs
- _Win32.cs
- HttpPostedFile.cs
- DataServicePagingProviderWrapper.cs
- XamlTemplateSerializer.cs
- ZoneIdentityPermission.cs
- XmlUTF8TextReader.cs
- InputLanguageEventArgs.cs
- RegistrationServices.cs
- C14NUtil.cs
- SqlUnionizer.cs
- GetPageCompletedEventArgs.cs
- DeferredSelectedIndexReference.cs
- Int32CAMarshaler.cs
- LinqDataSourceUpdateEventArgs.cs
- ClaimTypeRequirement.cs
- XmlExtensionFunction.cs
- ListCardsInFileRequest.cs
- _Semaphore.cs
- ThicknessKeyFrameCollection.cs
- TemplateBindingExtension.cs
- PathTooLongException.cs
- ActivityDesigner.cs
- AssertSection.cs
- ElementProxy.cs
- TextModifier.cs
- CalendarAutomationPeer.cs
- XmlCustomFormatter.cs
- ItemsPanelTemplate.cs