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(IEnumerablepredicates) { 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(IEnumerablepredicates) { 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(IEnumerablepredicates) { 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(IEnumerablepredicates) { 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
- WeakHashtable.cs
- parserscommon.cs
- ValueSerializer.cs
- StringSource.cs
- DocumentAutomationPeer.cs
- SystemTcpConnection.cs
- latinshape.cs
- XmlTextAttribute.cs
- WindowsGrip.cs
- XmlCharCheckingWriter.cs
- SmtpReplyReaderFactory.cs
- Types.cs
- MappingItemCollection.cs
- GridViewDeleteEventArgs.cs
- Helpers.cs
- Panel.cs
- precedingsibling.cs
- TypeReference.cs
- WindowsStatic.cs
- CompiledIdentityConstraint.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- OperationValidationEventArgs.cs
- SelectionService.cs
- SelectingProviderEventArgs.cs
- DataGridColumn.cs
- HttpHandlersSection.cs
- TextServicesCompartmentEventSink.cs
- DataRow.cs
- CharEntityEncoderFallback.cs
- PrintPreviewDialog.cs
- XslTransform.cs
- LoginCancelEventArgs.cs
- DictionaryCustomTypeDescriptor.cs
- TraceEventCache.cs
- RangeValidator.cs
- SystemIcmpV6Statistics.cs
- LingerOption.cs
- UnsafeNativeMethods.cs
- SelectionWordBreaker.cs
- SelectionEditingBehavior.cs
- ConfigXmlText.cs
- PageCatalogPart.cs
- XmlSerializerSection.cs
- NetDataContractSerializer.cs
- SeekableReadStream.cs
- CapacityStreamGeometryContext.cs
- Constraint.cs
- StateItem.cs
- mediaeventshelper.cs
- XmlILConstructAnalyzer.cs
- XmlTextWriter.cs
- BamlLocalizationDictionary.cs
- Win32SafeHandles.cs
- CachedTypeface.cs
- OutputCacheProfileCollection.cs
- NavigationCommands.cs
- DataMisalignedException.cs
- Listbox.cs
- QueryOutputWriterV1.cs
- pingexception.cs
- WindowsPrincipal.cs
- HMAC.cs
- RadioButtonAutomationPeer.cs
- HtmlHead.cs
- ReflectEventDescriptor.cs
- GridEntry.cs
- FontFaceLayoutInfo.cs
- DeflateInput.cs
- SwitchLevelAttribute.cs
- NullableConverter.cs
- SiteMapPath.cs
- BitmapEffectInput.cs
- SkewTransform.cs
- ConfigurationFileMap.cs
- StrokeNodeEnumerator.cs
- BaseProcessor.cs
- EncodingNLS.cs
- DesignerLoader.cs
- ReferencedAssembly.cs
- LocalizableAttribute.cs
- ValidatorCollection.cs
- SortQuery.cs
- cookie.cs
- FormViewCommandEventArgs.cs
- ColorTranslator.cs
- MediaTimeline.cs
- QueryInterceptorAttribute.cs
- webclient.cs
- IndentedWriter.cs
- ObjectDisposedException.cs
- CanExpandCollapseAllConverter.cs
- UpdatePanelTrigger.cs
- PeerNameRegistration.cs
- HTMLTagNameToTypeMapper.cs
- EnumerableCollectionView.cs
- PageRequestManager.cs
- ServiceOperationUIEditor.cs
- MediaTimeline.cs
- DomainUpDown.cs
- XslVisitor.cs