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
- TreeView.cs
- FocusTracker.cs
- ModelPropertyCollectionImpl.cs
- XPathParser.cs
- XamlInterfaces.cs
- Win32MouseDevice.cs
- Polygon.cs
- HtmlEmptyTagControlBuilder.cs
- CssClassPropertyAttribute.cs
- FilteredAttributeCollection.cs
- XmlWriterTraceListener.cs
- TTSVoice.cs
- TableHeaderCell.cs
- _Semaphore.cs
- AuthenticationService.cs
- BookmarkEventArgs.cs
- XmlSchemaAttributeGroup.cs
- CodeMethodInvokeExpression.cs
- XmlSerializerAssemblyAttribute.cs
- AnonymousIdentificationModule.cs
- ParameterBinding.cs
- XmlArrayItemAttributes.cs
- InputQueue.cs
- OutputCacheSettings.cs
- UserThread.cs
- ResXDataNode.cs
- QueryableDataSourceHelper.cs
- WeakEventTable.cs
- X509Utils.cs
- ObjectDataSourceMethodEditor.cs
- IntellisenseTextBox.designer.cs
- Automation.cs
- ClosableStream.cs
- CommentEmitter.cs
- PtsPage.cs
- ClientRuntimeConfig.cs
- EventLogPermissionAttribute.cs
- NamespaceList.cs
- PrimitiveDataContract.cs
- MoveSizeWinEventHandler.cs
- SyntaxCheck.cs
- FreezableDefaultValueFactory.cs
- SpeechEvent.cs
- QueryOutputWriterV1.cs
- PrivilegeNotHeldException.cs
- ValidationPropertyAttribute.cs
- MsmqReceiveParameters.cs
- TemplateEditingVerb.cs
- BinaryObjectInfo.cs
- OperatorExpressions.cs
- Identifier.cs
- HexParser.cs
- BufferedOutputStream.cs
- ScaleTransform3D.cs
- XmlComplianceUtil.cs
- ItemCollection.cs
- ComponentResourceKey.cs
- WindowsStatusBar.cs
- ObjectIDGenerator.cs
- StringUtil.cs
- HandleScope.cs
- UIElementParagraph.cs
- ContextMenuAutomationPeer.cs
- UrlAuthorizationModule.cs
- NameValueCollection.cs
- SchemaHelper.cs
- Logging.cs
- DataBindingExpressionBuilder.cs
- JumpItem.cs
- SspiSecurityToken.cs
- ModuleConfigurationInfo.cs
- TypeResolver.cs
- SecurityAppliedMessage.cs
- StackOverflowException.cs
- Perspective.cs
- ClientCultureInfo.cs
- DeviceContext.cs
- Command.cs
- EncryptedPackage.cs
- GridItem.cs
- TimeSpanMinutesConverter.cs
- Size3DValueSerializer.cs
- HttpHandlersSection.cs
- listitem.cs
- StringExpressionSet.cs
- Image.cs
- DependencyObjectPropertyDescriptor.cs
- MdiWindowListStrip.cs
- BitmapEffectState.cs
- ToolStripScrollButton.cs
- TextContainerChangedEventArgs.cs
- IndexedEnumerable.cs
- DataControlFieldHeaderCell.cs
- SmiConnection.cs
- CultureMapper.cs
- EllipticalNodeOperations.cs
- MultiView.cs
- RegexMatchCollection.cs
- MatrixCamera.cs
- SeparatorAutomationPeer.cs