[reflection] Coop handles icalls in System.Reflection and System.RuntimeTypeHandle...
[mono.git] / mcs / class / referencesource / System.Activities.Presentation / System.Activities.Presentation / System / Activities / Presentation / Base / Core / PropertyEditing / IPropertyFilterTarget.cs
1 namespace System.Activities.Presentation.PropertyEditing {
2     using System;
3     using System.Collections.Generic;
4
5     /// <summary>
6     /// Interface that is used by the host infrastructure for the PropertyEditing to handle sorting/filtering
7     /// functionality.  It is used to determine whether a particular object should be filtered out.
8     /// </summary>
9     public interface IPropertyFilterTarget {
10
11         /// <summary>
12         /// Event raised when a PropertyFilter is changed through a call to ApplyFilter.
13         /// </summary>
14         event EventHandler<PropertyFilterAppliedEventArgs> FilterApplied;
15         
16         /// <summary>
17         /// Read-only property that returns true if the PropertyFilter is a match for the object.
18         /// </summary>
19         bool MatchesFilter { get; }
20         
21         /// <summary>
22         /// Used to set a new PropertyFilter on the IPropertyFilterTarget
23         /// </summary>
24         /// <param name="filter">The new PropertyFilter instance.</param>
25         void ApplyFilter(PropertyFilter filter);
26         
27         /// <summary>
28         /// Used to determine if this IPropertyFilterTarget is a match for a particular PropertyFilterPredicate
29         /// </summary>
30         /// <param name="predicate">The PropertyFilterPredicate to match against</param>
31         /// <returns>True if it is a match, otherwise false</returns>
32         bool MatchesPredicate(PropertyFilterPredicate predicate);
33     }
34 }