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
- InputScope.cs
- HtmlControlDesigner.cs
- Timer.cs
- TextRange.cs
- MulticastOption.cs
- RC2.cs
- UnknownBitmapEncoder.cs
- XmlSchemaSequence.cs
- UnauthorizedWebPart.cs
- EventWaitHandle.cs
- DesignBindingEditor.cs
- PropertiesTab.cs
- XMLDiffLoader.cs
- InputLangChangeRequestEvent.cs
- RoleService.cs
- WebPartZoneBase.cs
- XmlAttributeOverrides.cs
- Ticks.cs
- SafeSecurityHandles.cs
- WebPartDisplayModeCollection.cs
- DataServiceQueryOfT.cs
- OpCellTreeNode.cs
- SvcMapFileLoader.cs
- SafeViewOfFileHandle.cs
- BufferModesCollection.cs
- DispatcherOperation.cs
- PageThemeBuildProvider.cs
- WebBrowserNavigatedEventHandler.cs
- DropDownList.cs
- DescendantOverDescendantQuery.cs
- LazyTextWriterCreator.cs
- PersonalizationState.cs
- TextTrailingWordEllipsis.cs
- ModelTreeManager.cs
- Calendar.cs
- TextEffect.cs
- XmlSerializerVersionAttribute.cs
- WebSysDefaultValueAttribute.cs
- objectquery_tresulttype.cs
- DbProviderFactory.cs
- WebPartEditorCancelVerb.cs
- FlagPanel.cs
- TdsRecordBufferSetter.cs
- EdmItemCollection.OcAssemblyCache.cs
- ApplicationInfo.cs
- Polyline.cs
- LogAppendAsyncResult.cs
- HtmlCommandAdapter.cs
- SqlError.cs
- FrameworkContextData.cs
- SiteMapProvider.cs
- AvtEvent.cs
- AsyncOperationContext.cs
- PageHandlerFactory.cs
- NegatedCellConstant.cs
- MemberExpression.cs
- Bitmap.cs
- TabPanel.cs
- AssemblySettingAttributes.cs
- CodeMemberProperty.cs
- LOSFormatter.cs
- SamlAttributeStatement.cs
- SmiContextFactory.cs
- StreamGeometry.cs
- WebPartVerbCollection.cs
- shaper.cs
- CombinedHttpChannel.cs
- StaticTextPointer.cs
- CodeDirectoryCompiler.cs
- Int64AnimationUsingKeyFrames.cs
- DataSourceView.cs
- XmlQualifiedName.cs
- MemoryFailPoint.cs
- ExpandCollapseProviderWrapper.cs
- NativeMethods.cs
- TypeSystem.cs
- DataServiceQueryContinuation.cs
- CalendarDesigner.cs
- SafeEventLogWriteHandle.cs
- PermissionListSet.cs
- DynamicPropertyHolder.cs
- SizeFConverter.cs
- BitmapEffect.cs
- Binding.cs
- DisableDpiAwarenessAttribute.cs
- OdbcUtils.cs
- Graphics.cs
- ScriptControlManager.cs
- DbConnectionPool.cs
- ToolStripRendererSwitcher.cs
- WindowsGraphics2.cs
- DiscoveryInnerClientAdhocCD1.cs
- MetadataArtifactLoaderCompositeResource.cs
- ReadOnlyDictionary.cs
- DiagnosticTrace.cs
- FlowLayoutSettings.cs
- ConfigurationFileMap.cs
- DataGridColumnCollectionEditor.cs
- ObjectDisposedException.cs
- ExecutorLocksHeldException.cs