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;
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.
//------------------------------------------------------------
// 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
- EntityRecordInfo.cs
- AnimatedTypeHelpers.cs
- ImageMap.cs
- IntranetCredentialPolicy.cs
- ErrorHandlerModule.cs
- SelfIssuedAuthProofToken.cs
- MiniLockedBorderGlyph.cs
- TypeExtensionSerializer.cs
- __Filters.cs
- XmlSchemaAttributeGroup.cs
- DynamicMetaObject.cs
- DecoderNLS.cs
- SoapSchemaExporter.cs
- TimeSpan.cs
- SecurityTokenParametersEnumerable.cs
- StatusStrip.cs
- MenuItemStyleCollection.cs
- NetCodeGroup.cs
- ComponentResourceKeyConverter.cs
- SmtpAuthenticationManager.cs
- _SslState.cs
- InvalidFilterCriteriaException.cs
- PrincipalPermission.cs
- DataGridViewMethods.cs
- Line.cs
- IDReferencePropertyAttribute.cs
- ByteBufferPool.cs
- WindowsPen.cs
- TaskFormBase.cs
- WebErrorHandler.cs
- Configuration.cs
- MemoryMappedFileSecurity.cs
- ManualResetEvent.cs
- DataBinder.cs
- LookupNode.cs
- InstanceNotFoundException.cs
- FontUnit.cs
- AssemblyResourceLoader.cs
- GlyphsSerializer.cs
- MimeTypePropertyAttribute.cs
- ArithmeticException.cs
- ArgIterator.cs
- StrictAndMessageFilter.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- DES.cs
- ScrollProviderWrapper.cs
- RoutedEvent.cs
- FileUtil.cs
- XmlLanguage.cs
- TraceLevelStore.cs
- HeaderUtility.cs
- SweepDirectionValidation.cs
- XmlSchemaGroup.cs
- DecoderBestFitFallback.cs
- SqlCacheDependencyDatabase.cs
- LayoutTable.cs
- DispatcherSynchronizationContext.cs
- ProfileSettingsCollection.cs
- FormViewPagerRow.cs
- FlowDocumentPage.cs
- PermissionToken.cs
- DbModificationClause.cs
- PathGeometry.cs
- ExtensionSurface.cs
- UIElementAutomationPeer.cs
- WindowsAuthenticationModule.cs
- ToolStripStatusLabel.cs
- IISUnsafeMethods.cs
- UserControl.cs
- EditorPart.cs
- ObjectMemberMapping.cs
- CustomAssemblyResolver.cs
- SchemaImporterExtensionsSection.cs
- ReceiveContext.cs
- NativeActivityAbortContext.cs
- DoubleStorage.cs
- ComboBoxAutomationPeer.cs
- GcHandle.cs
- OracleRowUpdatedEventArgs.cs
- HTTP_SERVICE_CONFIG_URLACL_KEY.cs
- DefinitionUpdate.cs
- FixedPosition.cs
- XmlSchemaExporter.cs
- ElasticEase.cs
- TextRange.cs
- OleDbConnectionFactory.cs
- ToolStripDropDownClosingEventArgs.cs
- MarkupExtensionParser.cs
- EventArgs.cs
- BitmapEffectGroup.cs
- SystemColors.cs
- Crc32Helper.cs
- IndicFontClient.cs
- ObsoleteAttribute.cs
- WebPartUserCapability.cs
- Panel.cs
- FileDialogPermission.cs
- Renderer.cs
- XmlExtensionFunction.cs
- PrintDocument.cs