Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / Toolbox / ToolboxCategory.cs / 1305376 / ToolboxCategory.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Activities.Presentation.Toolbox { using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Collections.Specialized; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Runtime; [SuppressMessage(FxCop.Category.Design, "CA1039:ListsAreStronglyTyped", Justification = "The nongeneric IList implementation is required for XAML support. It is implmented explicitly.")] [SuppressMessage(FxCop.Category.Naming, "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = "The collection implemenation is required for XAML support.")] public sealed class ToolboxCategory : INotifyPropertyChanged, IList { string categoryName; ObservableCollectiontools = new ObservableCollection (); public ToolboxCategory() : this(string.Empty) { } public ToolboxCategory(string name) { this.categoryName = name; this.tools.CollectionChanged += this.OnToolCollectionChanged; } public string CategoryName { get { return this.categoryName; } set { this.categoryName = value; this.OnPropertyChanged("CategoryName"); } } public ToolboxItemWrapper this[int index] { get { return this.tools[index]; } } [Fx.Tag.KnownXamlExternal] public ICollection Tools { get { return this.tools; } } public void Add(ToolboxItemWrapper tool) { if (null == tool) { throw FxTrace.Exception.ArgumentNull("tool"); } this.tools.Add(tool); } public bool Remove(ToolboxItemWrapper tool) { if (null == tool) { throw FxTrace.Exception.ArgumentNull("tool"); } return this.tools.Remove(tool); } internal void HandleToolCollectionNotification(NotifyCollectionChangedEventHandler listener, bool register) { if (null == listener) { throw FxTrace.Exception.ArgumentNull("listener"); } if (register) { this.tools.CollectionChanged += listener; } else { this.tools.CollectionChanged -= listener; } } void OnToolCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { switch (e.Action) { case NotifyCollectionChangedAction.Add: foreach (var tool in e.NewItems) { if (null == tool) { throw FxTrace.Exception.ArgumentNull("tool"); } } break; } this.OnPropertyChanged("Tools"); } void OnPropertyChanged(string propertyName) { if (null != this.PropertyChanged) { this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public event PropertyChangedEventHandler PropertyChanged; #region IList Members int IList.Add(object value) { this.Add((ToolboxItemWrapper)value); return this.tools.IndexOf((ToolboxItemWrapper)value); } void IList.Clear() { this.tools.Clear(); } bool IList.Contains(object value) { if (null == value) { throw FxTrace.Exception.ArgumentNull("value"); } return this.tools.Contains((ToolboxItemWrapper)value); } int IList.IndexOf(object value) { if (null == value) { throw FxTrace.Exception.ArgumentNull("value"); } return this.tools.IndexOf((ToolboxItemWrapper)value); } void IList.Insert(int index, object value) { if (null == value) { throw FxTrace.Exception.ArgumentNull("value"); } this.tools.Insert(index, (ToolboxItemWrapper)value); } bool IList.IsFixedSize { get { return ((IList)this.tools).IsFixedSize; } } bool IList.IsReadOnly { get { return ((IList)this.tools).IsReadOnly; } } void IList.Remove(object value) { this.Remove((ToolboxItemWrapper)value); } void IList.RemoveAt(int index) { this.tools.RemoveAt(index); } object IList.this[int index] { get { return this.tools[index]; } set { if (null == value) { throw FxTrace.Exception.ArgumentNull("value"); } this.tools[index] = (ToolboxItemWrapper)value; } } #endregion #region ICollection Members void ICollection.CopyTo(Array array, int index) { if (null == array) { throw FxTrace.Exception.ArgumentNull("array"); } ((ICollection)this.tools).CopyTo(array, index); } int ICollection.Count { get { return this.tools.Count; } } bool ICollection.IsSynchronized { get { return ((ICollection)this.tools).IsSynchronized; } } object ICollection.SyncRoot { get { return ((ICollection)this.tools).SyncRoot; } } #endregion #region IEnumerable Members IEnumerator IEnumerable.GetEnumerator() { return this.tools.GetEnumerator(); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Activities.Presentation.Toolbox { using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Collections.Specialized; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Runtime; [SuppressMessage(FxCop.Category.Design, "CA1039:ListsAreStronglyTyped", Justification = "The nongeneric IList implementation is required for XAML support. It is implmented explicitly.")] [SuppressMessage(FxCop.Category.Naming, "CA1710:IdentifiersShouldHaveCorrectSuffix", Justification = "The collection implemenation is required for XAML support.")] public sealed class ToolboxCategory : INotifyPropertyChanged, IList { string categoryName; ObservableCollection tools = new ObservableCollection (); public ToolboxCategory() : this(string.Empty) { } public ToolboxCategory(string name) { this.categoryName = name; this.tools.CollectionChanged += this.OnToolCollectionChanged; } public string CategoryName { get { return this.categoryName; } set { this.categoryName = value; this.OnPropertyChanged("CategoryName"); } } public ToolboxItemWrapper this[int index] { get { return this.tools[index]; } } [Fx.Tag.KnownXamlExternal] public ICollection Tools { get { return this.tools; } } public void Add(ToolboxItemWrapper tool) { if (null == tool) { throw FxTrace.Exception.ArgumentNull("tool"); } this.tools.Add(tool); } public bool Remove(ToolboxItemWrapper tool) { if (null == tool) { throw FxTrace.Exception.ArgumentNull("tool"); } return this.tools.Remove(tool); } internal void HandleToolCollectionNotification(NotifyCollectionChangedEventHandler listener, bool register) { if (null == listener) { throw FxTrace.Exception.ArgumentNull("listener"); } if (register) { this.tools.CollectionChanged += listener; } else { this.tools.CollectionChanged -= listener; } } void OnToolCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { switch (e.Action) { case NotifyCollectionChangedAction.Add: foreach (var tool in e.NewItems) { if (null == tool) { throw FxTrace.Exception.ArgumentNull("tool"); } } break; } this.OnPropertyChanged("Tools"); } void OnPropertyChanged(string propertyName) { if (null != this.PropertyChanged) { this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public event PropertyChangedEventHandler PropertyChanged; #region IList Members int IList.Add(object value) { this.Add((ToolboxItemWrapper)value); return this.tools.IndexOf((ToolboxItemWrapper)value); } void IList.Clear() { this.tools.Clear(); } bool IList.Contains(object value) { if (null == value) { throw FxTrace.Exception.ArgumentNull("value"); } return this.tools.Contains((ToolboxItemWrapper)value); } int IList.IndexOf(object value) { if (null == value) { throw FxTrace.Exception.ArgumentNull("value"); } return this.tools.IndexOf((ToolboxItemWrapper)value); } void IList.Insert(int index, object value) { if (null == value) { throw FxTrace.Exception.ArgumentNull("value"); } this.tools.Insert(index, (ToolboxItemWrapper)value); } bool IList.IsFixedSize { get { return ((IList)this.tools).IsFixedSize; } } bool IList.IsReadOnly { get { return ((IList)this.tools).IsReadOnly; } } void IList.Remove(object value) { this.Remove((ToolboxItemWrapper)value); } void IList.RemoveAt(int index) { this.tools.RemoveAt(index); } object IList.this[int index] { get { return this.tools[index]; } set { if (null == value) { throw FxTrace.Exception.ArgumentNull("value"); } this.tools[index] = (ToolboxItemWrapper)value; } } #endregion #region ICollection Members void ICollection.CopyTo(Array array, int index) { if (null == array) { throw FxTrace.Exception.ArgumentNull("array"); } ((ICollection)this.tools).CopyTo(array, index); } int ICollection.Count { get { return this.tools.Count; } } bool ICollection.IsSynchronized { get { return ((ICollection)this.tools).IsSynchronized; } } object ICollection.SyncRoot { get { return ((ICollection)this.tools).SyncRoot; } } #endregion #region IEnumerable Members IEnumerator IEnumerable.GetEnumerator() { return this.tools.GetEnumerator(); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeDelegateCreateExpression.cs
- ProcessHostServerConfig.cs
- TemplateInstanceAttribute.cs
- SqlAggregateChecker.cs
- BackgroundWorker.cs
- SetUserPreferenceRequest.cs
- RoleService.cs
- GenericEnumerator.cs
- COM2IPerPropertyBrowsingHandler.cs
- SafeCoTaskMem.cs
- EntitySqlQueryCacheEntry.cs
- TextBoxAutomationPeer.cs
- Keyboard.cs
- ParenthesizePropertyNameAttribute.cs
- WorkflowDefinitionDispenser.cs
- EntityDataSourceStatementEditorForm.cs
- ClientUriBehavior.cs
- GroupBox.cs
- CodeVariableDeclarationStatement.cs
- AssemblyBuilderData.cs
- WebPartConnection.cs
- HashAlgorithm.cs
- CoTaskMemHandle.cs
- SimpleMailWebEventProvider.cs
- DeviceContext.cs
- DataPagerFieldItem.cs
- Certificate.cs
- ServiceEndpointElement.cs
- IndependentAnimationStorage.cs
- Page.cs
- DataGridViewColumnStateChangedEventArgs.cs
- ProfileGroupSettingsCollection.cs
- AlphabetConverter.cs
- EventTask.cs
- SqlUdtInfo.cs
- Publisher.cs
- StylusSystemGestureEventArgs.cs
- ServerIdentity.cs
- BooleanAnimationBase.cs
- ListSortDescription.cs
- PictureBox.cs
- UnsafeMethods.cs
- XmlValidatingReader.cs
- IsolatedStorageException.cs
- ExpressionNode.cs
- BaseEntityWrapper.cs
- AutoResizedEvent.cs
- HtmlInputPassword.cs
- RTLAwareMessageBox.cs
- BindingsCollection.cs
- XXXInfos.cs
- DataGridViewCellEventArgs.cs
- AccessDataSourceView.cs
- precedingquery.cs
- PagedControl.cs
- PhysicalOps.cs
- ListViewContainer.cs
- TreeNode.cs
- InstanceKeyView.cs
- EasingKeyFrames.cs
- Transform3D.cs
- WebPartConnectionsConnectVerb.cs
- InternalCompensate.cs
- ModelPerspective.cs
- CategoryAttribute.cs
- SiteMapNode.cs
- CustomMenuItemCollection.cs
- HtmlControlPersistable.cs
- IndexOutOfRangeException.cs
- RectKeyFrameCollection.cs
- _AcceptOverlappedAsyncResult.cs
- ListChunk.cs
- WeakHashtable.cs
- PropertyGridEditorPart.cs
- util.cs
- XMLDiffLoader.cs
- UnsafeMethods.cs
- UrlMappingCollection.cs
- TransformCollection.cs
- HttpStaticObjectsCollectionWrapper.cs
- HwndHostAutomationPeer.cs
- BitmapImage.cs
- SystemResourceKey.cs
- FlowDocument.cs
- ForeignKeyFactory.cs
- DataRelationPropertyDescriptor.cs
- DataKeyCollection.cs
- SignatureToken.cs
- DataGridViewRowPrePaintEventArgs.cs
- XmlWrappingWriter.cs
- CompilerParameters.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- Timer.cs
- NegatedConstant.cs
- Point4D.cs
- ToolStripHighContrastRenderer.cs
- SessionEndingCancelEventArgs.cs
- EdmConstants.cs
- SplitterEvent.cs
- DynamicDataResources.Designer.cs