Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / Base / Core / PropertyEditing / PropertyFilter.cs / 1305376 / PropertyFilter.cs
namespace System.Activities.Presentation.PropertyEditing {
using System;
using System.Collections.Generic;
using System.Runtime;
using System.Activities.Presentation;
///
/// This class is used as part of the searching/filtering functionality that may provided
/// by the property editing host. It contains a list of predicates (i.e. strings to match against)
///
[Fx.Tag.XamlVisible(false)]
public class PropertyFilter
{
private List _predicates = new List();
///
/// Creates a PropertyFilter.
///
/// String representation of predicates, space delimited
public PropertyFilter(string filterText)
{
SetPredicates(filterText);
}
///
/// Creates a PropertyFilter.
///
/// IEnumerable collection of predicates
public PropertyFilter(IEnumerable predicates) {
SetPredicates(predicates);
}
///
/// Readonly property that returns true if this PropertyFilter does not have any predicates
///
public bool IsEmpty {
get { return this._predicates == null || this._predicates.Count == 0; }
}
private void SetPredicates(string filterText) {
if (string.IsNullOrEmpty(filterText))
return;
string[] filterParts = filterText.Split(' ');
for (int i=0; i < filterParts.Length; i++) {
if (!string.IsNullOrEmpty(filterParts[i])) {
_predicates.Add(new PropertyFilterPredicate(filterParts[i]));
}
}
}
private void SetPredicates(IEnumerable predicates) {
if (predicates == null)
return;
foreach (PropertyFilterPredicate predicate in predicates) {
if (predicate != null) {
_predicates.Add(predicate);
}
}
}
///
/// Matches this filter against a particular filter target. The
/// filter returns true if there are no predicates or if one or more
/// predicates match the filter target.
///
/// Target to attempt matching
/// True if there are no predicates or if one or more
/// predicates match the filter target, false otherwise
/// If target is null.
public bool Match(IPropertyFilterTarget target) {
if (target == null)
throw FxTrace.Exception.ArgumentNull("target");
if (this.IsEmpty)
return true;
// Perform an OR over all predicates
for (int i = 0; i < this._predicates.Count; i++) {
if (target.MatchesPredicate(_predicates[i]))
return true;
}
return false;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
namespace System.Activities.Presentation.PropertyEditing {
using System;
using System.Collections.Generic;
using System.Runtime;
using System.Activities.Presentation;
///
/// This class is used as part of the searching/filtering functionality that may provided
/// by the property editing host. It contains a list of predicates (i.e. strings to match against)
///
[Fx.Tag.XamlVisible(false)]
public class PropertyFilter
{
private List _predicates = new List();
///
/// Creates a PropertyFilter.
///
/// String representation of predicates, space delimited
public PropertyFilter(string filterText)
{
SetPredicates(filterText);
}
///
/// Creates a PropertyFilter.
///
/// IEnumerable collection of predicates
public PropertyFilter(IEnumerable predicates) {
SetPredicates(predicates);
}
///
/// Readonly property that returns true if this PropertyFilter does not have any predicates
///
public bool IsEmpty {
get { return this._predicates == null || this._predicates.Count == 0; }
}
private void SetPredicates(string filterText) {
if (string.IsNullOrEmpty(filterText))
return;
string[] filterParts = filterText.Split(' ');
for (int i=0; i < filterParts.Length; i++) {
if (!string.IsNullOrEmpty(filterParts[i])) {
_predicates.Add(new PropertyFilterPredicate(filterParts[i]));
}
}
}
private void SetPredicates(IEnumerable predicates) {
if (predicates == null)
return;
foreach (PropertyFilterPredicate predicate in predicates) {
if (predicate != null) {
_predicates.Add(predicate);
}
}
}
///
/// Matches this filter against a particular filter target. The
/// filter returns true if there are no predicates or if one or more
/// predicates match the filter target.
///
/// Target to attempt matching
/// True if there are no predicates or if one or more
/// predicates match the filter target, false otherwise
/// If target is null.
public bool Match(IPropertyFilterTarget target) {
if (target == null)
throw FxTrace.Exception.ArgumentNull("target");
if (this.IsEmpty)
return true;
// Perform an OR over all predicates
for (int i = 0; i < this._predicates.Count; i++) {
if (target.MatchesPredicate(_predicates[i]))
return true;
}
return false;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LOSFormatter.cs
- storepermissionattribute.cs
- UpWmlMobileTextWriter.cs
- TextEditorParagraphs.cs
- Version.cs
- Int64AnimationBase.cs
- XmlReflectionImporter.cs
- ScrollBarRenderer.cs
- FontFamily.cs
- WindowsScroll.cs
- RtfNavigator.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- DataBindingList.cs
- IDQuery.cs
- WorkflowApplicationCompletedException.cs
- XPathNodeInfoAtom.cs
- UndoManager.cs
- PrimaryKeyTypeConverter.cs
- ObjectQueryProvider.cs
- ParameterToken.cs
- MailMessageEventArgs.cs
- ExtenderProviderService.cs
- MulticastOption.cs
- FrameworkPropertyMetadata.cs
- RtfControls.cs
- StreamSecurityUpgradeAcceptor.cs
- ViewGenResults.cs
- ObjectConverter.cs
- translator.cs
- CodeVariableReferenceExpression.cs
- COSERVERINFO.cs
- Processor.cs
- TextWriterTraceListener.cs
- SaveWorkflowCommand.cs
- NullableConverter.cs
- SignedXml.cs
- TextSelectionHelper.cs
- ModifierKeysValueSerializer.cs
- PrePrepareMethodAttribute.cs
- DocumentApplicationJournalEntry.cs
- SingleAnimationUsingKeyFrames.cs
- HealthMonitoringSectionHelper.cs
- SqlDataSourceEnumerator.cs
- RelatedPropertyManager.cs
- OpenTypeLayoutCache.cs
- LogPolicy.cs
- CapabilitiesPattern.cs
- SimplePropertyEntry.cs
- DoWorkEventArgs.cs
- SpecialNameAttribute.cs
- SqlBuffer.cs
- TimeSpanConverter.cs
- DataGrid.cs
- SQLDateTime.cs
- CodeTypeMember.cs
- PageVisual.cs
- OleDbPermission.cs
- ApplyTemplatesAction.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- WebPartConnection.cs
- NullReferenceException.cs
- HttpServerProtocol.cs
- MouseEventArgs.cs
- TextBox.cs
- DataGridCaption.cs
- DataGridViewDataConnection.cs
- CompareValidator.cs
- wgx_exports.cs
- IdentitySection.cs
- InvokeMethod.cs
- CriticalExceptions.cs
- IfAction.cs
- RightsManagementPermission.cs
- ButtonPopupAdapter.cs
- PersonalizationDictionary.cs
- XmlSchemaImporter.cs
- PrintingPermissionAttribute.cs
- HttpGetProtocolReflector.cs
- WorkflowInstanceProvider.cs
- ControlBuilder.cs
- LoginView.cs
- LabelExpression.cs
- Grid.cs
- SoapFault.cs
- TextComposition.cs
- Matrix3D.cs
- BidPrivateBase.cs
- Vector3DCollectionConverter.cs
- FunctionMappingTranslator.cs
- ImageMetadata.cs
- SmtpException.cs
- LinearGradientBrush.cs
- SecureEnvironment.cs
- SimpleApplicationHost.cs
- SqlColumnizer.cs
- TableAdapterManagerGenerator.cs
- ZipIOBlockManager.cs
- _CacheStreams.cs
- CqlIdentifiers.cs
- FastPropertyAccessor.cs