Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / Base / Core / PropertyEditing / categoryentry.cs / 1305376 / categoryentry.cs
namespace System.Activities.Presentation.PropertyEditing { using System.ComponentModel; using System.Diagnostics; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Activities.Presentation; using System; ////// The CategoryEntry class is a part of the property editing object model. It models a /// Category which has a localized name along with a collection of properties. /// public abstract class CategoryEntry : INotifyPropertyChanged, IPropertyFilterTarget { private string _name; private bool _matchesFilter; ////// Creates a new CategoryEntry. For host Infrastructure use /// /// The localized name of the corresponding Category as defined by the /// CategoryAttribute ///When name is either empty or null. protected CategoryEntry(string name) { if (string.IsNullOrEmpty(name)) throw FxTrace.Exception.ArgumentNull("name"); _name = name; } ////// Returns the localized Category name /// public string CategoryName { get { return _name; } } ////// Returns an IEnumerable collection of all of the properties in the category. /// public abstract IEnumerableProperties { get; } /// /// Indexer that returns a Property instance given the property name. /// /// The string property name to return a Property instance for. ///Property corresponding to the passed in propertyName if it exists, otherwise null public abstract PropertyEntry this[string propertyName] { get; } // INotifyPropertyChanged Members ////// INotifyPropertyChanged event /// public event PropertyChangedEventHandler PropertyChanged; ////// Raises the INotifyPropertyChanged.PropertyChanged event /// /// the name of the property that is changing ///When propertyName is null protected virtual void OnPropertyChanged(string propertyName) { if (propertyName == null) throw FxTrace.Exception.ArgumentNull("propertyName"); if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } // IPropertyFilterTarget Members ////// IPropertyFilterTarget event /// public event EventHandlerFilterApplied; /// /// Raises the IPropertyFilterTarget.FilterApplied event /// /// The PropertyFilter being applied protected virtual void OnFilterApplied(PropertyFilter filter) { if (FilterApplied != null) { FilterApplied(this, new PropertyFilterAppliedEventArgs(filter)); } } ////// IPropertyFilterTarget method /// /// public virtual void ApplyFilter(PropertyFilter filter) { this.MatchesFilter = filter == null ? true : filter.Match(this); OnFilterApplied(filter); } ////// IPropertyFilterTarget property /// public virtual bool MatchesFilter { get { return _matchesFilter; } protected set { if (_matchesFilter != value) { _matchesFilter = value; this.OnPropertyChanged("MatchesFilter"); } } } ////// IPropertyFilterTarget method /// /// The PropertyFilterPredicate to match against ///true if there is a match, otherwise false public abstract bool MatchesPredicate(PropertyFilterPredicate predicate); } } // 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.ComponentModel; using System.Diagnostics; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Activities.Presentation; using System; ////// The CategoryEntry class is a part of the property editing object model. It models a /// Category which has a localized name along with a collection of properties. /// public abstract class CategoryEntry : INotifyPropertyChanged, IPropertyFilterTarget { private string _name; private bool _matchesFilter; ////// Creates a new CategoryEntry. For host Infrastructure use /// /// The localized name of the corresponding Category as defined by the /// CategoryAttribute ///When name is either empty or null. protected CategoryEntry(string name) { if (string.IsNullOrEmpty(name)) throw FxTrace.Exception.ArgumentNull("name"); _name = name; } ////// Returns the localized Category name /// public string CategoryName { get { return _name; } } ////// Returns an IEnumerable collection of all of the properties in the category. /// public abstract IEnumerableProperties { get; } /// /// Indexer that returns a Property instance given the property name. /// /// The string property name to return a Property instance for. ///Property corresponding to the passed in propertyName if it exists, otherwise null public abstract PropertyEntry this[string propertyName] { get; } // INotifyPropertyChanged Members ////// INotifyPropertyChanged event /// public event PropertyChangedEventHandler PropertyChanged; ////// Raises the INotifyPropertyChanged.PropertyChanged event /// /// the name of the property that is changing ///When propertyName is null protected virtual void OnPropertyChanged(string propertyName) { if (propertyName == null) throw FxTrace.Exception.ArgumentNull("propertyName"); if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } // IPropertyFilterTarget Members ////// IPropertyFilterTarget event /// public event EventHandlerFilterApplied; /// /// Raises the IPropertyFilterTarget.FilterApplied event /// /// The PropertyFilter being applied protected virtual void OnFilterApplied(PropertyFilter filter) { if (FilterApplied != null) { FilterApplied(this, new PropertyFilterAppliedEventArgs(filter)); } } ////// IPropertyFilterTarget method /// /// public virtual void ApplyFilter(PropertyFilter filter) { this.MatchesFilter = filter == null ? true : filter.Match(this); OnFilterApplied(filter); } ////// IPropertyFilterTarget property /// public virtual bool MatchesFilter { get { return _matchesFilter; } protected set { if (_matchesFilter != value) { _matchesFilter = value; this.OnPropertyChanged("MatchesFilter"); } } } ////// IPropertyFilterTarget method /// /// The PropertyFilterPredicate to match against ///true if there is a match, otherwise false public abstract bool MatchesPredicate(PropertyFilterPredicate predicate); } } // 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
- FormDesigner.cs
- SequenceDesigner.cs
- Visual3D.cs
- FloatMinMaxAggregationOperator.cs
- Cursors.cs
- Stream.cs
- ServiceContractListItem.cs
- RightsManagementEncryptedStream.cs
- StateBag.cs
- GeneralTransform.cs
- SmtpCommands.cs
- StaticTextPointer.cs
- WindowsFormsHostPropertyMap.cs
- VectorCollectionConverter.cs
- NetCodeGroup.cs
- Byte.cs
- SoundPlayer.cs
- Parsers.cs
- RequestCacheEntry.cs
- XmlArrayAttribute.cs
- XPathDocumentNavigator.cs
- NeutralResourcesLanguageAttribute.cs
- OleStrCAMarshaler.cs
- DataGridViewRow.cs
- CodeDefaultValueExpression.cs
- LayoutInformation.cs
- Knowncolors.cs
- CollectionBase.cs
- ProxyWebPart.cs
- OletxResourceManager.cs
- SqlInternalConnectionTds.cs
- PagerSettings.cs
- DbConnectionStringBuilder.cs
- ConnectionProviderAttribute.cs
- EventEntry.cs
- Stream.cs
- DataGridViewRowStateChangedEventArgs.cs
- FloaterParagraph.cs
- FormParameter.cs
- ConfigurationElementCollection.cs
- XmlAttribute.cs
- TextRangeAdaptor.cs
- ConfigurationSectionGroup.cs
- LayoutEditorPart.cs
- RtType.cs
- PrintingPermissionAttribute.cs
- SqlRemoveConstantOrderBy.cs
- XmlDictionaryWriter.cs
- CellQuery.cs
- GridViewHeaderRowPresenter.cs
- ResourceProviderFactory.cs
- EventMappingSettings.cs
- CheckBoxFlatAdapter.cs
- COM2ComponentEditor.cs
- PopOutPanel.cs
- Win32MouseDevice.cs
- DataGridBoolColumn.cs
- ThreadStateException.cs
- ProfileGroupSettingsCollection.cs
- ImplicitInputBrush.cs
- DocumentViewerConstants.cs
- BaseTemplateParser.cs
- BindingMAnagerBase.cs
- GroupQuery.cs
- ToolStripHighContrastRenderer.cs
- ScriptingProfileServiceSection.cs
- CategoryList.cs
- ActivityCodeGenerator.cs
- MatrixValueSerializer.cs
- TypedTableBase.cs
- DesignerCommandSet.cs
- NameObjectCollectionBase.cs
- WebPartEventArgs.cs
- ClickablePoint.cs
- DataGridViewColumnTypeEditor.cs
- DES.cs
- path.cs
- TextSerializer.cs
- Rect3DValueSerializer.cs
- ExecutionContext.cs
- CacheMemory.cs
- ThousandthOfEmRealPoints.cs
- MultiSelector.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- SafeArrayRankMismatchException.cs
- ErrorLog.cs
- HttpTransportSecurity.cs
- DeploymentSection.cs
- WindowClosedEventArgs.cs
- NativeCppClassAttribute.cs
- OneOf.cs
- RoutedEventHandlerInfo.cs
- WebRequestModuleElementCollection.cs
- LightweightEntityWrapper.cs
- Model3D.cs
- ZipIORawDataFileBlock.cs
- ToolboxItem.cs
- SafeCryptoHandles.cs
- X509ServiceCertificateAuthentication.cs
- HyperlinkAutomationPeer.cs