Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / WindowCollection.cs / 1 / WindowCollection.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // WindowCollection can be used to interate over all the windows // that have been opened in the current application. // // History: // 08/10/04: kusumav Moved out of Application.cs to its own separate file. // //--------------------------------------------------------------------------- using System.Collections; using System.Diagnostics; namespace System.Windows { #region WindowCollection class ////// WindowCollection can be used to interate over all the windows that have been /// opened in the current application. /// // public sealed class WindowCollection : ICollection { //----------------------------------------------------- // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Default Constructor /// public WindowCollection() { _list = new ArrayList(1); } internal WindowCollection(int count) { Debug.Assert(count >= 0, "count must not be less than zero"); _list = new ArrayList(count); } #endregion Public Methods //------------------------------------------------------ // // Operator overload // //----------------------------------------------------- #region Operator overload ////// Overloaded [] operator to access the WindowCollection list /// public Window this[int index] { get { return _list[index] as Window; } } #endregion Operator overload //------------------------------------------------------ // // IEnumerable implementation // //------------------------------------------------------ #region IEnumerable implementation ////// GetEnumerator /// ///public IEnumerator GetEnumerator() { return _list.GetEnumerator(); } #endregion IEnumerable implementation //------------------------------------------------------- // // ICollection implementation (derives from IEnumerable) // //-------------------------------------------------------- #region ICollection implementation /// /// CopyTo /// /// /// void ICollection.CopyTo(Array array, int index) { _list.CopyTo(array, index); } ////// CopyTo /// /// /// public void CopyTo(Window[] array, int index) { _list.CopyTo(array, index); } ////// Count property /// public int Count { get { return _list.Count; } } ////// IsSynchronized /// public bool IsSynchronized { get { return _list.IsSynchronized; } } ////// SyncRoot /// public Object SyncRoot { get { return _list.SyncRoot; } } #endregion ICollection implementation //----------------------------------------------------- // // Internal Methods // //----------------------------------------------------- #region Internal Methods internal WindowCollection Clone() { WindowCollection clone; lock (_list.SyncRoot) { clone = new WindowCollection(_list.Count); for (int i = 0; i < _list.Count; i++) { clone._list.Add(_list[i]); } } return clone; } internal void Remove(Window win) { lock (_list.SyncRoot) { _list.Remove(win); } } internal void RemoveAt(int index) { lock (_list.SyncRoot) { _list.Remove(index); } } internal int Add (Window win) { lock (_list.SyncRoot) { return _list.Add(win); } } internal bool HasItem(Window win) { lock (_list.SyncRoot) { for (int i = 0; i < _list.Count; i++) { if (_list[i] == win) { return true; } } } return false; } #endregion Internal Methods //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields private ArrayList _list; #endregion Private Fields } #endregion WindowCollection class } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // WindowCollection can be used to interate over all the windows // that have been opened in the current application. // // History: // 08/10/04: kusumav Moved out of Application.cs to its own separate file. // //--------------------------------------------------------------------------- using System.Collections; using System.Diagnostics; namespace System.Windows { #region WindowCollection class ////// WindowCollection can be used to interate over all the windows that have been /// opened in the current application. /// // public sealed class WindowCollection : ICollection { //----------------------------------------------------- // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Default Constructor /// public WindowCollection() { _list = new ArrayList(1); } internal WindowCollection(int count) { Debug.Assert(count >= 0, "count must not be less than zero"); _list = new ArrayList(count); } #endregion Public Methods //------------------------------------------------------ // // Operator overload // //----------------------------------------------------- #region Operator overload ////// Overloaded [] operator to access the WindowCollection list /// public Window this[int index] { get { return _list[index] as Window; } } #endregion Operator overload //------------------------------------------------------ // // IEnumerable implementation // //------------------------------------------------------ #region IEnumerable implementation ////// GetEnumerator /// ///public IEnumerator GetEnumerator() { return _list.GetEnumerator(); } #endregion IEnumerable implementation //------------------------------------------------------- // // ICollection implementation (derives from IEnumerable) // //-------------------------------------------------------- #region ICollection implementation /// /// CopyTo /// /// /// void ICollection.CopyTo(Array array, int index) { _list.CopyTo(array, index); } ////// CopyTo /// /// /// public void CopyTo(Window[] array, int index) { _list.CopyTo(array, index); } ////// Count property /// public int Count { get { return _list.Count; } } ////// IsSynchronized /// public bool IsSynchronized { get { return _list.IsSynchronized; } } ////// SyncRoot /// public Object SyncRoot { get { return _list.SyncRoot; } } #endregion ICollection implementation //----------------------------------------------------- // // Internal Methods // //----------------------------------------------------- #region Internal Methods internal WindowCollection Clone() { WindowCollection clone; lock (_list.SyncRoot) { clone = new WindowCollection(_list.Count); for (int i = 0; i < _list.Count; i++) { clone._list.Add(_list[i]); } } return clone; } internal void Remove(Window win) { lock (_list.SyncRoot) { _list.Remove(win); } } internal void RemoveAt(int index) { lock (_list.SyncRoot) { _list.Remove(index); } } internal int Add (Window win) { lock (_list.SyncRoot) { return _list.Add(win); } } internal bool HasItem(Window win) { lock (_list.SyncRoot) { for (int i = 0; i < _list.Count; i++) { if (_list[i] == win) { return true; } } } return false; } #endregion Internal Methods //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields private ArrayList _list; #endregion Private Fields } #endregion WindowCollection class } // 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
- __Error.cs
- PtsHost.cs
- SqlWebEventProvider.cs
- ImagingCache.cs
- SchemaMapping.cs
- SpecialNameAttribute.cs
- XmlKeywords.cs
- ObjectParameter.cs
- SystemBrushes.cs
- HttpDebugHandler.cs
- QilTernary.cs
- DelegatingTypeDescriptionProvider.cs
- LocalizableAttribute.cs
- BitVec.cs
- RequiredFieldValidator.cs
- DependencyPropertyKind.cs
- WhitespaceRuleLookup.cs
- SchemaMapping.cs
- OraclePermission.cs
- PermissionRequestEvidence.cs
- StringResourceManager.cs
- _NegotiateClient.cs
- Pair.cs
- EntityDataSourceColumn.cs
- WindowsGraphics.cs
- FileInfo.cs
- IdleTimeoutMonitor.cs
- DataGridView.cs
- WorkflowExecutor.cs
- InstanceView.cs
- EventToken.cs
- XmlSchemaImporter.cs
- PointValueSerializer.cs
- MultipartContentParser.cs
- Stylesheet.cs
- EntityContainerAssociationSetEnd.cs
- SiteMapNodeItem.cs
- GeneralTransform3DGroup.cs
- ContractMapping.cs
- CommandHelpers.cs
- MarkupCompilePass1.cs
- XNodeNavigator.cs
- SqlProcedureAttribute.cs
- Itemizer.cs
- OptimalBreakSession.cs
- ComponentEditorForm.cs
- InfoCardRSACryptoProvider.cs
- IPipelineRuntime.cs
- SafeBitVector32.cs
- FileDialogCustomPlacesCollection.cs
- PolicyValidationException.cs
- SqlMethodTransformer.cs
- EntityViewGenerator.cs
- CompilationUnit.cs
- RecipientInfo.cs
- GroupItem.cs
- ObjectDataSourceSelectingEventArgs.cs
- FontCollection.cs
- DateTimeOffset.cs
- DataViewManager.cs
- NotifyParentPropertyAttribute.cs
- TextSearch.cs
- XmlC14NWriter.cs
- QuaternionRotation3D.cs
- VectorKeyFrameCollection.cs
- HttpRuntimeSection.cs
- Section.cs
- ManagementEventArgs.cs
- XpsTokenContext.cs
- ObservableDictionary.cs
- UnsettableComboBox.cs
- DbConnectionPoolGroupProviderInfo.cs
- ProfileInfo.cs
- DelayDesigner.cs
- Expander.cs
- TreeWalkHelper.cs
- AsymmetricKeyExchangeFormatter.cs
- InitializerFacet.cs
- CompoundFileStreamReference.cs
- FigureParaClient.cs
- VersionPair.cs
- EncryptedXml.cs
- TransactionChannelFactory.cs
- EntityStoreSchemaFilterEntry.cs
- ADMembershipProvider.cs
- LongTypeConverter.cs
- Int32Animation.cs
- BuilderElements.cs
- ThreadSafeList.cs
- StrokeDescriptor.cs
- InputScope.cs
- XamlParser.cs
- ToolBarTray.cs
- EraserBehavior.cs
- HybridDictionary.cs
- EpmContentDeSerializer.cs
- PathTooLongException.cs
- MenuBindingsEditor.cs
- DetailsViewInsertEventArgs.cs
- InstancePersistenceEvent.cs