<?xml version="1.0" encoding="utf-8"?>
<Type Name="IDesignerFilter" FullName="System.ComponentModel.Design.IDesignerFilter">
  <TypeSignature Language="C#" Maintainer="auto" Value="public interface IDesignerFilter" />
  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IDesignerFilter" />
  <AssemblyInfo>
    <AssemblyName>System</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey>
    <AssemblyVersion>1.0.3300.0</AssemblyVersion>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement>
  <Interfaces />
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>
        <see cref="T:System.ComponentModel.Design.IDesignerFilter" /> enables a designer to filter the set of property, attribute, and event descriptors that its associated component exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />. The methods of this interface whose names begin with Pre are called immediately before the methods whose names begin with Post.</para>
      <para>If you want to add attribute, event, or property descriptors, use a <see cref="M:System.ComponentModel.Design.IDesignerFilter.PreFilterAttributes(System.Collections.IDictionary)" />, <see cref="M:System.ComponentModel.Design.IDesignerFilter.PreFilterEvents(System.Collections.IDictionary)" />, or <see cref="M:System.ComponentModel.Design.IDesignerFilter.PreFilterProperties(System.Collections.IDictionary)" /> method.</para>
      <para>If you want to change or remove attribute, event, or property descriptors, use a <see cref="M:System.ComponentModel.Design.IDesignerFilter.PostFilterAttributes(System.Collections.IDictionary)" />, <see cref="M:System.ComponentModel.Design.IDesignerFilter.PostFilterEvents(System.Collections.IDictionary)" />, or <see cref="M:System.ComponentModel.Design.IDesignerFilter.PostFilterProperties(System.Collections.IDictionary)" /> method.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Provides an interface that enables a designer to access and filter the dictionaries of a <see cref="T:System.ComponentModel.TypeDescriptor" /> that stores the property, attribute, and event descriptors that a component designer can expose to the design-time environment.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="PostFilterAttributes">
      <MemberSignature Language="C#" Value="public void PostFilterAttributes (System.Collections.IDictionary attributes);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PostFilterAttributes(class System.Collections.IDictionary attributes) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="attributes" Type="System.Collections.IDictionary" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method provides a way to change or remove items within the dictionary of attributes that the associated component of the designer implementing this interface exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para>
          <para>The keys in the dictionary of attributes are the type IDs of the attributes. The objects are of type <see cref="T:System.Attribute" />. This method is called immediately after <see cref="M:System.ComponentModel.Design.IDesignerFilter.PreFilterAttributes(System.Collections.IDictionary)" />.</para>
          <para>The type ID of an attribute can be any object. By default, <see cref="T:System.Attribute" /> returns its <see cref="T:System.Type" /> as the value of its <see cref="P:System.Attribute.TypeId" /> property. You can check the <see cref="P:System.Attribute.TypeId" /> of an attribute in the dictionary for equivalence with a known <see cref="P:System.Attribute.TypeId" /> for an attribute to identify it, or use <see cref="N:System.Reflection" /> to identify the attribute object itself.</para>
          <para>When an attribute that has the same <see cref="P:System.Attribute.TypeId" /> as an existing or inherited attribute is added to a component, the new attribute replaces the old attribute. For many attributes, a new attribute of the same type will replace any previous attribute of the type. However, some types of attributes return a <see cref="P:System.Attribute.TypeId" /> that distinguishes the attribute selectively. For example, in order to provide different types of simultaneously active designers for a type, such as an <see cref="T:System.ComponentModel.Design.IRootDesigner" /> and an <see cref="T:System.ComponentModel.Design.IDesigner" />, the <see cref="T:System.ComponentModel.DesignerAttribute" /> class returns a <see cref="P:System.Attribute.TypeId" /> that uniquely identifies both the attribute and the base designer type. The <see cref="T:System.ComponentModel.DesignerAttribute" /> constructor allows you to specify the base designer type of the designer in addition to its specific type, and <see cref="T:System.ComponentModel.DesignerAttribute" /> returns a <see cref="P:System.Attribute.TypeId" /> that reflects this. Therefore when you add a new <see cref="T:System.ComponentModel.DesignerAttribute" /> with a base designer type of the same type as the base designer type of an existing <see cref="T:System.ComponentModel.DesignerAttribute" />, the old attribute is replaced with the new attribute.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, allows a designer to change or remove items from the set of attributes that it exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para>
        </summary>
        <param name="attributes">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Attribute" /> objects for the class of the component. The keys in the dictionary of attributes are the <see cref="P:System.Attribute.TypeId" /> values of the attributes. </param>
      </Docs>
    </Member>
    <Member MemberName="PostFilterEvents">
      <MemberSignature Language="C#" Value="public void PostFilterEvents (System.Collections.IDictionary events);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PostFilterEvents(class System.Collections.IDictionary events) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="events" Type="System.Collections.IDictionary" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method provides a way to change or remove items within the dictionary of events that are exposed through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para>
          <para>The keys in the dictionary of events are the names of the events. The objects are of type <see cref="T:System.ComponentModel.EventDescriptor" />. This method is called immediately after <see cref="M:System.ComponentModel.Design.IDesignerFilter.PreFilterEvents(System.Collections.IDictionary)" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, allows a designer to change or remove items from the set of events that it exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para>
        </summary>
        <param name="events">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ComponentModel.EventDescriptor" /> objects that represent the events of the class of the component. The keys in the dictionary of events are event names. </param>
      </Docs>
    </Member>
    <Member MemberName="PostFilterProperties">
      <MemberSignature Language="C#" Value="public void PostFilterProperties (System.Collections.IDictionary properties);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PostFilterProperties(class System.Collections.IDictionary properties) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="properties" Type="System.Collections.IDictionary" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method provides a way to change or remove items within the dictionary of properties that are exposed through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para>
          <para>The keys in the dictionary of properties are the names of the properties. The objects are of type <see cref="T:System.ComponentModel.PropertyDescriptor" />. This method is called immediately after <see cref="M:System.ComponentModel.Design.IDesignerFilter.PreFilterProperties(System.Collections.IDictionary)" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, allows a designer to change or remove items from the set of properties that it exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para>
        </summary>
        <param name="properties">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ComponentModel.PropertyDescriptor" /> objects that represent the properties of the class of the component. The keys in the dictionary of properties are property names. </param>
      </Docs>
    </Member>
    <Member MemberName="PreFilterAttributes">
      <MemberSignature Language="C#" Value="public void PreFilterAttributes (System.Collections.IDictionary attributes);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PreFilterAttributes(class System.Collections.IDictionary attributes) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="attributes" Type="System.Collections.IDictionary" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method provides a way to add items to the dictionary of attributes that the associated component of the designer implementing this interface exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para>
          <para>The keys in the dictionary of attributes are the type IDs of the attributes. The objects are of type <see cref="T:System.Attribute" />. This method is called immediately before <see cref="M:System.ComponentModel.Design.IDesignerFilter.PostFilterAttributes(System.Collections.IDictionary)" />.</para>
          <para>The type ID of an attribute can be any object. By default, <see cref="T:System.Attribute" /> returns its <see cref="T:System.Type" /> as the value of its <see cref="P:System.Attribute.TypeId" /> property. You can check the <see cref="P:System.Attribute.TypeId" /> of an attribute in the dictionary for equivalence with a known <see cref="P:System.Attribute.TypeId" /> for an attribute to identify it, or use <see cref="N:System.Reflection" /> to identify the attribute object itself.</para>
          <para>When an attribute that has the same <see cref="P:System.Attribute.TypeId" /> as an existing or inherited attribute is added to a component, the new attribute replaces the old attribute. For many attributes, a new attribute of the same type will replace any previous attribute of the type. However, some types of attributes return a <see cref="P:System.Attribute.TypeId" /> that distinguishes the attribute selectively. For example, in order to provide different types of simultaneously active designers for a type, such as an <see cref="T:System.ComponentModel.Design.IRootDesigner" /> and an <see cref="T:System.ComponentModel.Design.IDesigner" />, the <see cref="T:System.ComponentModel.DesignerAttribute" /> class returns a <see cref="P:System.Attribute.TypeId" /> that uniquely identifies both the attribute and the base designer type. The <see cref="T:System.ComponentModel.DesignerAttribute" /> constructor allows you to specify the base designer type of the designer in addition to its specific type, and <see cref="T:System.ComponentModel.DesignerAttribute" /> returns a <see cref="P:System.Attribute.TypeId" /> that reflects this. Therefore when you add a new <see cref="T:System.ComponentModel.DesignerAttribute" /> with a base designer type of the same type as the base designer type of an existing <see cref="T:System.ComponentModel.DesignerAttribute" />, the old attribute is replaced with the new attribute.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, allows a designer to add items to the set of attributes that it exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para>
        </summary>
        <param name="attributes">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Attribute" /> objects for the class of the component. The keys in the dictionary of attributes are the <see cref="P:System.Attribute.TypeId" /> values of the attributes. </param>
      </Docs>
    </Member>
    <Member MemberName="PreFilterEvents">
      <MemberSignature Language="C#" Value="public void PreFilterEvents (System.Collections.IDictionary events);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PreFilterEvents(class System.Collections.IDictionary events) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="events" Type="System.Collections.IDictionary" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method provides a way to add items to the dictionary of events that a designer exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para>
          <para>The keys in the dictionary of events are the names of the events. The objects are of type <see cref="T:System.ComponentModel.EventDescriptor" />. This method is called immediately before <see cref="M:System.ComponentModel.Design.IDesignerFilter.PostFilterEvents(System.Collections.IDictionary)" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, allows a designer to add items to the set of events that it exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para>
        </summary>
        <param name="events">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ComponentModel.EventDescriptor" /> objects that represent the events of the class of the component. The keys in the dictionary of events are event names. </param>
      </Docs>
    </Member>
    <Member MemberName="PreFilterProperties">
      <MemberSignature Language="C#" Value="public void PreFilterProperties (System.Collections.IDictionary properties);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PreFilterProperties(class System.Collections.IDictionary properties) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="properties" Type="System.Collections.IDictionary" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method provides a way to add items to the dictionary of properties that a designer exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para>
          <para>The keys in the dictionary of properties are the names of the properties. The objects are of type <see cref="T:System.ComponentModel.PropertyDescriptor" />. This method is called immediately before <see cref="M:System.ComponentModel.Design.IDesignerFilter.PostFilterProperties(System.Collections.IDictionary)" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When overridden in a derived class, allows a designer to add items to the set of properties that it exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para>
        </summary>
        <param name="properties">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ComponentModel.PropertyDescriptor" /> objects that represent the properties of the class of the component. The keys in the dictionary of properties are property names. </param>
      </Docs>
    </Member>
  </Members>
</Type>