Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / Host / TypeDescriptorFilterService.cs / 1 / TypeDescriptorFilterService.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.ComponentModel.Design { using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; ////// This service is requested by TypeDescriptor when asking for type information /// for a component. Our implementation forwards this filter onto IDesignerFilter /// on the component's designer, should one exist. /// internal sealed class TypeDescriptorFilterService : ITypeDescriptorFilterService { ////// Internal ctor to prevent semitrust from creating us. /// internal TypeDescriptorFilterService() { } ////// Helper method to return the designer for a given component. /// private IDesigner GetDesigner(IComponent component) { ISite site = component.Site; if (site != null) { IDesignerHost host = site.GetService(typeof(IDesignerHost)) as IDesignerHost; if (host != null) { return host.GetDesigner(component); } } return null; } ////// bool ITypeDescriptorFilterService.FilterAttributes(IComponent component, IDictionary attributes) { if (component == null) { throw new ArgumentNullException("component"); } if (attributes == null) { throw new ArgumentNullException("attributes"); } IDesigner designer = GetDesigner(component); if (designer is IDesignerFilter) { ((IDesignerFilter)designer).PreFilterAttributes(attributes); ((IDesignerFilter)designer).PostFilterAttributes(attributes); } return designer != null; } ////// Provides a way to filter the attributes from a component that are displayed to the user. /// ////// bool ITypeDescriptorFilterService.FilterEvents(IComponent component, IDictionary events) { if (component == null) { throw new ArgumentNullException("component"); } if (events == null) { throw new ArgumentNullException("events"); } IDesigner designer = GetDesigner(component); if (designer is IDesignerFilter) { ((IDesignerFilter)designer).PreFilterEvents(events); ((IDesignerFilter)designer).PostFilterEvents(events); } return designer != null; } ////// Provides a way to filter the events from a component that are displayed to the user. /// ////// bool ITypeDescriptorFilterService.FilterProperties(IComponent component, IDictionary properties) { if (component == null) { throw new ArgumentNullException("component"); } if (properties == null) { throw new ArgumentNullException("properties"); } IDesigner designer = GetDesigner(component); if (designer is IDesignerFilter) { ((IDesignerFilter)designer).PreFilterProperties(properties); ((IDesignerFilter)designer).PostFilterProperties(properties); } return designer != null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved./// Provides a way to filter the properties from a component that are displayed to the user. /// ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CanonicalFontFamilyReference.cs
- XmlValidatingReaderImpl.cs
- OracleColumn.cs
- WebPartConnectionsCancelEventArgs.cs
- AutomationPeer.cs
- WasNotInstalledException.cs
- TypeElement.cs
- HostingEnvironmentSection.cs
- TypeConverter.cs
- EmissiveMaterial.cs
- String.cs
- ToolStripDropDownItem.cs
- SqlWebEventProvider.cs
- WindowsContainer.cs
- SecurityElement.cs
- WindowsSysHeader.cs
- XmlAttributeAttribute.cs
- EntitySetDataBindingList.cs
- ListSortDescription.cs
- ContentFileHelper.cs
- IisTraceWebEventProvider.cs
- ReachVisualSerializerAsync.cs
- baseaxisquery.cs
- SystemFonts.cs
- SpellerHighlightLayer.cs
- IChannel.cs
- TableDetailsRow.cs
- ExpressionBuilder.cs
- HtmlTextArea.cs
- IUnknownConstantAttribute.cs
- DocumentGridContextMenu.cs
- Vars.cs
- AssemblyBuilder.cs
- LocalizableResourceBuilder.cs
- UnicastIPAddressInformationCollection.cs
- DelayedRegex.cs
- TypedAsyncResult.cs
- UserPreferenceChangingEventArgs.cs
- TypeToTreeConverter.cs
- ReadOnlyAttribute.cs
- WebScriptMetadataMessageEncoderFactory.cs
- WindowsToolbarAsMenu.cs
- MetadataAssemblyHelper.cs
- FormViewCommandEventArgs.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- SmiEventSink.cs
- DispatcherObject.cs
- ResourceAttributes.cs
- ModelVisual3D.cs
- PtsContext.cs
- SqlRowUpdatingEvent.cs
- BindingMAnagerBase.cs
- ConnectionOrientedTransportBindingElement.cs
- DataTableMappingCollection.cs
- httpserverutility.cs
- PageTheme.cs
- ExpressionLink.cs
- NativeConfigurationLoader.cs
- SafeRightsManagementHandle.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- CurrentTimeZone.cs
- PenContext.cs
- OdbcDataReader.cs
- TcpTransportBindingElement.cs
- QueryStringParameter.cs
- ProcessThreadCollection.cs
- Int32Storage.cs
- WeakRefEnumerator.cs
- XmlSchemaImporter.cs
- GraphicsContext.cs
- UnsignedPublishLicense.cs
- SecurityContext.cs
- TableAutomationPeer.cs
- SystemInfo.cs
- GuidTagList.cs
- TextTrailingCharacterEllipsis.cs
- DataObjectAttribute.cs
- SimpleApplicationHost.cs
- PropertyItem.cs
- LinkedDataMemberFieldEditor.cs
- SharedUtils.cs
- ZoneButton.cs
- LineVisual.cs
- BooleanSwitch.cs
- AtomEntry.cs
- CleanUpVirtualizedItemEventArgs.cs
- OdbcConnectionPoolProviderInfo.cs
- GregorianCalendarHelper.cs
- SerializationInfo.cs
- IdentifierService.cs
- PersonalizationState.cs
- RemoteAsymmetricSignatureFormatter.cs
- XmlSchemaSimpleContentExtension.cs
- GrammarBuilder.cs
- Stylus.cs
- DecimalAnimationBase.cs
- DelegateBodyWriter.cs
- ExpressionVisitor.cs
- DataGridViewSelectedColumnCollection.cs
- ListViewUpdateEventArgs.cs