| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /*************************************************************************************
- Extended WPF Toolkit
- Copyright (C) 2007-2013 Xceed Software Inc.
- This program is provided to you under the terms of the Microsoft Public
- License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license
- For more features, controls, and fast professional support,
- pick up the Plus Edition at http://xceed.com/wpf_toolkit
- Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids
- ***********************************************************************************/
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Xceed.Wpf.AvalonDock.Controls
- {
- class ReentrantFlag
- {
- public class _ReentrantFlagHandler : IDisposable
- {
- ReentrantFlag _owner;
- public _ReentrantFlagHandler(ReentrantFlag owner)
- {
- _owner = owner;
- _owner._flag = true;
- }
- public void Dispose()
- {
- _owner._flag = false;
- }
- }
- bool _flag = false;
- public _ReentrantFlagHandler Enter()
- {
- if (_flag)
- throw new InvalidOperationException();
- return new _ReentrantFlagHandler(this);
- }
- public bool CanEnter
- {
- get { return !_flag; }
- }
- }
- }
|