Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- OdbcReferenceCollection.cs
- ItemAutomationPeer.cs
- PatternMatcher.cs
- JsonReaderDelegator.cs
- ISO2022Encoding.cs
- TextDecoration.cs
- FixedHighlight.cs
- UniqueIdentifierService.cs
- CheckPair.cs
- MDIWindowDialog.cs
- ExpressionQuoter.cs
- WindowsRebar.cs
- BitmapSizeOptions.cs
- SessionParameter.cs
- ClientRolePrincipal.cs
- SequenceQuery.cs
- SafeSystemMetrics.cs
- Pool.cs
- DockAndAnchorLayout.cs
- DockEditor.cs
- DSASignatureFormatter.cs
- InlineCollection.cs
- EntityCommand.cs
- NativeMethods.cs
- HttpCapabilitiesEvaluator.cs
- AnnotationResourceChangedEventArgs.cs
- WebPartDescription.cs
- InvariantComparer.cs
- TriggerActionCollection.cs
- HtmlListAdapter.cs
- CodeArrayCreateExpression.cs
- XamlPoint3DCollectionSerializer.cs
- TypeSource.cs
- MetadataArtifactLoaderFile.cs
- DBDataPermissionAttribute.cs
- ContourSegment.cs
- MulticastIPAddressInformationCollection.cs
- WorkflowRuntimeService.cs
- MethodCallConverter.cs
- XmlSchemaAttributeGroupRef.cs
- CommonXSendMessage.cs
- DoubleStorage.cs
- ScrollEvent.cs
- ReferenceEqualityComparer.cs
- GcSettings.cs
- InitializerFacet.cs
- ExpressionsCollectionConverter.cs
- BufferManager.cs
- Int64Storage.cs
- DeviceContext2.cs
- QilVisitor.cs
- SqlDataSourceEnumerator.cs
- XPathBinder.cs
- AdornerHitTestResult.cs
- AmbientProperties.cs
- DataViewSettingCollection.cs
- NumberAction.cs
- Sql8ExpressionRewriter.cs
- NewArrayExpression.cs
- SoapWriter.cs
- ListCollectionView.cs
- ObfuscateAssemblyAttribute.cs
- ToolStripMenuItem.cs
- CreateParams.cs
- BamlStream.cs
- ScalarOps.cs
- HttpWriter.cs
- UpdateCompiler.cs
- FloaterParagraph.cs
- CollectionView.cs
- DataSourceControlBuilder.cs
- ModulesEntry.cs
- FixedSOMTable.cs
- DataControlPagerLinkButton.cs
- NativeBuffer.cs
- OptimizedTemplateContentHelper.cs
- SerializationException.cs
- AccessibleObject.cs
- UIElement3D.cs
- SymbolPair.cs
- configsystem.cs
- MachineKeySection.cs
- CngAlgorithm.cs
- DateTimeSerializationSection.cs
- StyleSelector.cs
- Action.cs
- PointHitTestResult.cs
- SqlDelegatedTransaction.cs
- ObjectDataSourceDisposingEventArgs.cs
- TextBlock.cs
- CardSpacePolicyElement.cs
- RuleSetCollection.cs
- SendKeys.cs
- IriParsingElement.cs
- CallContext.cs
- XPathMultyIterator.cs
- ImageSource.cs
- OracleDataReader.cs
- DataServiceRequest.cs
- UpdateTranslator.cs